Date post: | 13-Apr-2017 |
Category: |
Software |
Upload: | ivo-andreev |
View: | 16,584 times |
Download: | 0 times |
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
• Contacto [email protected]
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 sideo Intelligent APIs and SDKs
o On top of Microsoft Machine Learning API
• Initially “Project Oxford”o Announced on “Build 2015”
• Pricingo All APIs have free plans available
• Samples & Documentationo https://www.microsoft.com/cognitive-services/en-us/apis
Nov 19, 2016
Vision API
Allows computers to understand images and video
• Computer Vision
• Emotion
• Faceo 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)
• Speecho Convert Audio (Mic, File) <-> Text (28 languages)
o Speaker Verification & Identification
• Languageo Language Understanding (Intent)
o Sentiment Analysis
o Topic detection
• Knowledgeo 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 Computingo Complex services accessible over the web
o Rent resources (storage, power, processes)
o Minimal management effort
• Cloud computing issues?
• Fog Computingo Lower cost of HW
o Cloud services moved to the ground
• Fogging advantageso 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 OSo OpenWRT Linux
• Engineo 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 scaleo Element14(PI), Seeed Studio (Tessel) allow mass production customizations
• Availability and quantity
• Support and maintenance
• Reliability & Securityo 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 usedo Strong community and ecosystem
o Standardized (ECMAScript 5, 6, 7)
• High-level languageo More productive
• Suited to embedded deviceso Asynchronous function calls and I/O
o Event-driven
• High performance engineso Chrome V8 is nearly as fast as C++
o The fastest “high-level” language available
• Platforms availableo Johnny-Five Robotics & IoT Platform
o CyclonJS
Nov 19, 2016
JavaScript is not the same
Node.js JavaScript
• Designed for server-sideo 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-sideo Generate and control UI
• Control browser (window)
• HTTP (+ HTML5 WebSocket)
• Sandboxed
• Focus on security
• Manual download
• Limited HW supporto Browser specific (GPS, webcam)
Nov 19, 2016
Node.js for IoT
• Strong ecosystem and package managemento 320’000+ packages, Growth 400+/day, npm package manager
o 48% of IoT developers use Node.js
• Programming model suites from embedded to serverso Event-driven model, Asynch functions
o Support for C/C++ libraries (SWIG, node-ffi)
• Completeness of Node.jso End-to-End solution (client-server)
• Supported HWo 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 problemso 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!
• Pricingo Board: $44.45 (was $35 on preorder)
o 10-pin Modules: $25-50 + common USB modules
• Tessel Community and Projectso https://tessel.hackster.io/, https://tessel.io/community
• Tessel Supporto https://forums.tessel.io/
• JavaScript IoT Projects and Platformso 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: