iot summit_2015 duncan mcdonald
TRANSCRIPT
Solid-Motion
Duncan McDonaldFounder Solid-Motion
3/6/2015
Architectural Approaches to Integrating Sensors in IOT
Solutions
2
Todays Discussion
• Standards Can Substantially Reduce Development Time and Cost for Mid-Market IoT Solutions
• Open source is best, but low cost or free “proprietary standards” are OK too
• Not considering high level messaging and communication protocols– DDS, JMS, MQTT, CoAP, XMPP, AMQP, REST, LwM2M,
etc.Solid-Motion IoT Summit 2015
Solid-Motion IoT Summit 2015 3
IoT ≠
Introduction
Remember, circa 2004 IoT was all about telemetry and control of manufactured goods and
distributed assets. IoT still evolving!
Solid-Motion IoT Summit 2015 4
One More Time: What is IoT?
• All objects have an IP address
• In the context of current IoT solutions, the direction is to have an internet device with at least one smart sensor
• Typical architecture is a microcontroller for the sensor interface and a microprocessor for data processing and the internet interface
Solid-Motion IoT Summit 2015 5
Three Cost Scenarios
*Everything else (mid-market)• Sensor/processor within one
order of magnitude• Automotive• Medical /Healthcare• Industrial• Scientific
Processor Cost
Sensor Cost
X Sensor cost << processor cost; consumer products
X Sensor cost >> processor cost; large system
X X X
X X
Sensor cost processor cost; everything else*
Cost breakdowns vary• Sensor cost• Processor cost (including
software)• Packaging cost (fixed)
Target for this discussion
6
Development Cost vs Manufacturing Cost
Lots of optimization and customization required for low cost manufacturing
Duncan’s LawDevelopm
ent Cost
Manufacturing Cost Manufacturing Volume
Developm
ent Cost
First Corollary Consumer
Large Systems
Everything else(mid-market)
Solid-Motion IoT Summit 2015
Solid-Motion IoT Summit 2015 7
Standards Reduce Development Cost
• Standards Can Substantially Reduce Development Time and Cost for Mid-Market Solutions
• Standards are important for consumer products, but more about the ecosystem than about development cost
Solid-Motion IoT Summit 2015 8
Typical HW Architecture
• Smart sensor– Sensor; could be detached sensor– Sensor memory
• Microcontroller– No operating system; “code on bare metal”
• Processor– Operating system– Radio– Cell phones, tablets, or laptops are good candidates
Microcontroller
Wired interface Wired or wirelessinterface
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
9
Data and LayersRough analogy to OSI model
I’ll use this model
Data
Data
Segments
Packets
Frames
Bits
Data
Presentation
Session
Transport
Network
Data Link
Physical
Application
OSI Model
Data Layer
Data structures
Messages
Data
Packets
Frames
Bits
Connector
Application
Communication
Solid-Motion IoT Summit 2015
Solid-Motion IoT Summit 2015 10
Microcontroller
Wired interface Wired or wirelessinterface
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
No connector standards!
Sensor Connectors
Packets
Frames
Bits
Connector
Solid-Motion IoT Summit 2015 11
Microcontroller
Wired interface Wired or wirelessinterface
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
• 1-Wire (proprietary)• SPI
Memory Connection
Frames
Bits
Connector
Data structuresIEEE standard 1451.4 (TEDS) available for high-level sensor interface• Template based• Or XML
Solid-Motion IoT Summit 2015 12
Microcontroller
Wired interface Wiredinterface
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
USB
USB Class
Microcontroller to Processor (M2P)Wired - USB
Data structures
Messages
Data
Packets
Frames
Bits
Solid-Motion IoT Summit 2015 13
USB & USB Classes
• Insanely wide platform support – no additional hw required
• If you can use a USB Class that has wide OS support, you won’t have to write a driver.
– HID, mass storage, image, audio, video, etc.
– Personal Healthcare not natively supported yet
• Big time/cost savings!
• No open source USB.org compliant software stack
Solid-Motion IoT Summit 2015 14
Microcontroller
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
Microcontroller to Processor (M2P)Wireless - Zigbee
Data structures
Messages
Data
Packets
Frames
Bits
Application
Zigbee Pro/IP (proprietary)
Zigbee/Xbee (proprietary)
IEEE 802.15.4
Zigbeereceiver
Wirelessinterface
Solid-Motion IoT Summit 2015 15
6LoWPAN
Data structures
Messages
Data
Packets
Frames
Bits
Application
IEEE 802.15.4
Microcontroller to Processor (M2P)Wireless – 6LoWPAN
IPv6
TCP/IPHas anyone implemented
6LoWPAN without using an OS?
Microcontroller
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
Wirelessinterface
Solid-Motion IoT Summit 2015 16
Microcontroller
Processor
Wirelessinterface
Internet
Sensor
Memory
Sensor
Memory
Data structures
Messages
Data
Packets
Frames
Bits
Application
Microcontroller to Processor (M2P)Wireless – BlueTooth Smart (BLE)
Wirelessinterface
Bluetooth Smart profiles
Blue Tooth Smart
Solid-Motion IoT Summit 2015 17
BlueTooth Smart
• Wide platform support – no additional hw required
• Wide OS support – no driver needed for basic BT• Big cost/time savings!• Not nearly as many profiles (classes) natively
supported as USB• BlueTooth health device profile (HDP) natively
supported on Android
Solid-Motion IoT Summit 2015 18
Summary
• Few issues up to the M2P link– No connector standards for detached sensors– Smart sensor memory description
• Templates very limited, no reference implementation• XML rarely used
• Have two very well supported M2P links for mid-market IoT USB (wired) BlueTooth Smart (wireless) (Zigbee/Xbee requires additional hw to support M2P link)
• Still have bottlenecks though– OS support of existing classes/device profiles limited– More classes/profiles needed
Solid-Motion IoT Summit 2015 19
The Goal is to support many IoT SolutionsA lot more Classes and Profiles are needed
• Environmental monitoring• Infrastructure management• Manufacturing• Energy management• Medical and healthcare systems• Building automation• Transportation
Solid-Motion IoT Summit 2015 20
Thank You!
Comments, questions, complaints, corrections
Solid-Motion IoT Summit 2015 22
USB Class Support in Win 7
USB-IF class code Device setup class
Windows 7 support
Audio Media
Communications and CDC Control
Modem
Net -
HID (Human Interface Device)
HIDClass
Physical - -
Image Image
Printer USB
Mass Storage USB
SCSIAdapter -
Hub USB
USB-IF class code Device setup class
Windows 7 support
CDC-Data - -
Smart Card SmartCardReader
Content Security - -
Video Image -
Personal Healthcare - -
Audio/Video Devices - -
Diagnostic Device - -
Wireless Bluetooth
Miscellaneous
Application Specific - -
Vendor Specific - -
Solid-Motion IoT Summit 2015 23
BLE Profile Support in AndroidProfile Android Support
A2DP Advanced Audio Distribution profile
EXTRA_PREVIOUS_STATE Extra for the connection state intents of the individual profiles
EXTRA_STATE Extra for the connection state intents of the individual profiles
GATT Generic Attribute Profile
HEADSET Headset and Handsfree profile
HEALTH Health Profile
List of Profiles supported by the standard is quite large