Nov 19, 2016 Sofia var title = “IoT, Computer Intelligence and JavaScript in the Physical World”; var info = { name: “Ivelin Andreev”, otherOptional: “…” };
Nov 19, 2016 About me • Project Manager @ o 14 years professional experience o .NET Web Development MCPD • External Expert Horizon 2020 • External Expert Eurostars • Business Interests o Web Development, SOA, Integration o Security & Performance Optimization o IoT, Computer Intelligence • Contact o ivelin.andreev@icb.bg o www.linkedin.com/in/ivelin o www.slideshare.net/ivoandreev
agenda(); Nov 19, 2016 • What IoT IS and IS NOT? • Computer Intelligence • Azure Cognitive Services • Demo • Tessel v2 “Thing” • Node.js for “Things” • “Thing” in Action
Nov 19, 2016 What is (NOT) IoT • A $1.5 trillion market by 2020 “… A network of networks of uniquely identifiable endpoints (‘things’) that communicate locally or globally using IP connectivity without human interaction …” International Data Corporation (IDC) • A “Thing”? o IP is not enough o Does not require human interaction o Often w/o display o Machine makes a decision rather than human
Nov 19, 2016 Collect – Communicate – Analyse – Act
Nov 19, 2016 IoT would not work w/o AI • How to make IoT? • More sensors = Seas of data • Just data has no value AI provides tools to go beyond trivial real-time IoT use cases AI Engines are: • Sophisticated • Time consuming • Expensive How to make IoT work?
Nov 19, 2016 Microsoft Cognitive Services • Give your applications a human side o Intelligent APIs and SDKs o On top of Microsoft Machine Learning API • Initially “Project Oxford” o Announced on “Build 2015” • Pricing o All APIs have free plans available • Samples & Documentation o https://www.microsoft.com/cognitive-services/en-us/apis
Nov 19, 2016 Vision API Allows computers to understand images and video • Computer Vision • Emotion • Face o Recognize faces and emotions o Group faces that are alike o Verify two faces are the same o Computer vision
Nov 19, 2016 Cognitive Services (Highlights) • Speech o Convert Audio (Mic, File) <-> Text (28 languages) o Speaker Verification & Identification • Language o Language Understanding (Intent) o Sentiment Analysis o Topic detection • Knowledge o Entity Linking o Recommendations – Frequently bought together, Item to Item recommendations
Nov 19, 2016 DEMO • Microsoft Cognitive Services https://www.microsoft.com/cognitive-services/en-us/apis
Nov 19, 2016 IoT Challenges? • Non-proprietary technologies • Keep costs reasonable • CPU revolution • Network revolution • Battery revolution ?
Nov 19, 2016 IoT from Cloud to Fog • Cloud Computing o Complex services accessible over the web o Rent resources (storage, power, processes) o Minimal management effort • Cloud computing issues? • Fog Computing o Lower cost of HW o Cloud services moved to the ground • Fogging advantages o Lower latency o Better QoS and UX o Improved security • Smart Gateways
Nov 19, 2016 Hardware built for the web
Nov 19, 2016 • By Technical Machine (2013) • Crowd funded at Dragon Innovation platform It is… • 2nd gen Internet connected microcontroller • Programmable in JavaScript • compatible • WiFi programmable • Open source HW and SW
Nov 19, 2016 Tessel 2 at a glance 2 Tessel Module/Sensor Ports 2 USB Ports (Audio, Camera, 3G) 802.11 bgn WiFi (300Mbps, programmable) 10/100 Ethernet port 580MHz Mediatek CPU 48MHz ARM co-proc. (realtime I/O) 64MB DDR2 & 32 MB Flash Micro USB (power, tethered programming) • Lightweight OS o OpenWRT Linux • Engine o IO.js (V8 Node.js 4 fork)
Nov 19, 2016 Plug & play modules • Literally Plug - NPM Install - Play
Nov 19, 2016 Competitors Raspberry PI 3 Tessel 2 Cost $38 ($5 PI Zero on black market- $25) $45 Dealership Local International Shipping WiFi Built-in Supported languages C/C++, Java, Ruby, Python, Perl, C# (Mono), JS (Node.js) JS, Rust, Python CPU 1.2Ghz Quad 580Mhz Secondary GPU Co-processor Apps • PI Store (Not anymore) • https://www.hackster.io/raspberry-pi https://tessel.hackster.io/ Setup Raspbian Linux OS + apt-get No setup Power consumption 2.5A supply, 1.2-3.8W, Gets warm 0.85W Software deployment Wi-Fi USB and Wi-Fi Storage SD card slot 32MB Built-in + SD card module Built-in
Nov 19, 2016 Production or just Playing? • Costs add up in scale o Element14(PI), Seeed Studio (Tessel) allow mass production customizations • Availability and quantity • Support and maintenance • Reliability & Security o SD card (PI) – system may not boot, card can be replaced o What is the worst thing to happen if controller stops? o Heat, moisture, dust, vibration, power loss… • Programmable logic controller (PLC) o Designed for rougher environments o Have 2-5x longer lifespan o Tight tolerance on performance o Non-popular programming languages
Nov 19, 2016 JavaScript for IoT • Widely used o Strong community and ecosystem o Standardized (ECMAScript 5, 6, 7) • High-level language o More productive • Suited to embedded devices o Asynchronous function calls and I/O o Event-driven • High performance engines o Chrome V8 is nearly as fast as C++ o The fastest “high-level” language available • Platforms available o Johnny-Five Robotics & IoT Platform o CyclonJS
Nov 19, 2016 JavaScript is not the same Node.js JavaScript • Designed for server-side o No GUI by default • Async and event-driven • Variety of protocols (n/o HTTP) • No built-in sandbox • Focus on functionality • Automatic download-install • Community driven modules HTML JavaScript • Designed for client-side o Generate and control UI • Control browser (window) • HTTP (+ HTML5 WebSocket) • Sandboxed • Focus on security • Manual download • Limited HW support o Browser specific (GPS, webcam)
Nov 19, 2016 Node.js for IoT • Strong ecosystem and package management o 320’000+ packages, Growth 400+/day, npm package manager o 48% of IoT developers use Node.js • Programming model suites from embedded to servers o Event-driven model, Asynch functions o Support for C/C++ libraries (SWIG, node-ffi) • Completeness of Node.js o End-to-End solution (client-server) • Supported HW o Tessel 2, Raspberry PI, Intel Edison, Intel Galileo • Good documentation (Does not apply to modules) o https://nodejs.org/api/
Nov 19, 2016 The right tools, the right time! Video URL: https://www.facebook.com/leopard.not.a/videos/10153985089504545/
Nov 19, 2016 IO.js • Node.js problems o Lack of active contributors o Lack of releases • IO.js is a Node.js fork (2014) o JavaScript platform built on Google V8 engine o Started by Node.js primary contributors o Open source o Compatible with most npm modules o More active developers than Node.js o Indefinitely backward compatible • Merged to Node.js again 
Nov 19, 2016 Tessel in Action (Demo) • require('tessel') • require('tessel-av') o https://github.com/tessel/tessel-av • require('servo-pca9685') o https://github.com/tessel/servo-pca9685 • require('http'); require('https') o https://nodejs.org/api/http.html, https://nodejs.org/api/https.html • require('request‘) o https://github.com/request/request • require('os') o https://nodejs.org/api/os.html
Nov 19, 2016 Making it work • Install Node.js (v4.4.3 LTS or later) https://tessel.github.io/t2-start/ • Install Tessel CLI • Plugin Tessel to USB & Boot (30s) • Verify Tessel connection • Connect to WiFi • Run npm install -g t2-cli t2 list t2 wifi –n NetworkName –p password t2 init … edit index.js … t2 run index.js
Nov 19, 2016 Developers need to Know! • Pricing o Board: $44.45 (was $35 on preorder) o 10-pin Modules: $25-50 + common USB modules • Tessel Community and Projects o https://tessel.hackster.io/, https://tessel.io/community • Tessel Support o https://forums.tessel.io/ • JavaScript IoT Projects and Platforms o http://www.postscapes.com/javascript-and-the-internet-of-things/ o J5 Robotics & IoT Platform (http://johnny-five.io/examples/) o CyclonJS (https://cylonjs.com/documentation/platforms/)
Nov 19, 2016 Thanks to our Sponsors: General Sponsor: Gold Sponsors: Media Partners: Technological Partners: Hosting Partner:

IoT, computer intelligence and javascript in the physical world

  • 1.
    Nov 19, 2016 Sofia vartitle = “IoT, Computer Intelligence and JavaScript in the Physical World”; var info = { name: “Ivelin Andreev”, otherOptional: “…” };
  • 2.
    Nov 19, 2016 Aboutme • Project Manager @ o 14 years professional experience o .NET Web Development MCPD • External Expert Horizon 2020 • External Expert Eurostars • Business Interests o Web Development, SOA, Integration o Security & Performance Optimization o IoT, Computer Intelligence • Contact o ivelin.andreev@icb.bg o www.linkedin.com/in/ivelin o www.slideshare.net/ivoandreev
  • 3.
    agenda(); Nov 19, 2016 •What IoT IS and IS NOT? • Computer Intelligence • Azure Cognitive Services • Demo • Tessel v2 “Thing” • Node.js for “Things” • “Thing” in Action
  • 4.
    Nov 19, 2016 Whatis (NOT) IoT • A $1.5 trillion market by 2020 “… A network of networks of uniquely identifiable endpoints (‘things’) that communicate locally or globally using IP connectivity without human interaction …” International Data Corporation (IDC) • A “Thing”? o IP is not enough o Does not require human interaction o Often w/o display o Machine makes a decision rather than human
  • 5.
    Nov 19, 2016 Collect– Communicate – Analyse – Act
  • 6.
    Nov 19, 2016 IoTwould not work w/o AI • How to make IoT? • More sensors = Seas of data • Just data has no value AI provides tools to go beyond trivial real-time IoT use cases AI Engines are: • Sophisticated • Time consuming • Expensive How to make IoT work?
  • 7.
    Nov 19, 2016 MicrosoftCognitive Services • Give your applications a human side o Intelligent APIs and SDKs o On top of Microsoft Machine Learning API • Initially “Project Oxford” o Announced on “Build 2015” • Pricing o All APIs have free plans available • Samples & Documentation o https://www.microsoft.com/cognitive-services/en-us/apis
  • 8.
    Nov 19, 2016 VisionAPI Allows computers to understand images and video • Computer Vision • Emotion • Face o Recognize faces and emotions o Group faces that are alike o Verify two faces are the same o Computer vision
  • 9.
    Nov 19, 2016 CognitiveServices (Highlights) • Speech o Convert Audio (Mic, File) <-> Text (28 languages) o Speaker Verification & Identification • Language o Language Understanding (Intent) o Sentiment Analysis o Topic detection • Knowledge o Entity Linking o Recommendations – Frequently bought together, Item to Item recommendations
  • 10.
    Nov 19, 2016 DEMO •Microsoft Cognitive Services https://www.microsoft.com/cognitive-services/en-us/apis
  • 11.
    Nov 19, 2016 IoTChallenges? • Non-proprietary technologies • Keep costs reasonable • CPU revolution • Network revolution • Battery revolution ?
  • 12.
    Nov 19, 2016 IoTfrom Cloud to Fog • Cloud Computing o Complex services accessible over the web o Rent resources (storage, power, processes) o Minimal management effort • Cloud computing issues? • Fog Computing o Lower cost of HW o Cloud services moved to the ground • Fogging advantages o Lower latency o Better QoS and UX o Improved security • Smart Gateways
  • 13.
    Nov 19, 2016 Hardwarebuilt for the web
  • 14.
    Nov 19, 2016 •By Technical Machine (2013) • Crowd funded at Dragon Innovation platform It is… • 2nd gen Internet connected microcontroller • Programmable in JavaScript • compatible • WiFi programmable • Open source HW and SW
  • 15.
    Nov 19, 2016 Tessel2 at a glance 2 Tessel Module/Sensor Ports 2 USB Ports (Audio, Camera, 3G) 802.11 bgn WiFi (300Mbps, programmable) 10/100 Ethernet port 580MHz Mediatek CPU 48MHz ARM co-proc. (realtime I/O) 64MB DDR2 & 32 MB Flash Micro USB (power, tethered programming) • Lightweight OS o OpenWRT Linux • Engine o IO.js (V8 Node.js 4 fork)
  • 16.
    Nov 19, 2016 Plug& play modules • Literally Plug - NPM Install - Play
  • 17.
    Nov 19, 2016 Competitors RaspberryPI 3 Tessel 2 Cost $38 ($5 PI Zero on black market- $25) $45 Dealership Local International Shipping WiFi Built-in Supported languages C/C++, Java, Ruby, Python, Perl, C# (Mono), JS (Node.js) JS, Rust, Python CPU 1.2Ghz Quad 580Mhz Secondary GPU Co-processor Apps • PI Store (Not anymore) • https://www.hackster.io/raspberry-pi https://tessel.hackster.io/ Setup Raspbian Linux OS + apt-get No setup Power consumption 2.5A supply, 1.2-3.8W, Gets warm 0.85W Software deployment Wi-Fi USB and Wi-Fi Storage SD card slot 32MB Built-in + SD card module Built-in
  • 18.
    Nov 19, 2016 Productionor just Playing? • Costs add up in scale o Element14(PI), Seeed Studio (Tessel) allow mass production customizations • Availability and quantity • Support and maintenance • Reliability & Security o SD card (PI) – system may not boot, card can be replaced o What is the worst thing to happen if controller stops? o Heat, moisture, dust, vibration, power loss… • Programmable logic controller (PLC) o Designed for rougher environments o Have 2-5x longer lifespan o Tight tolerance on performance o Non-popular programming languages
  • 19.
    Nov 19, 2016 JavaScriptfor IoT • Widely used o Strong community and ecosystem o Standardized (ECMAScript 5, 6, 7) • High-level language o More productive • Suited to embedded devices o Asynchronous function calls and I/O o Event-driven • High performance engines o Chrome V8 is nearly as fast as C++ o The fastest “high-level” language available • Platforms available o Johnny-Five Robotics & IoT Platform o CyclonJS
  • 20.
    Nov 19, 2016 JavaScriptis not the same Node.js JavaScript • Designed for server-side o No GUI by default • Async and event-driven • Variety of protocols (n/o HTTP) • No built-in sandbox • Focus on functionality • Automatic download-install • Community driven modules HTML JavaScript • Designed for client-side o Generate and control UI • Control browser (window) • HTTP (+ HTML5 WebSocket) • Sandboxed • Focus on security • Manual download • Limited HW support o Browser specific (GPS, webcam)
  • 21.
    Nov 19, 2016 Node.jsfor IoT • Strong ecosystem and package management o 320’000+ packages, Growth 400+/day, npm package manager o 48% of IoT developers use Node.js • Programming model suites from embedded to servers o Event-driven model, Asynch functions o Support for C/C++ libraries (SWIG, node-ffi) • Completeness of Node.js o End-to-End solution (client-server) • Supported HW o Tessel 2, Raspberry PI, Intel Edison, Intel Galileo • Good documentation (Does not apply to modules) o https://nodejs.org/api/
  • 22.
    Nov 19, 2016 Theright tools, the right time! Video URL: https://www.facebook.com/leopard.not.a/videos/10153985089504545/
  • 23.
    Nov 19, 2016 IO.js •Node.js problems o Lack of active contributors o Lack of releases • IO.js is a Node.js fork (2014) o JavaScript platform built on Google V8 engine o Started by Node.js primary contributors o Open source o Compatible with most npm modules o More active developers than Node.js o Indefinitely backward compatible • Merged to Node.js again 
  • 24.
    Nov 19, 2016 Tesselin Action (Demo) • require('tessel') • require('tessel-av') o https://github.com/tessel/tessel-av • require('servo-pca9685') o https://github.com/tessel/servo-pca9685 • require('http'); require('https') o https://nodejs.org/api/http.html, https://nodejs.org/api/https.html • require('request‘) o https://github.com/request/request • require('os') o https://nodejs.org/api/os.html
  • 25.
    Nov 19, 2016 Makingit work • Install Node.js (v4.4.3 LTS or later) https://tessel.github.io/t2-start/ • Install Tessel CLI • Plugin Tessel to USB & Boot (30s) • Verify Tessel connection • Connect to WiFi • Run npm install -g t2-cli t2 list t2 wifi –n NetworkName –p password t2 init … edit index.js … t2 run index.js
  • 26.
    Nov 19, 2016 Developersneed to Know! • Pricing o Board: $44.45 (was $35 on preorder) o 10-pin Modules: $25-50 + common USB modules • Tessel Community and Projects o https://tessel.hackster.io/, https://tessel.io/community • Tessel Support o https://forums.tessel.io/ • JavaScript IoT Projects and Platforms o http://www.postscapes.com/javascript-and-the-internet-of-things/ o J5 Robotics & IoT Platform (http://johnny-five.io/examples/) o CyclonJS (https://cylonjs.com/documentation/platforms/)
  • 27.
    Nov 19, 2016 Thanksto our Sponsors: General Sponsor: Gold Sponsors: Media Partners: Technological Partners: Hosting Partner: