enterprise developer journey to the iot

13
An Enterprise Developer's Journey to IoT Burr Sutter @burrsutter Web, Mobile, IoT Hacker :-)

Upload: red-hat

Post on 17-Aug-2015

87 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Enterprise Developer Journey to the IoT

An Enterprise Developer's Journey to IoT

Burr Sutter

@burrsutterWeb, Mobile, IoT Hacker :-)

Page 2: Enterprise Developer Journey to the IoT

Before Software ate the World: We made Things!

Burr Sutter | @burrsutter

Page 3: Enterprise Developer Journey to the IoT
Page 4: Enterprise Developer Journey to the IoT

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

Page 5: Enterprise Developer Journey to the IoT

FieldGateway

Ingestion

Sensors

Actuators

Dashboards

Analytics

Workflow

Integration

High-level architectureDatacenter

WiFiBluetoothZigbee/Thread802.15.4

Burr Sutter | @burrsutter

Page 6: Enterprise Developer Journey to the IoT

Bluetooth + WiFi

3 Possible Edge Architectures

Burr Sutter | @burrsutter

802.15.4 +WiFi/Ethernet

Direct WiFi, Ethernet, Cell connectivity

Page 7: Enterprise Developer Journey to the IoT

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

Page 8: Enterprise Developer Journey to the IoT

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

Page 9: Enterprise Developer Journey to the IoT

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

Page 10: Enterprise Developer Journey to the IoT

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

Page 11: Enterprise Developer Journey to the IoT

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.

Page 12: Enterprise Developer Journey to the IoT

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

Page 13: Enterprise Developer Journey to the IoT

DEMOshttps://www.youtube.com/watch?v=JXfkIRHfDzYhttps://www.youtube.com/watch?v=4U6T1UWEnj0https://www.youtube.com/watch?v=hd6Ghh5bWx4

Burr Sutter | @burrsutter