Upload
chuck-petras
View
1.204
Download
3
Tags:
Embed Size (px)
DESCRIPTION
A Presentation at the July 2014 IEEE Palouse section meeting by Christian Légaré VP & CTO at Micrium and VP at the IPSO Alliance. From the announcement: "The Internet of Things is being assembled from a galaxy of different embedded devices. These devices range from wireless sensor nodes, edge nodes, gateways, and more. Christian Légaré's talk will describe the differences between these devices, and outline the technology choices available to you today." Video at https://www.youtube.com/watch?v=Bf_-astmdWQ Meeting notice here: https://meetings.vtools.ieee.org/meeting_view/list_meeting/27089
Citation preview
Catching the IoT Wave
CONFIDENTIAL 2© 2014 Micrium, All Rights Reserved www.micrium.com
A Connected Device SystemMy Definition of IoT
CONFIDENTIAL 3© 2014 Micrium, All Rights Reserved www.micrium.com
The Connected Devices
Connected = Communication
stack
Application = Programming
language
Requirements = Hardware resources
CONFIDENTIAL 4© 2014 Micrium, All Rights Reserved www.micrium.com
Connectivity
Source: HarborResearch.com
Mission
About IPSO
• The IPSO Alliance serves as a resource center and thought leader for the various communities seeking to establish IP as the foundation for connecting objects, and addressing application needs to turn the objects into Smart Objects.
• The IPSO Alliance is a global collaborative forum, including many Fortune 500 high tech companies, each a leading player in their industry segment. The IPSO Alliance provides a foundation for industry growth by providing education, promoting the industry, generating research, and creating a better understanding of IP and its role in the Internet of Things.
Vision
“Building a Smarter World through the Internet of Things”TM
Connecting people, businesses and environments securely and efficiently
Goals• Promote IP• Invest in Innovation• Uphold Standards• Interoperability www.ipso-alliance.org
CONFIDENTIAL 6© 2014 Micrium, All Rights Reserved www.micrium.com
IEEE steps in to sort out Internet of Things confusion The IEEE standards association has authorized both IEEE P2413’s Project Authorization Request (PAR) and the inaugural meeting of the project’s WG, allowing development efforts to begin. The first meeting of the IEEE P2413 Working Group (WG) will take place July 10 – 11, 2014, in Munich, Germany.
http://www.embedded.com/electronics-news/4431506/IEEE-steps-in-to-sort-out-Internet-of-Things-confusion?_mc=NL_EMB_EDT_EMB_weekly_20140626&cid=NL_EMB_EDT_EMB_weekly_20140626&elq=ef78919dbe434d4f94edd1650b718147&elqCampaignId=17756
IEEE
CONFIDENTIAL 7© 2014 Micrium, All Rights Reserved www.micrium.com
IoT Systems
Even though this industry is very young, we are starting to see the emergence of two types of IoT systems.
Patrick Morehead makes an attempt at such a definition. He differentiates between Human IoT and Industrial IoT.
7
Source: Patrick Morehead, Forbes, “Who Wins In The Industrial Internet Of Things (IIoT)?”, October 29 2013
Attribute Industrial IoT Human IoT
Market Opportunity Brownfield (known environment) Greenfield (unchartered domain)
Product Lifecycle Until dead or obsolete Whims of style and/or budget
Solution Integration Heterogeneous APIs Vertically integrated
Security Access Identity & privacy
Interaction Autonomous Reactive
Availability 0.9999 to 0.99999 (4–5 ‘9’s) 0.99 to 0.999 (2–3 ‘9’s)
Access to Internet Intermittent to independent Persistent to interrupted
Response to Failure Resilient, fail-in-place Retry, replace
Network Topology Federations of peer-to-peer Constellations of peripherals
Physical Connectivity Legacy & purpose-built Evolving broadband & wireless
CONFIDENTIAL 8© 2014 Micrium, All Rights Reserved www.micrium.com
In addition to the table in the previous slide, to plan for the software and hardware requirements, the Thing design must take into consideration the environment:
The variables to measure or control (analog interface) The frequency at which these variables processing needs to be done
(processor performance) The transport technology of these variables value and variable control
(wired or wireless) Sensing, processing and networking software memory requirement The availability for a device firmware upgrade (DFU)
– Bootloader RAM and Flash requirement– DFU can be remote (networking capabilities required)
The Thing
CONFIDENTIAL 9© 2014 Micrium, All Rights Reserved www.micrium.com
What is a Thing?
Types of Things
Sensor/Actuator nodes– With Wireless or Wired communication– Real-world environmental parameters
Temperature, Pressure, Humidity, PH, speed, color…
Edge nodes in Wireless Sensor Networks (WSN) & Gateways– Interface between one networking technology and another one
For example: WSN to Internet
Consumer– TVs, smartphones, sound systems, PVRs, BluRay players…
Is the NEST thermostat Industrial IoT or Consumer IoT?
CONFIDENTIAL 10© 2014 Micrium, All Rights Reserved www.micrium.com
Local Networking Technologies
CONFIDENTIAL 11© 2014 Micrium, All Rights Reserved www.micrium.com
In a WSN node, the networking technology is usually a short-range access link. There are other IoT end devices that do not use a WSN but other types of networking technology.
Wired Ethernet, EtherCAT, EtherIP Modbus, Profinet DASH7 HART HomePlug, GreenPhy,
G.hnn (HomeGrid) And more…
Wireless Bluetooth Wi-Fi Zigbee, Zigbee IP and other 802.15.4 capable
protocols such as 6LoWPAN ANT, Z-Wave DASH7 ISA100: Wireless Systems for Industrial Automation,
Process Control and Related Applications Wireless HART EnOcean Wireless M-Bus And more…
Local Networking Technologies
CONFIDENTIAL 12© 2014 Micrium, All Rights Reserved www.micrium.com
IoT Device / WSN NodeTwo-Processor Solution
ProcessorSensor/Actuator
Processor Communication
HW - 8/16 bit processor
SW - Foreground/Background Application
HW - 32 bit processor
SW - Real-Time KernelLAN or WAN
CONFIDENTIAL 13© 2014 Micrium, All Rights Reserved www.micrium.com
IoT Device / Sensor NodeOne-Processor Solution
Processor Communication
HW- 32 bit processor SW - Real-Time Kernel Application
LAN or WAN
Sensor/Actuator
CONFIDENTIAL 14© 2014 Micrium, All Rights Reserved www.micrium.com
Coordinator/Router - 116 kB flash 7 kB RAMEnd Device - 99 kB flash 3.8 kB RAM
Memory RequirementsA Few Examples
6LoWPAN stacks range in code sizes of 50-100 kB typically. RAM size depends on the buffer approach used, but it is typically a few kB of RAM.
CONFIDENTIAL 15© 2014 Micrium, All Rights Reserved www.micrium.com
Processor Selection
Power vs Performance
• 8/16-bit processors are still very popular for sensor devices because of their low power consumption
• 32 bit devices are required to integrate networking capabilities
• MCUs with integrated wireless radio are making their appearance
• ARM is designing a compatible Cortex-M0 with close to threshold voltage of CMOS transistors, and at clock frequencies of the order of tens of kilohertz.
CONFIDENTIAL 16© 2014 Micrium, All Rights Reserved www.micrium.com
Typical sensor processor
Without any consideration to packaging and peripheral selection Part ROM RAM
Atmel AVR From ATtiny13 1 kB 64
To AT94S405AL 20-32 kB 4-16kB
Atmel 8051 From 89C1051 1K 64
To 89C55 20K 256
SiLabs 8051 From C8051T60x 1.5K 128
To C8051F96x 128kB 8 kB
maxim 8051 From DS89C430 16 kB 1 kB
To C8051F96x - kB 4 kB
Renesas RL78 From R5F100AAASP 16 kB 2 kB
To R5F101FLAFP 512 kB 32 kB
MSP43030 (16 bit) From MSP430F1101A 1 kB 128
To MSP430F6659 512 kB 66 kB
Microchip (12, 14 and 16 bit) From PIC10F200 384 16
To PIC18F87K90 128 kB 4 kB
PIC24 24 bit instructions, 16 bit address. PIC24EP512GU814 52 kB 512
CONFIDENTIAL 17© 2014 Micrium, All Rights Reserved www.micrium.com
Explosion in 32-bit MCU
12 billon installed internet embedded devices by 2020 50% growth in MCUs with 32-bit driving majority of revenue growth 32-Bit MCU market forecasted to grow to $19.2bn by 2017
MCU Hardware is No Longer a Differentiator
CONFIDENTIAL 18© 2014 Micrium, All Rights Reserved www.micrium.com
A sensor node can be written as a foreground/background (single thread/single loop) system
When networking is involve, the use of a real-time kernel is highly recommended– Best usage of the processor time– Better software architecture– Simplified development– Simplified maintenance
Code mainly written in C
Java is also an option, but not from Oracle– The Oracle JVM is too large for an IOT device
End NodeSoftware architecture
CONFIDENTIAL 19© 2014 Micrium, All Rights Reserved www.micrium.com
Low Power (or not) IoT Device / WSN NodeOne-Processor Solution
Bluetooth radio Low Power Wi-Fi
Se
ns
ors
Ac
tua
tors
Application
Real-Time Kernel
Power Management
Remote Device Firmware Upgrade
6LowPAN
Typical:Cortex M0/M0+Cortex M3/M4
Low Power IoT Device/ WSN Node Icon
Bluetooth
TCP/IP Ethernet / Wi-Fi
Ethernet LAN One or Multiple LAN
LAN protocol
CONFIDENTIAL 20© 2014 Micrium, All Rights Reserved www.micrium.com
Consumer IoT Device
Bluetooth Radio / Wi-Fi Radio
Application
Real-Time Kernel
Power Management
Remote Device Firmware Upgrade
Bluetooth
Typical:Cortex-M3/M4Cortex-A
Ethernet
TCP/IP Ethernet/Wi-Fi
Java Virtual Machine
HTTP Client
MQTT Client
CoAP Client
Se
ns
ors
Ac
tua
tors
Vertical Market-Specific Protocol
3G/4G radio
Vertical Market-Specific Protocol
AllSeenHomePlug/HomeGrid
Continua Alliance2net
Industrial Internet
One of the Possible Protocols
Optional
Consumer IoT Device Icon
One of the Possible Networks
CONFIDENTIAL 21© 2014 Micrium, All Rights Reserved www.micrium.com
WSN Edge Nodeor Gateway
LAN6LoWPAN Bluetooth Wi-Fi Ethernet and more…
Communication
HW32 bit processor
SWReal-Time Kernel
WANAccess to Internet Service Provider:
Wi-Fi Ethernet
Cellular
Processor Communication
CONFIDENTIAL 22© 2014 Micrium, All Rights Reserved www.micrium.com
With LAN and WAN present in an edge node/gateway, it is even mandatory to use of a real-time kernel– Best usage of the processor time– Better software architecture– Simplified development– Simplified maintenance
Code mainly written in C
Java is also an option– With a Cortex-A class processor, Oracle JVM is possible– With a Cortex-M class processor, the Oracle JVM is too large.
Another solution is required and exist.
Edge Node/GatewaySoftware architecture
CONFIDENTIAL 23© 2014 Micrium, All Rights Reserved www.micrium.com
There are around 450,000 embedded software engineers using C/C++ There are 9 million Java developers in the world ARM, Oracle and Freescale believe Java is the solution to the creation of an
IoT ecosystem
Java ME Memory footprint (approximate)
From: 350KB ROM, 130 KB RAM (for a minimal, customized configuration)
To: 2000 KB ROM, 700 KB RAM (for the full, standard configuration)
It is too large for the typical IoT device processor Java virtual machines for smaller processor exist, but not from Oracle
Java Usage in IoT
CONFIDENTIAL 24© 2014 Micrium, All Rights Reserved www.micrium.com
TCP/IP in anEmbedded System
Implementing TCP/IP
Understanding TCP/IP
OSI Seven-Layer Model
CONFIDENTIAL 25© 2014 Micrium, All Rights Reserved www.micrium.com
TCP/IP
Options IPv4 Only IPv6 Only IPv4 & IPv6
TCP Enabled 66.5 kB 75.4 kB 93.8 kB
TCP Disabled 44.4 kB 53.2 kB 70.0 kB
Configuration IPv4 Only IPv6 Only IPv4 & IPv6
Minimum 16.7 kB 17.8 kB 18.5 kB
Typical 42.0 kB 44.2 kB 45.5 kB
ROM
RAM
Fully RFC compliantInterrupt driven
CONFIDENTIAL 26© 2014 Micrium, All Rights Reserved www.micrium.com
TCP/IP
Typical Configuration
5 TCP connection1 UDP connection1 IPv4 Address2 IPv6 AddressNo LoopbackNo Debug feature
Typical Buffer configuration (good performance):
10 RX buffer6 Large TX buffer2 Small TX buffer
Minimum Configuration
1 TCP connection1 UDP connection1 IPv4 Address2 IPv6 AddressNo LoopbackNo Debug feature
Minimum Buffer configuration (low performance):
4 RX buffer1 Large TX buffer1 Small TX buffer
CONFIDENTIAL 27© 2014 Micrium, All Rights Reserved www.micrium.com
Wireless LAN
WLAN Selection Criteria
Protocol Efficiency Power Efficiency
– How long will my battery last? Peak Power Consumption Performance Range Robustness Throughput Latency Coexistence
CONFIDENTIAL 28© 2014 Micrium, All Rights Reserved www.micrium.com
There are multiple ways to use Wi-Fi: Wi-Fi station Wi-Fi Access Point (AP, needs a DHCP server) Wi-Fi Direct (WD, needs a DHCP server) Wi-Fi Protected Setup (WPS) Wi-Fi stack typical footprint is about 200 KB
for AP, STA and WD
Wi-Fi
Wi-Fi radio
SDIO/SPI/UART driver
Wi-Fi driver
Wi-Fi stack
Station
Wi-Fi API
AP WD WPS
Telnet, FTP, TFTP, HTTP, BOOTP, DHCP, SNMP
Socket API
TCP, UDP
IP, ARP, ICMP
Network Interface
CONFIDENTIAL 29© 2014 Micrium, All Rights Reserved www.micrium.com
Wi-Fi
Wi-FiRadio
On-Board
Wi-FiModule
Off-Board
Running the Wi-Fi on-board or off-board? On-board requires the manufacturer
to FCC certify the product Using an off-board radio module is
more expensive but is certified A similar approach is applicable to
Bluetooth and other wireless interfaces
or
Solution 1 – Low volume Run the TCP/IP stack and Wi-Fi stack off
board
Solution 2 – Med volume Run the TCP/IP stack on the host target and
the Wi-Fi supplicant on the Wi-Fi module
Solution 3 – High volume Run the TCP/IP stack and Wi-Fi stack on
the target board
CONFIDENTIAL 30© 2014 Micrium, All Rights Reserved www.micrium.com
Bluetooth Classic
Bluetooth radio
Baseband
Link Manager / Link Controller
Host Controller Interface
L2CAP
RFCOM BNEPAVDTPAVCTP
SDP Audio
OBEX
Application Programming Interface
Applications
SDAP GAP
Medical Group
HDP
SPP Group
FTP,SYNC, OPP,
PBAP, SPP, MAP
Telephony Group
HSP, HFP, SAP, DUN
PAN Group
PAN
Audio Video Group
A2DP, AVRCP,
VDP
MCAP
300 to 400 KB is an average footprint (influenced by the number of profiles included, and required feature set)
CONFIDENTIAL 31© 2014 Micrium, All Rights Reserved www.micrium.com
Bluetooth Smart (BTLE)
Physical LayerLink Manager
Host Controller InterfaceL2CAP
Applications
HTP/HTS, HRP/HRS, BLP/BLS, GLP/GLS
Healthcare
CPP/CPS, CSCP/CSCS, RSCP,RSCS,
LNP/LNS
TIP, ANP/ANS, CTS, IAS,
RTUS, NDCS
SNP, PASP/PASS,
FMP, PXP
BAS, HOGP, ScPP/SCPS,
DIS, HIDS, LLS, TPS
Direct Test Mode
Security Manager Protocol Attribute ProtocolGeneric Access Profile GATT (Generic Attribute Profile)
Fitness TimeAlert
ProximityAuxilary
Bluetooth SmartAround 200 KB is an average footprintDependent on feature set
CONFIDENTIAL 32© 2014 Micrium, All Rights Reserved www.micrium.com
Cellular WAN
The Internet
Cellular
Cloud
Web browsers
Data analysis
Mobile Devices
Cellular modem for the WAN
TCP/IP stack requires PPP to connect to the cellular modem (small code and RAM add-on)
Modem needs to be approved by the cellular carrier
Some possible modems:• Telit• Gemalto• Sirerra Wireless• …
CONFIDENTIAL 33© 2014 Micrium, All Rights Reserved www.micrium.com
Wireless LANCoexistence
Bluetooth LE and Wi-Fi spectrum usageEach channel is 2MHz wide with no wasted spectrum
Each channel is 2MHz wide with a wasteful 5MHz spacing. In the presence of Wi-Fi, only 4 channels are likely to be available.
Zigbee and Wi-Fi spectrum usage
Source : CSR application note CS-213199-AN
CONFIDENTIAL 34© 2014 Micrium, All Rights Reserved www.micrium.com
Wireless LANLow Power Wireless Technology Target Markets
Source : CSR application note CS-213199-AN
LegendLE (Bluetooth low energy), A (ANT), A+ (ANT+), RF (RF4CE), Zi (ZigBee), Wi (Wi-Fi), Ni (Nike+), Ir (IrDA), NF (NFC).
The long term forecast puts Bluetooth LE and WiFi as the predominant WLAN technologies
Expect 6LoWPAN to run on Bluetooth radios.
CONFIDENTIAL 35© 2014 Micrium, All Rights Reserved www.micrium.com
The Internet
CONFIDENTIAL 36© 2014 Micrium, All Rights Reserved www.micrium.com
HTTP RESTful CoAP MQTT Websockets XMPP STOMP And more…..
Internet Protocols
CONFIDENTIAL 37© 2014 Micrium, All Rights Reserved www.micrium.com
Internet Protocols
Protocol CoAP XMPP RESTful HTTP MQTTTransport UDP TCP TCP TCP
Messaging Request/ResponsePublish/Subscribe Request/Response
Request/ResponsePublish/Subscribe Request/Response
2G, 3G, 4G Suitability (1000s nodes)
Excellent Excellent Excellent Excellent
LLN Suitability (1000s nodes)
Excellent Fair Fair Fair
Compute Resources
10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash
Success StoriesUtility Field Area Networks
Remote management of consumer white goods
Smart Energy Profile 2 (premise energy management,home services)
Extending enterprise messaging into IoT applications
Beyond MQTT: A Cisco View on IoT Protocols, Paul Duffy, April 30 2013
CONFIDENTIAL 38© 2014 Micrium, All Rights Reserved www.micrium.com
Gateway / WSN Edge NodeB
lue
too
th R
ad
io /
Wi-
Fi
Ra
dio
Application
Real-Time Kernel
Power Management
Remote Device Firmware Upgrade
Bluetooth
Typical:Cortex-M3/M4Cortex-A
Eth
ern
et
/ W
i-F
i /
3G
-4G
TCP/IP
Java Virtual Machine
HTTP Client
MQTT Client
CoAP Client
6LowPAN
One of the possible protocolsVertical Market Specific Protocol
Vertical Market-Specific Protocol
• AllSeen• HomePlug/HomeGrid• Continua Alliance• 2net• Industrial Internet
Gateway / WSN Edge Node
CONFIDENTIAL 39© 2014 Micrium, All Rights Reserved www.micrium.com
The Cloud
CONFIDENTIAL 40© 2014 Micrium, All Rights Reserved www.micrium.com
WSNIndustrial IoT
Nodes
Gateway
Cloud Service
Web Browsers
Data Analysis
Cloud Service Capabilities• Mobile device applications• Web browsers views• Data analysis
The Internet
Mobile Devices
Main IoT Protocols• HTTP - RESTful• MQTT• CoAP
CONFIDENTIAL 41© 2014 Micrium, All Rights Reserved www.micrium.com
Consumer IoT…
Cloud Service
Web Browsers
Data Analysis
Cloud Service Capabilities• Mobile device applications• Web browsers views• Data analysis
The Internet
Mobile Devices
Wi-
Fi
Dir
ect
Ethernet /Wi-Fi
Main IoT Protocols• HTTP - RESTful• MQTT• CoAP
CONFIDENTIAL 42© 2014 Micrium, All Rights Reserved www.micrium.com
Cloud implementation
Implementation Phase
Project PlanningUse case definitionFirmware / Embedded DevelopmentNew Protocol Parser if requiredEnable Dev Kit for Hardware CompanyIncoming (site installation Beacons/Apps)IOT Demo (trade show, workshop)Integration project (connect various data stores using platform)Web App DashboardPortal with login, group devices by users, multiple dashboardsMobile application developmentAnalytics / Business IntelligenceSmart Digital Signage (installation)
CONFIDENTIAL 43© 2014 Micrium, All Rights Reserved www.micrium.com
Catch the IoT Wave
IoT is More Than the Thing