This document provides an overview of the Internet of Things (IoT). It discusses why IoT is important, what IoT is, and how to build IoT solutions. Key points include: IoT is expected to connect 20-50 billion devices by 2020; IoT takes advantage of technologies like sensors, networking, cloud computing and APIs; common IoT components include devices, networks, middleware platforms and the cloud; and popular protocols for IoT include MQTT, CoAP, Z-Wave and LoRa for networking, and TR-069, OMA-DM and OSGi for device management. The document also reviews open source and commercial IoT platforms and provides guidelines for designing IoT systems.
2. The Internet of Things (IoT) is
the network of physical objects or
"uniquely identifiable things"
embedded with software, sensors and connectivity
to enable it to
achieve greater value and service by
exchanging data
without human interaction.
3. Agenda
Why IoT?
What is IoT?
How to build IoT?
IoT (Internet of Things)
Sometimes called M2M (Machine-to-Machine)
26. Manufacturing Guidelines
At least IP65 enclosure (Dust, Water Proof)
Heavy Duty
Runs for years
Raspberry Pi, education to production?
CE and FCC certified
Own Device/MCU vs Off-the-shelf
30. Armadillo Tracker
Radar Technology (DC310 microwave
sensor)
Multi-lane bidirectional
Long range wireless connectivity
2+ Weeks Batteries
Solar Power
43. ZigBee Vs Z-Wave
Z-Wave only available from “Sigma
Designs”
ZigBee has many vendors
Z-wave range is greater than Zigbee
Z-wave has less interference
44. ZigBee Vs BLE
ZigBee
Home WLAN
Mesh topology covers unlimited # of nodes
Sense & Control apps
BLE
PAN
Star topology covers limited # of nodes
Body and Peripherals
47. LoRa
Long Range
2+ Miles Range In Dense Urban (NLOS)
Low Power (Multi-Year Battery)
One Gateway support 10(s)K Nodes
Works on Harsh Environments
Works with Raspberry PI, Arduino, ..
48. LoRa Alliance
IBM, Cisco, …
Developed LoRaWAN protocol
Efficient, Low TCO
No more mesh maintenance
Cover cities and countries with few base stations
Data Rate up to 300 kbps
57. Symphony WALoP
Cents/Month vs cellular Dollars/Month
Cover square miles
Star topology
One Gateway covers 250,000 device
AA like batteries for years
New company…
65. MQTT
Publish/Subscribe
Lightweight (than HTTP)
IBM says “MQTT can send messages wirelessly using
10 times less battery power and 93 times faster"
Best for:
Low Bandwidth
Unreliable Network
OASIS standard
Used by Libelium
72. OMA-DM
Open Mobile Alliance (OMA) - Device
Management (DM)
Designed for mobile devices, which have:
Small foot-print
Constraint on bandwidth
Tight security (vulnerable to software attacks)
73. OMA-DM Features
Provisioning
Configuration of the device (including first time use)
Enabling and disabling features
Device Configuration (change device settings &
parameters)
Software Upgrades
Fault Management (Report error, status)
Open Source implementations available
74. OMA Lightweight M2M
Simple, efficient protocol
Banking class security (DTLS, …)
Supports Cellular, 6LoWPAN, WiFi and
ZigBee IP or any other IP-based devices
Will be supported in OneM2M (standard)
Open Source Implementation
75. OSGi
An open standard service platform for Java
Enables dynamic component model (bundles)
Bundles can (remotely without a reboot) be:
installed/uninstalled
started/stopped
updated
76. OSGi
Other Features
Modularity application logic separated into modules
Deploy multiple versions of a module concurrently
Dynamically discover/use services of other modules
Run on low power hardware with 156 MHz and 8
MB RAM only
Many commercial/Open Source Implementations
77. Manual Approach
Update Device
SSH login/run script remote
Or Pull changes using git
Device monitoring
Send heartbeats to custom web
service
81. Sentilo
High performance message processing, scalable
Based on fast “Redis” In-Memory DB
RESTful API to manage sensors, publish/read sensor
observations, …
Alarm/Alert management for sensors, for ex:
temp > 20 C,
data frozen “idle for 5 minutes”
Send Orders to sensors
82. Sentilo
Admin console for managing sensors.
Security AAA
Reliability
Already used by Barcelona City
Code commented in Spanish!
Very Generic
83. Kura
iot.eclipse.org project
Store and forward telemetry data collected
by the gateway to remote servers.
Policy-driven publishing system
Abstracts developer from network
complexity
Default Messaging lib: Eclipse Paho (MQTT)
84. Kura
Cloud Services - API to communicate
with remote servers
OSGi Configuration Admin/Remote
Management
Watchdog Service (Force system reset
upon problem).
Web-based management for gateway
85. Node-RED
Developed by IBM
A tool for wiring hardware devices, APIs and online
services.
Browser-based flow editing
Lightweight runtime built on Node.js
120,000+ modules
Distributed Node-RED
86.
87. Commercial
Axeda
Acquired by PTC and replaced Thingworx
Thingworx
Acquired by PTC as well
PTC had 6 IoT awards in 2014
ProSyst
Acquired by Bosch few days ago !
89. Thingworx
Pricing
22 K+ Euro per year royalty only (15 K+
Euro per year for demo)
Powerful and productive mashup builder
Middleware support device management
and many protocols
91. ProSyst
Pricing
6K+ Euro for client, 15K+ Euro for server
Excels in device management
Built on standard OSGi
No Application Layer support
Support OMA-DM, TR-069, JMS, … protocols
MQTT is not supported yet
93. ARM mbed
ARM approach to IoT, they have built
their own Device OS and Device Server (middleware)
94. ARM mbed OS
Full-stack OS
ARM Cortex®-M MCUs
Energy Optimized
Connectivity:
Bluetooth, 6LoWPAN, Wi-Fi, Cellular
Free.
95. ARM mbed Device Server
Like a Web Server but for Devices
Standard Protocols (CoAP, MQTT, …)
10x bandwidth reduction
Scalable
Expose RESTful API to other web apps
Device Management (Lightweight M2M, …)
Tools: Web IDE, TLS
100. IBM IoT
An IoT platform
Part of IBM awesome cloud service
Bluemix
Supporting many languages, VMs,
Node-RED, …
Open/Affordable Prices with 30 days trial
Scalable
101. IBM IoT
Using Open Standards like MQTT
Extensible by other services like
Cloudant NoSQL DB
GeoSpatial Analytics
Twilio
…
108. IoT Guidelines
The IoT is Huge
Many challenges!
Many technologies/protocols
Design for Best Fit
Determine your hardest problem
Choose the primary protocol/tool to solve it
109. IoT Guidelines
Protocol/tool choice depends on
scenario
A complex system can use more
than one protocol/tool
Support standard IoT protocols
Use time series NoSQL is a must!