Slide 1

Slide 1 text

GETTING YOUR IOT DEVICES TO MESH WITH THREAD Brandon Satrom | @BrandonSatrom | [email protected]

Slide 2

Slide 2 text

“ ” - 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.

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

PROMISE VS. THE MESSY REALITY

Slide 5

Slide 5 text

PROMISE VS. THE MESSY REALITY

Slide 6

Slide 6 text

PROMISE VS. THE MESSY REALITY

Slide 7

Slide 7 text

PROMISE VS. THE MESSY REALITY

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

TO SUCCEED, THE IOT NEEDS A LITTLE LESS INTERNET

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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.

Slide 16

Slide 16 text

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.

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

Slide 19

Slide 19 text

TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

Slide 20

Slide 20 text

TRADITIONAL IOT: HUB AND SPOKE Wi-Fi Router

Slide 21

Slide 21 text

TRADITIONAL IOT: HUB AND SPOKE

Slide 22

Slide 22 text

ENTER MESH NETWORKING Gateway

Slide 23

Slide 23 text

ENTER MESH NETWORKING Gateway

Slide 24

Slide 24 text

ENTER MESH NETWORKING Gateway

Slide 25

Slide 25 text

ENTER MESH NETWORKING Gateway

Slide 26

Slide 26 text

ENTER MESH NETWORKING Gateway

Slide 27

Slide 27 text

ENTER MESH NETWORKING

Slide 28

Slide 28 text

IMPLEMENTING MESH YOURSELF IS HARD Gateway

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 32

Slide 32 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 33

Slide 33 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 34

Slide 34 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 35

Slide 35 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 36

Slide 36 text

NEST: FROM THERMOSTATS TO SMOKE DETECTORS

Slide 37

Slide 37 text

THE THREAD GROUP & CONTRIBUTING OPENTHREAD

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

OPENTHREAD: NOT FOR THE FAINT OF HEART

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

WHY PARTICLE MESH?

Slide 48

Slide 48 text

WHY PARTICLE MESH?

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

PARTICLE MESH NETWORK ROLES Gateway

Slide 53

Slide 53 text

PARTICLE MESH NETWORK ROLES Gateway Repeater Repeater

Slide 54

Slide 54 text

PARTICLE MESH NETWORK ROLES Gateway Repeater Repeater Endpoint Endpoint

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

Slide 57

Slide 57 text

A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

Slide 58

Slide 58 text

A COMBINATION OF HARDWARE, FIRMWARE AND SOFTWARE

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

DEMO SETTING UP MESH DEVICES

Slide 62

Slide 62 text

MESH NETWORKS IN ACTION

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

MESH NETWORK TYPES

Slide 84

Slide 84 text

MESH USE CASES: SINGLE GATEWAY, MULTIPLE ENDPOINTS Gateway

Slide 85

Slide 85 text

MESH USE CASES: SINGLE GATEWAY, MULTIPLE REPEATERS & ENDPOINTS

Slide 86

Slide 86 text

MESH USE CASES: DUAL GATEWAYS, MULTIPLE LOCAL DEVICES

Slide 87

Slide 87 text

THE ALL THINGS OPEN MESH NETWORK

Slide 88

Slide 88 text

PARTICLE MESH: EXAMPLE INSTALLATION

Slide 89

Slide 89 text

PARTICLE MESH: HALLOWEEN EDITION

Slide 90

Slide 90 text

PARTICLE MESH: HALLOWEEN EDITION

Slide 91

Slide 91 text

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

Slide 92

Slide 92 text

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

Slide 93

Slide 93 text

DEMO PARTICLE MESH IN ACTION

Slide 94

Slide 94 text

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

Slide 95

Slide 95 text

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

Slide 96

Slide 96 text

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!

Slide 97

Slide 97 text

THANKS! @BRANDONSATROM [email protected]