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.

Brandon Satrom

October 23, 2018
Tweet

More Decks by Brandon Satrom

Other Decks in Technology

Transcript

  1. “ ” - 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.
  2. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME
  3. 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
  4. 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
  5. 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.
  6. 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.
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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); }
  15. 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);
  16. 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
  17. 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); }
  18. 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); }
  19. MESH DEVICES CAN PUBLISH DATA LIKE ANY PARTICLE DEVICE SMART

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

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

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

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

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

    SMART WATER METER + FLOOD DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Ethernet Mesh
  25. 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()
  26. 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()
  27. 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()
  28. 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()
  29. MESH DEVICES CAN COMMUNICATE WITHOUT AN INTERNET CONNECTION + FLOOD

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

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

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

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

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

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

    DETECTOR Mesh CONSOLE DEVICE CLOUD PUMP CONTROLLER Mesh Mesh.publish() Mesh.subscribe()
  36. 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); }
  37. 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
  38. 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
  39. THE EVER-PRESENT GARTNER HYPE CYCLE PEAK OF INFLATED EXPECTATIONS TECHNOLOGY

    TRIGGER TROUGH OF DISILLUSIONMENT SLOPE OF ENLIGHTENMENT PLATEAU OF PRODUCTIVITY VISIBILITY TIME
  40. 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
  41. 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!