past present and future of iot device prototyping
play

Past, Present and Future of IoT Device Prototyping Bjoern Hartmann - PowerPoint PPT Presentation

Past, Present and Future of IoT Device Prototyping Bjoern Hartmann Intel/NSF CPS-Security Final PI Meeting Stanford, CA July 13, 2018 How Technologies Take Off: The Web Source:Pingdom/Linda Carroll What Made the Web Take Off? Lots of


  1. Past, Present and Future of IoT Device Prototyping Bjoern Hartmann Intel/NSF CPS-Security Final PI Meeting Stanford, CA July 13, 2018

  2. How Technologies Take Off: The Web Source:Pingdom/Linda Carroll

  3. What Made the Web Take Off? • Lots of people could create web pages and apps, not just 
 Stanford/Berkeley/Michigan/UPenn/Duke PhDs • People with domain expertise (+CS undergrads) could create 
 truly useful apps for their domain, within an established technology “genre” 


  4. The Web Development Stack start low, work your way up External stores/ APIs/Infrastructure logic etc. Server-side logic (*) Client-side logic (JS) Declarative Layout (HTML/CSS) Browser / User

  5. Platform support for success • Gradual on-ramp: Good prototyping tools 
 + low initial development complexity • A large corpus of exemplars: “View Source” (only works for client) • Inspection/debugging tools built into browsers • Moving to higher levels of abstraction 
 (AppEngine, WordPress, etc.)

  6. Technologies Taking Off, Part 2? IoT Hockeystick Graphs Everywhere…

  7. …Or Not?

  8. The IoT Stack Cloud Gateway Embedded Code Circuits Sensors Actuators Physical World / User

  9. The IoT Stack High-level languages Cloud start low, work your way up Gateway Low-level languages Embedded Code EE Circuits Mechatronics Sensors Actuators Physical World / User

  10. Mechanical Electronics Software Interaction

  11. How might we enable a similar cambrian explosion of useful IoT applications in the face of these difficulties?

  12. Prototyping is Key …it’s how designers work through ideas Early digital camera exploration, IDEO Apple IPhone Prototype

  13. We build a lot of these…

  14. Personal Environmental Control System (PECS) Michael Andersen, Joseph Bynoe

  15. Anthony Sutardja Maxwell Micali Christine Dierk Zachary Gima

  16. Sunita Venkatesh Lucy Corippo Adarsh Mani (w/ UCSF)

  17. Simon Scott, Will Porter, Yi Tong, Mitchell Karchemsky

  18. Augmented Power Tools Michelle Nguyen Eldon Schoop

  19. Computation Laser Projector Distance Sensors

  20. What did we learn over 
 the past decade?

  21. The Past Custom protocol Tx Rx Custom gateway Connect to Add a wireless Configure and run 
 Design an 
 module with serial server on circuit 8-bit MCU abstraction your own hardware

  22. 
 How to support IoT prototyping • Strategy #1: 
 Help people reason about and bridge boundaries in the current approach. 


  23. The More-Recent Present Custom messaging on pre-defined channel IoT vendor-managed Sever on Connect to 
 Design cloud Azure, Amazon, etc 32-bit SOC/SOM circuit w/ on-board radio Examples: Particle, ElectricImp

  24. How to support IoT prototyping • Strategy #1: 
 Help people bridge boundaries in the current approach • Strategy #2: 
 Replace past practice with new tools offering a 
 higher level of abstraction or integration.

  25. How to support IoT prototyping • Strategy #1: 
 Help people bridge boundaries in the current approach • Strategy #2: 
 Replace past practice with new tools offering a 
 higher level of abstraction or integration.

  26. Bridging Boundaries Cloud WiFröst Gateway Embedded Code Circuits ToastBoard BiFröst Sensors Actuators Physical World / User

  27. Bridging Boundaries Cloud WiFröst Gateway Embedded Code Circuits ToastBoard BiFröst Sensors Actuators Physical World / User

  28. Toast board • Point measurements (Multimeter, Scope) require hypothesis about circuit problem. • Non-experts are bad at generating reasonable hypotheses. • Replace point measurements with ubiquitous instrumentation (measure everything, all the time) • Combine circuit model with real-world measurements to diagnose problems.

  29. Client: Checker Functions Overcoming the debugging knowledge barrier by preemptively providing important information 


  30. Client: Checker Functions Can diagnose errors: Or provide information:

  31. Bridging Boundaries Cloud WiFröst Gateway Embedded Code Circuits ToastBoard BiFröst Sensors Actuators Physical World / User

  32. Trace The BiFröst IDE Digital Signals Analog Signals Variable Values User Program Time-linked console Code line at current time 37

  33. Example: ADC Variable Overflow 38

  34. Trace ⇔ Code ⇔ Console linkage Trace Trace View Time-linked User Program console 39

  35. Code-based navigation 40

  36. How to support IoT prototyping • Strategy #1: 
 Help people bridge boundaries in the current approach • Strategy #2: 
 Replace past practice with new tools offering a 
 higher level of abstraction or integration.

  37. Raising Abstraction Levels Cloud Fabryq Gateway Ravel Embedded Code Embedded Design Circuits Generation Sensors Actuators Physical World / User

  38. Raising Abstraction Levels Cloud Fabryq Gateway Ravel Embedded Code Embedded Design Circuits Generation Sensors Actuators Physical World / User

  39. EDG: Embedded Design Generation • Goal: Given a higher-level specification of an embedded system, automatically generate the hardware necessary to run the code. • What should the specification look like? We investigated 2 options: • Code that the hardware should run • High-level block diagram

  40. Generating Hardware from Code Ramesh et al, SCF 2017

  41. Option 2: Block Diagram Specs Student: Richard Lin Interesting research: Explore Pareto front of design alternatives - optimize for cost, part availability at different quantities, community documentation, etc.

  42. Design Inspiration: 
 Interview Study of 15 HW Designers Physical Device Parts Selection Ideas and ATmega Iteration Requirements System Architecture Part Number Size Vf +3.3v OVLFY3C7 5mm 2 V D0 Design APG1005SYC-T 0402 2.05 V Button J1 - or - D1 Micro- 5988140107F 0805 2 V SW1 ... D1 Flow controller Part Number Core LED Micro- ATmega32u4 AVR R1 U1 R2 GND controller LPC1549 ARM CM3 Final FE310-G000 RV32IMAC PCB Hand-built Schematic Prototype Prototypes Capture PCB Tools paper, drawing software breadboards EDA suites: Altium, EAGLE, KiCAD parts libraries, catalogs, spreadsheets Used more abstract, high-level more concrete, low-level fi fi fi Unsupported or under-supported by current tools

  43. Related Trigger-Action Circuits, 
 Scanalog - Analog circuits via FPAAs 
 Autodesk 2017 Strasnick et al, Stanford 2017

  44. Raising Abstraction Levels Cloud Fabryq Gateway Ravel Embedded Code Embedded Design Circuits Generation Sensors Actuators Physical World / User

  45. Fabryq • Enable rapid prototyping of BLE sensor logging devices that stream data to the web • Motivation: Personalized medicine and home care - send patient home with monitoring device while medical team can read data remotely • Domain experts know about sensing, data transformation and interpretation, not the stack in the middle

  46. Fabryq

  47. Core Idea: Bridge Layers! Cloud Gateway Embedded Code Circuits Sensors Actuators Physical World / User

  48. Security Implications • A perhaps inevitable consequence of many more people building ever more services/apps/devices: They don’t consider security in the way this room would. Many impactful breaches are not at all “sophisticated”: • Mirai: default username/password • Trendnet cameras: plaintext credentials transmitted • LocationSmart: Simple JSON edit exposes location of any cell phone in US

  49. How can these tools help? • Tools that help you inspect and debug your IoT device can proactively check for problems • Example: WiFröst router detects unencrypted login/password passed over HTTP • Tools that raise the abstraction level can avoid these problems by design (application developers don’t write the critical code).

  50. Open Steps • Today’s consumer IoT devices are largely single device-to-device- specific cloud. However, major value (and risk) is in interconnection. • Current Split: low-power systems (e.g., BLE, wearables) vs. full Linux systems (i.e., smartphone level or higher) when using audio/vision/ 3d point clouds, etc. But this is changing: 
 ML co-processors are emerging in embedded space - yet another boundary - code split between general purpose and ML models. • How might we help designers and develop create these applications?

  51. Q&A

Recommend


More recommend