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

Bluetooth Mesh Networking mit Raspberry Pi und ESP32

Andreas Zilly
September 11, 2021

Bluetooth Mesh Networking mit Raspberry Pi und ESP32

Bluetooth Low Energy (BLE) hat zum Ziel kurze Datenpakete möglichst energiesparend zu übertragen. Dabei können bei BLE entweder zwei einzelne Geräte miteinander kommunizieren (1:1) oder es findet eine Kommunikation zwischen einem Gerät und vielen anderen Geräten statt (1:n).

Bluetooth Mesh ergänzt BLE und ermöglicht eine sichere Kommunikation zwischen vielen Geräten (m:m). Weiter wurde Bluetooth Mesh für den Aufbau großer Gerätenetzwerke optimiert, so dass es bei Gebäudeautomatisierung, Sensornetzwerken oder anderen IoT-Anwendungen, bei denen eine große Anzahl von Geräten miteinander kommunizieren müssen, verwendet werden kann.

Der Vortrag zeigt, wie mittels eines Raspberry Pi als Bluetooth Mesh Provisioner und mit ESP32-Boards als Knoten ein Bluetooth Mesh aufbaut werden kann.

Zielgruppe: Einsteiger, Fortgeschrittene

https://piandmore.de/de/conference/pi-and-radio-2021/
https://piandmore.de/de/conference/pi-and-radio-2021/schedule/event/12215

Andreas Zilly

September 11, 2021
Tweet

More Decks by Andreas Zilly

Other Decks in Technology

Transcript

  1. 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
  2. BIO BIO Softwareentwickler twitter: @AndreasZilly https://blog.andreas-zilly.info 2

  3. AGENDA AGENDA ESP32 von Espressif Bluetooth LE und Bluetooth Mesh

    Networking BlueZ auf dem Raspberry Pi Mesh Nodes mit ESP32 Zusammenfassung 3
  4. 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
  5. 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
  6. BLUETOOTH BLUETOOTH ISM-Frequenzband (2,402 GHz - 2,480 GHz) Verschiedene Klassen

    mit Reichweiten (1m - 100m) Verschiedene Geräteprofile 5 . 1
  7. 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
  8. 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
  9. IMPLEMENTATIONEN IMPLEMENTATIONEN 6 . 1

  10. 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
  11. 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
  12. ZEPHYR OS MESH ZEPHYR OS MESH LINUX FOUNDATION LINUX FOUNDATION

    RTOS Type: Profile Subsystem "accepted" Apache 2.0 6 . 4
  13. 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
  14. PROVISIONING PROVISIONING EINBINDEN NEUER DEVICES EINBINDEN NEUER DEVICES 7 .

    2
  15. MESHCTL MESHCTL 8 . 1

  16. DISCOVER-UNPROVISIONED ON DISCOVER-UNPROVISIONED ON 8 . 2

  17. PROVISION PROVISION 8 . 3

  18. KONFIGURATION DES NODES KONFIGURATION DES NODES Adresse(n) AppKey (Node) NetKey

    8 . 4
  19. 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
  20. 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

  21. 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