Slide 1

Slide 1 text

BLUETOOTH-MESH NETWORKING MIT RASPBERRY PI UND BLUETOOTH-MESH NETWORKING MIT RASPBERRY PI UND ESP32 ESP32 ANDREAS ZILLY ANDREAS ZILLY Pi and Radio 2021 11.09.2021 1

Slide 2

Slide 2 text

BIO BIO Softwareentwickler twitter: @AndreasZilly https://blog.andreas-zilly.info 2

Slide 3

Slide 3 text

AGENDA AGENDA ESP32 von Espressif Bluetooth LE und Bluetooth Mesh Networking BlueZ auf dem Raspberry Pi Mesh Nodes mit ESP32 Zusammenfassung 3

Slide 4

Slide 4 text

ESP32 VON ESPRESSIF ESP32 VON ESPRESSIF 32-Bit-Mikrocontroller Wi-Fi Bluetooth ESP32 802.11 b/g/n/e/i (150 Mbit/s) Bluetooth 5 und BLE 4 . 1

Slide 5

Slide 5 text

ESP32 DEV KIT ESP32 DEV KIT ESP32-WROOM-32D Bluetooth, Bluetooth LE and Wi-Fi Pins abhangig vom Modul => 36 Pins; UART, I2C, SPI, PWM Onboard Antenne Micro-USB-Verbindung bis 4MB Flash Kompatibel mit Arduino, nodemcu, MicroPython 4 . 2

Slide 6

Slide 6 text

BLUETOOTH BLUETOOTH ISM-Frequenzband (2,402 GHz - 2,480 GHz) Verschiedene Klassen mit Reichweiten (1m - 100m) Verschiedene Geräteprofile 5 . 1

Slide 7

Slide 7 text

BLUETOOTH LOWENERGY BLUETOOTH LOWENERGY Optionaler Teil von Bluetooth 4 geringerer Stromverbrauch, geringere Kosten bei ähnlichen Kommunikationsbereich Wie bei Bluetooth verschiedene Profile healthcare, fitness, beacons, security Verbindungen 1:N 5 . 2

Slide 8

Slide 8 text

BLUETOOTH MESH NETWORKING BLUETOOTH MESH NETWORKING Basiert auf Bluetooth LE Verbindungen N:M Flood Networking Verschiedene Features der Nodes Relay, Proxy, LowPower, Friend Verschiedene Profile (generic, sensor,... 5 . 3

Slide 9

Slide 9 text

IMPLEMENTATIONEN IMPLEMENTATIONEN 6 . 1

Slide 10

Slide 10 text

BLUEZ BLUEZ LINUX STACK LINUX STACK Type: Mesh Profile Bluetooth "accepted" Stack ABER Mesh Profile nicht offiziell "accepted" Verschiedene kryptografische Module müssen im Kernel vorhanden sein (u.U Kompilieren) meshctl - Provisioning der Mesh Nodes 6 . 2

Slide 11

Slide 11 text

ESPRESSIF ESP-IDF ESPRESSIF ESP-IDF ESPRESSIF IOT DEVELOPMENT FRAMEWORK ESPRESSIF IOT DEVELOPMENT FRAMEWORK ESP-BLE-MESH (Zephyr Bluetooth Mesh stack) ESP-MESH (Wi-Fi) FreeRTOS Apache 2.0 Profile Subsystem "accepted" https://docs.espressif.com/projects/esp- idf/en/latest/esp32/api-guides 6 . 3

Slide 12

Slide 12 text

ZEPHYR OS MESH ZEPHYR OS MESH LINUX FOUNDATION LINUX FOUNDATION RTOS Type: Profile Subsystem "accepted" Apache 2.0 6 . 4

Slide 13

Slide 13 text

PROVISIONING PROVISIONING Einbinden neuer Devices in Mesh Netzwerk Zuweisen von Netzwerkresourcen (Adresse(n), DevKey, NetKey) Möglich mittel BlueZ auf Raspberry Pi (meshctl (PB- GATT), mesh-cfgclient (PB-ADV)) 7 . 1

Slide 14

Slide 14 text

PROVISIONING PROVISIONING EINBINDEN NEUER DEVICES EINBINDEN NEUER DEVICES 7 . 2

Slide 15

Slide 15 text

MESHCTL MESHCTL 8 . 1

Slide 16

Slide 16 text

DISCOVER-UNPROVISIONED ON DISCOVER-UNPROVISIONED ON 8 . 2

Slide 17

Slide 17 text

PROVISION PROVISION 8 . 3

Slide 18

Slide 18 text

KONFIGURATION DES NODES KONFIGURATION DES NODES Adresse(n) AppKey (Node) NetKey 8 . 4

Slide 19

Slide 19 text

ZUSAMMENFASSUNG ZUSAMMENFASSUNG Raspberry Pi als Mesh Provisioner ESP32 Module ausreichend um kleines (Sensor)Netzwerk aufzuspannen ESP* kann auch mit Powerbank betrieben werden Module "relativ" preiswert ESP32 Module mit vielen verschiedenen Eigenschaften verfügbar 9

Slide 20

Slide 20 text

LINKSAMMLUNG LINKSAMMLUNG https://www.espressif.com/en/products/devkits/ https://docs.espressif.com/projects/esp- idf/en/latest/esp32/index.html https://www.bluetooth.com/de/bluetooth-resources/ https://www.bluetooth.com/specifications/specs/ https://docs.zephyrproject.org/latest/samples/bluetooth 10

Slide 21

Slide 21 text

DANKE FÜR EURE AUFMERKSAMKEIT DANKE FÜR EURE AUFMERKSAMKEIT This work is licensed under a . @AndreasZilly Creative Commons Attribution 4.0 International License 11 . 1