An Enterprise Developer's Journey to IoT
Burr Sutter
@burrsutterWeb, Mobile, IoT Hacker :-)
Before Software ate the World: We made Things!
Burr Sutter | @burrsutter
Burr Sutter | @burrsutter
My Developer Journey
Understanding what is Possible
Experimentation&
Prototyping
MakingFriends
Embedded &Electrical Engineers
Box &
Deploy
Custom PCBDesign
BOM & Sourcing
QuickPCB
Prototypes
Sunstone,OSHPark
MassProduction
Box &
Ship
LearningFPGA
Detect & Connect
Me
FieldGateway
Ingestion
Sensors
Actuators
Dashboards
Analytics
Workflow
Integration
High-level architectureDatacenter
WiFiBluetoothZigbee/Thread802.15.4
Burr Sutter | @burrsutter
Bluetooth + WiFi
3 Possible Edge Architectures
Burr Sutter | @burrsutter
802.15.4 +WiFi/Ethernet
Direct WiFi, Ethernet, Cell connectivity
History Lessons
ComputerWorld February 4, 1991
ComputerWorld January 8, 1990
Do remember you Novell's Netware IPX/SPX, Banyan Vines, IBM's SNA?...and then came TCP/IP...and the rest are history
Burr Sutter | @burrsutter
CompuServeProdigyAOLThen...World Wide Web
Lots of standards, groups, affiliations, consortium
Organizations/Consortium:● IPSO (www.ipso-alliance.org)● IIC (www.industrialinternetconsortium.org)● OIC (openinterconnect.org)● Thread Group (www.threadgroup.org)● Zigbee Alliance (www.zigbee.org)● AllSeen Alliance (allseenalliance.org)● IETF (www.ietf.org)● IEEE
● 802.11 (WiFi)● 802.15.1 Bluetooth● 802.15.4 – mesh networking● 6LoWPAN – IPv6 over 802.15.4● Thread – based on 6LoWPAN● ZigBee – based on 802.15.4● AllJoyn – based D-Bus protocol● IoTivity – layers on top of CoAP● MQTT – messaging● CoAP – RESTful● REST
Wildcards:● Apple Homekit● Google Works-with-Nest
Decisions, decisions...requirements
1) Product – unlike infinitely flexible software, hardware is harder to change, think like a Product manufacturer/owner
2) Business Drivers: lower costs, improved analytics, increased customer satisfaction, reduced errors...
3) B2C, B2B, B2E, M2M internal, M2M with business partner – context, stakeholders
4) Hypothesis - what do you wish to prove/understand? Sensors
5) Timeliness – what business value is derived by knowing something now vs 30 days later?
6) Describe the inbound dataflow/stream, attempt to quantify its frequency, size and nature. Do you want readings from a person's blood pressure every hour or the out-flow of a water pump every minute or video capture from a security camera every second?
7) Analytics: discovered, ingested, stored, visualized, etc
8) Actions: What would you do IF you could collect the data, in a timely fashion. Provide upper and lower boundaries on timeliness. Actuators, business processes, alerting, etc.
9) Distribution: how far flung will your Thing be. Connectivity – wired or wireless, distance, bandwidth, latencyEthernet, WiFi, Bluetooth, 802.15.4, Zigbee (Thread), 2.4 Ghz roll-your-own (nRF24L01)
10) Security: Both physical (someone opening the box, data a rest) and network (data transmission)
11) Environment: dust, vibration, humidity, water, cold, heat, pressure, etc.
12) Packaging: Related to environment, do you need an attractive rubberized casing for your customers (B2C)
13) Power – wired or battery – if battery, how long does it need to last, solar-recharging, etc
14) Maintenance – field deployment considerations, both initial and ongoing – cost of a “truck roll”
15) Device end-of-life planning
16) Application Connectivity to your enterprise architecture – MQTT, XMPP, REST, AMQP, DDS
Burr Sutter | @burrsutter
IoT Developer Hardware (from my perspective)
Microcontrollers: C, C++ Embeddable Linux: Python, Node.js, Java
Note: Images not scaled to relative sizing
Arduino Uno
Arduino Pro Mini (<$10) SparkFun
Lilypad(<$25)
AdaFruitGemma (<$8)
Spark.io WiFiCore ($39)Photon ($19)Electron (Kickstarter - Cell)
LightBlue BeanBLE - Bluetooth Smart ($30)
TI LaunchPadCC3200-LAUNCHXL($29)
mbedNXPLPC1768 ($59)
Arduino Teensy (<$20)
Connectivity Add-On
Arduino Pro Mini (<$10)
Includes Connectivity
Electric Imp($29) – SD card size
Intel Edison ($50)Includes: WiFi, BLE (Bluetooth Smart)
Yocto
Raspberry Pi 2 ($35)+ WiFi ($10)+ Bluetooth ($12)Raspbian, Pidora, Windows, etc
Onion OmegaIncludes: WiFi
OpenWRT LinuxAt Kickstarter
BeagleBone Black ($45)+ WiFi ($10)+ Bluetooth ($12)Debian, Angstrom Android, etc
MinnowBoardMax ($145)+ WiFi (?)+ Bluetooth (?)Angstrom, Android
Arduino Yun ($72)Includes: WiFi+ BLE ($12)OpenWRT-Yun
Burr Sutter | @burrsutter
Connectivity is still a challenge – like in the 90's
ComputerWorld – March 20 1995
Burr Sutter | @burrsutter
Now, when someone rings my doorbell, the current goes to a scannerthat digitizes the audio impulses and sends the image to the PC whereit's converted to a Pict file. The image is then animated, compressed, and sent via high-speed modem to an automated phone service that
sends an e-mail message back to tell me someone was at my door 40minutes ago.
New Skills
● Breadboarding● Soldering● Volts, Amps, Watts● Serial, I2C, UART, SPI, PWM● Resistor, Capacitor, Inductor, Diode, Transistor, Shift Register vs Voltage Divider● Sensors: Temp, Humidity, Accelerometer, Force, Barometer, Magnetometer, Pulse, Muscle, Gyroscope, Proximity, CO2,
etc...
Examples/Images from SparkFun.com
Burr Sutter | @burrsutter
DEMOshttps://www.youtube.com/watch?v=JXfkIRHfDzYhttps://www.youtube.com/watch?v=4U6T1UWEnj0https://www.youtube.com/watch?v=hd6Ghh5bWx4
Burr Sutter | @burrsutter