Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting your IoT Devices to Mesh with Thread

Getting your IoT Devices to Mesh with Thread

Building for the Internet of Things is no longer about getting a single connected device online over a local Wi-Fi or even cellular connection. Increasingly, real IoT projects—be they for the smart home, smart factory, or shop floor—utilize a swarm of devices to interact with sensors, report status, and manage actuators. In these cases, the challenge isn’t just getting your devices online, but getting them to work together.

Thankfully, Thread and Particle Mesh makes dealing with swarms of devices straight forward—with cutting-edge open hardware and standards, developer-friendly APIs for managing devices, and a Device Cloud that serves as your all-powerful hive-mind.

In this session, we’ll explore how mesh networking through Thread solves some of the hardest problems in the IoT space today, as well as how Particle Mesh leverages Thread to power its newest generation of connected devices.

2411e1b8fa28ddd0c8071dc4aec1c5a1?s=128

Brandon Satrom

October 23, 2018
Tweet

Transcript

  1. GETTING YOUR IOT DEVICES TO MESH WITH THREAD Brandon Satrom

    | @BrandonSatrom | brandon@particle.io
  2. “ ” - Nikola Tesla THE IOT, CIRCA 1926 When

    wireless is perfectly applied the whole earth will be converted into a huge brain, which in fact it is, all things being particles of a real and rhythmic whole… and the instruments through which we shall be able to do this will be amazingly simple compared with our present telephone. A man will be able to carry one in his vest pocket.
  3. 34 BILLION Devices online by 2020 Spent on the IoT

    (2016-2021) $6 TRILLION
  4. PROMISE VS. THE MESSY REALITY

  5. PROMISE VS. THE MESSY REALITY

  6. PROMISE VS. THE MESSY REALITY

  7. PROMISE VS. THE MESSY REALITY

  8. TODAY, “SMART” MEANS GIVING BIG CO DATA TO OUTSMART US

    ALL…
  9. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME
  10. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME IOT TODAY
  11. “ ” - An Anonymous Friend The phrase “IoT” has

    lost all meaning for me…
  12. HOW DID WE GET HERE? 1 2 3 CONNECTIVITY FOR

    THE SAKE OF CONNECTIVITY POOR, BROKEN OR NON-EXISTENT SECURITY LIMITED CONNECTIVITY OPTIONS Do we need to connect everything to the internet? Holes abound in hardware, firmware and software Wi-Fi is brittle Cellular is expensive Bluetooth is limited
  13. TO SUCCEED, THE IOT NEEDS A LITTLE LESS INTERNET

  14. WHY MESH NETWORKING? HOW OPENTHREAD ENABLES MESH HOW PARTICLE MAKES

    MESH EASY
  15. WHO AM I? BRANDON SATROM PARTICLE I BUILD COOL STUFF.

    SO YOU CAN BUILD EVEN COOLER STUFF. AND HELP IMPROVE OUR PRODUCTS SO WE CAN ALL BUILD THE COOLEST STUFF.
  16. WHO AM I? BRANDON SATROM PARTICLE I BUILD COOL STUFF.

    SO YOU CAN BUILD EVEN COOLER STUFF. AND HELP IMPROVE OUR PRODUCTS SO WE CAN ALL BUILD THE COOLEST STUFF.
  17. WHY MESH NETWORKING? HOW OPENTHREAD ENABLES MESH HOW PARTICLE MAKES

    MESH EASY
  18. TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

  19. TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

  20. TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

  21. TRADITIONAL IOT: HUB AND SPOKE

  22. ENTER MESH NETWORKING Gateway

  23. ENTER MESH NETWORKING Gateway

  24. ENTER MESH NETWORKING Gateway

  25. ENTER MESH NETWORKING Gateway

  26. ENTER MESH NETWORKING Gateway

  27. ENTER MESH NETWORKING

  28. IMPLEMENTING MESH YOURSELF IS HARD Gateway

  29. IMPLEMENTING MESH YOURSELF IS HARD Gateway ✴Security and Encryption ✴Local

    routing ✴Local communication (UDP, TCP, etc.) ✴Radio support (BLE, Wi-Fi, etc.) ✴Failover, route redundancy ✴Network addressing ✴Network roles and responsibilities
  30. WHY MESH NETWORKING? HOW OPENTHREAD ENABLES MESH HOW PARTICLE MAKES

    MESH EASY
  31. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  32. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  33. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  34. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  35. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  36. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

  37. THE THREAD GROUP & CONTRIBUTING OPENTHREAD

  38. WHAT IS THREAD? ✴IPv6-based mesh ✴Wireless Personal Area Network ✴No

    single point of failure ✴Tailored to IoT Scenarios ✴Can be used in concert with Wi-Fi, Cellular and Bluetooth is a low-power networking protocol
  39. OPENTHREAD ADOPTION AMONG HARDWARE VENDORS ARM bed OS (NXP FRDM-K64F

    + Atmel ATZB-RF-233) D-Link Ltd - DSH-G300-TBR Nordic Semiconductor nRF52840 (OpenThread) NXP Kinetis Thread Stack (KW2xD) Silicon Labs Mighty Gecko Module MGM12P
  40. OPENTHREAD ADOPTION AMONG HARDWARE VENDORS ARM bed OS (NXP FRDM-K64F

    + Atmel ATZB-RF-233) D-Link Ltd - DSH-G300-TBR Nordic Semiconductor nRF52840 (OpenThread) NXP Kinetis Thread Stack (KW2xD) Silicon Labs Mighty Gecko Module MGM12P
  41. MESH VS. WI-FI AND CELLULAR MESH NETWORKS ARE SCALABLE AND

    RELIABLE LOW COST LOW POWER HIGHLY RELIABLE $5 to $10 per module $10 to $20 per module $3 to $5 per module 150-300mA 200-2000mA 50mA Single point of failure Managed infrastructure Self-healing network WI-FI CELLULAR MESH NEW PROTOCOL
  42. OPENTHREAD VS. ZIGBEE, ZWAVE AND LORA Operating range 100 ft

    35 ft Max # of devices 232 65,000 Data rate 9.6-100 kbps 40-250 kbps Cost $ $$ IP-Based Networking No No Open Standard? No Yes 1-4 mi 100 ft N/A 300 27 kbps 250 kbps $$$ $ Yes Yes No Yes
  43. OPENTHREAD: NOT FOR THE FAINT OF HEART

  44. OPENTHREAD: NOT FOR THE FAINT OF HEART ✴Buy a dev

    kit and a dongle ✴Install the OpenThread software stack ✴Manually set-up and configure a gateway device (Border Router) ✴Manually set-up and configure one or more routers ✴Manually set-up and configure one or more end devices ✴Implement UDP-based messaging between devices
  45. WHY MESH NETWORKING? HOW OPENTHREAD ENABLES MESH HOW PARTICLE MAKES

    MESH EASY
  46. WHY PARTICLE MESH? Everything you need to know to implement

    OpenThread
  47. WHY PARTICLE MESH?

  48. WHY PARTICLE MESH?

  49. WHY PARTICLE MESH? void pong(const char *event, const char *data)

    { Serial.println("You got a message!"); } void setup() { Mesh.on(); Mesh.connect(); } void loop() { Mesh.publish(“hello - world”, “I’m meshing !”); Mesh.subscribe("ping", pong); }
  50. HOW PARTICLE MAKES MESH EASY 1 2 3 THREAD-ENABLED HARDWARE

    CLEAR DEVICE ROLES SIMPLE APIS FOR COMMUNICATION AND MANAGEMENT Affordable options for prototyping and production Simple, often automatic assignment based on device type and location Secure, local communication without configuration Mesh.publish(“hello - world”, “I’m meshing !”); Mesh.subscribe("ping", pong);
  51. PARTICLE MESH DEVICES Nordic nRF52840 SoC ✴ ARM Cortex-M4F 32-bit

    ✴ 1MB flash, 256KB RAM ✴ IEEE 802.15.4-2006 ✴ Bluetooth 5: 2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps ✴ ARM TrustZone Cryptographic security module ✴ NFC-A tag Argon » Wi-Fi + BLE +Mesh » Wi-Fi endpoint or mesh gateway Xenon » BLE + Mesh » Mesh endpoint Boron » LTE-M1 + BLE + Mesh » Cellular endpoint or mesh gateway
  52. PARTICLE MESH NETWORK ROLES Gateway

  53. PARTICLE MESH NETWORK ROLES Gateway Repeater Repeater

  54. PARTICLE MESH NETWORK ROLES Gateway Repeater Repeater Endpoint Endpoint

  55. PARTICLE MESH NETWORK ROLES Gateway Repeater Repeater Repeater & Endpoint

    Endpoint Endpoint
  56. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

  57. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

  58. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

  59. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE void pong(const char

    *event, const char *data) { Serial.println("You got a message!"); } void setup() { Mesh.on(); Mesh.connect(); } void loop() { Mesh.publish(“hello - world”, “I’m meshing !”); Mesh.subscribe("ping", pong); }
  60. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE void pong(const char

    *event, const char *data) { Serial.println("You got a message!"); } void setup() { Mesh.on(); Mesh.connect(); } void loop() { Mesh.publish(“hello - world”, “I’m meshing !”); Mesh.subscribe("ping", pong); }
  61. DEMO SETTING UP MESH DEVICES

  62. MESH NETWORKS IN ACTION

  63. MESH MAKES EXISTING IOT SOLUTIONS SMARTER SMART WATER METER FLOOD

    DETECTOR PUMP CONTROLLER
  64. MESH MAKES EXISTING IOT SOLUTIONS SMARTER SMART WATER METER Ethernet

    + CONSOLE DEVICE CLOUD
  65. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

    WATER METER FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD Ethernet
  66. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

    WATER METER FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD Ethernet Particle.publish()
  67. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

    WATER METER FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD Ethernet Particle.publish()
  68. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

    WATER METER FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD Ethernet Particle.publish()
  69. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

    WATER METER FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD Ethernet Particle.publish()
  70. MESH DEVICES CAN BE REMOTELY CONTROLLED LIKE ANY PARTICLE DEVICE

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh
  71. MESH DEVICES CAN BE REMOTELY CONTROLLED LIKE ANY PARTICLE DEVICE

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh Particle.function()
  72. MESH DEVICES CAN BE REMOTELY CONTROLLED LIKE ANY PARTICLE DEVICE

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh Particle.function()
  73. MESH DEVICES CAN BE REMOTELY CONTROLLED LIKE ANY PARTICLE DEVICE

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh Particle.function()
  74. MESH DEVICES CAN BE REMOTELY CONTROLLED LIKE ANY PARTICLE DEVICE

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh Particle.function()
  75. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh
  76. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh
  77. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish()
  78. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish()
  79. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish()
  80. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish() Mesh.subscribe()
  81. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish() Mesh.subscribe()
  82. MESH PUBLISH AND SUBSCRIBE FOR LOCAL MESSAGING Mesh.publish(“hello-world”, “I’m meshing!”);

    void hello(const char *event, const char *data) { Serial.println(“Device two got it!"); } void setup() { Mesh.subscribe(“hello-world”, hello); } void hello(const char *event, const char *data) { Serial.println(“Device one got it!"); } void setup() { Mesh.subscribe(“hello-world”, hello); }
  83. MESH NETWORK TYPES

  84. MESH USE CASES: SINGLE GATEWAY, MULTIPLE ENDPOINTS Gateway

  85. MESH USE CASES: SINGLE GATEWAY, MULTIPLE REPEATERS & ENDPOINTS

  86. MESH USE CASES: DUAL GATEWAYS, MULTIPLE LOCAL DEVICES

  87. THE ALL THINGS OPEN MESH NETWORK

  88. PARTICLE MESH: EXAMPLE INSTALLATION

  89. PARTICLE MESH: HALLOWEEN EDITION

  90. PARTICLE MESH: HALLOWEEN EDITION

  91. DEMO FEATURES Devices ✴ 1 Gateway Device (Argon) ✴ 4

    Endpoint/Repeater Nodes ✴ 1 Adafruit Crickit-powered Rover ✴ 1 Adafruit HalloWing ✴ 1 Neopixel Strip ✴ 1 Standard Servo Demos ✴ Control devices through cloud ✴ Communicate between Mesh and non- Mesh devices ✴ Send Mesh events without an internet connection
  92. DEMO FEATURES Devices ✴ 1 Gateway Device (Argon) ✴ 4

    Endpoint/Repeater Nodes ✴ 1 Adafruit Crickit-powered Rover ✴ 1 Adafruit HalloWing ✴ 1 Neopixel Strip ✴ 1 Standard Servo Demos ✴ Control devices through cloud ✴ Communicate between Mesh and non- Mesh devices ✴ Send Mesh events without an internet connection
  93. DEMO PARTICLE MESH IN ACTION

  94. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME
  95. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME IOT TODAY
  96. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME IOT TODAY IOT TOMORROW!
  97. THANKS! @BRANDONSATROM BRANDON@PARTICLE.IO