$30 off During Our Annual Pro Sale. View Details »

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. GETTING YOUR IOT DEVICES TO MESH WITH THREAD
    Brandon Satrom | @BrandonSatrom | [email protected]

    View Slide



  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.

    View Slide

  3. 34 BILLION
    Devices online by 2020
    Spent on the IoT (2016-2021)
    $6 TRILLION

    View Slide

  4. PROMISE VS. THE MESSY REALITY

    View Slide

  5. PROMISE VS. THE MESSY REALITY

    View Slide

  6. PROMISE VS. THE MESSY REALITY

    View Slide

  7. PROMISE VS. THE MESSY REALITY

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide



  11. - An Anonymous Friend
    The phrase “IoT” has lost all meaning for
    me…

    View Slide

  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

    View Slide

  13. TO SUCCEED, THE IOT NEEDS A LITTLE LESS INTERNET

    View Slide

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

    View Slide

  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.

    View Slide

  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.

    View Slide

  17. WHY MESH NETWORKING?
    HOW OPENTHREAD ENABLES MESH
    HOW PARTICLE MAKES MESH EASY

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. TRADITIONAL IOT: HUB AND SPOKE

    View Slide

  22. ENTER MESH NETWORKING
    Gateway

    View Slide

  23. ENTER MESH NETWORKING
    Gateway

    View Slide

  24. ENTER MESH NETWORKING
    Gateway

    View Slide

  25. ENTER MESH NETWORKING
    Gateway

    View Slide

  26. ENTER MESH NETWORKING
    Gateway

    View Slide

  27. ENTER MESH NETWORKING

    View Slide

  28. IMPLEMENTING MESH YOURSELF IS HARD
    Gateway

    View Slide

  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

    View Slide

  30. WHY MESH NETWORKING?
    HOW OPENTHREAD ENABLES MESH
    HOW PARTICLE MAKES MESH EASY

    View Slide

  31. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  32. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  33. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  34. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  35. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  36. NEST: FROM THERMOSTATS TO SMOKE DETECTORS

    View Slide

  37. THE THREAD GROUP & CONTRIBUTING OPENTHREAD

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  43. OPENTHREAD: NOT FOR THE FAINT OF HEART

    View Slide

  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

    View Slide

  45. WHY MESH NETWORKING?
    HOW OPENTHREAD ENABLES MESH
    HOW PARTICLE MAKES MESH EASY

    View Slide

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

    View Slide

  47. WHY PARTICLE MESH?

    View Slide

  48. WHY PARTICLE MESH?

    View Slide

  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);
    }

    View Slide

  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);

    View Slide

  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

    View Slide

  52. PARTICLE MESH NETWORK ROLES
    Gateway

    View Slide

  53. PARTICLE MESH NETWORK ROLES
    Gateway
    Repeater
    Repeater

    View Slide

  54. PARTICLE MESH NETWORK ROLES
    Gateway
    Repeater
    Repeater
    Endpoint
    Endpoint

    View Slide

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

    View Slide

  56. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

    View Slide

  57. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

    View Slide

  58. A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

    View Slide

  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);
    }

    View Slide

  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);
    }

    View Slide

  61. DEMO
    SETTING UP MESH DEVICES

    View Slide

  62. MESH NETWORKS IN ACTION

    View Slide

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

    View Slide

  64. MESH MAKES EXISTING IOT SOLUTIONS SMARTER
    SMART WATER METER
    Ethernet
    +
    CONSOLE
    DEVICE CLOUD

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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()

    View Slide

  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()

    View Slide

  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()

    View Slide

  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()

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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);
    }

    View Slide

  83. MESH NETWORK TYPES

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  87. THE ALL THINGS OPEN MESH NETWORK

    View Slide

  88. PARTICLE MESH: EXAMPLE INSTALLATION

    View Slide

  89. PARTICLE MESH: HALLOWEEN EDITION

    View Slide

  90. PARTICLE MESH: HALLOWEEN EDITION

    View Slide

  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

    View Slide

  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

    View Slide

  93. DEMO
    PARTICLE MESH IN ACTION

    View Slide

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

    View Slide

  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

    View Slide

  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!

    View Slide

  97. THANKS!
    @BRANDONSATROM
    [email protected]

    View Slide