BLE Mesh, Beispielapplikation

May 24, 2020 3 Replies
Jump to replies (3)

Hallo,



hat schon mal jemand was mit Bluetooth Low Energie Mesh gemacht? Ich hab mir einige Youtube Videos angesehen und Datenblätter gewälzt, aber außer Aussagen, wie toll das alles ist hab ich dazu nichts wirklich konkretes gefunden.



Was ich eigentlich suche ist ein simples Beispiel.



Ich möchte Sensoren mit einer Datenbank verbinden, also Messwerte aufnehmen und diese dann in eine SQL Datenbank schreiben.



Meine ursprüngliche Idee war, das mit WLan zu machen, also ein ESP8266 oder ESP32 Modul, das die Daten direkt an einen SQL-Server schickt.



Sowas ähnliches haben wir hier schon gemacht.



In der Praxis bedeutet das aber, dass mein Sensormodul, das batteriebetrieben sein soll eine Verbindung zum WLan aufbauen muss. Dass ist da, wo das ganze eingesetzt werden soll nur eingeschränkt verfügbar.



Jetzt bin ich auf BLE gestossen und da auf den Begriff "Mesh". Wenn das funktioniert, wäre das ideal. Allerdings möchte ich als Endgerät kein Smartphone haben sondern einen Rechner, z.B. PC oder Raspi, also irgendwas, was die Verbindung zum SQL Server herstellen kann.


Der Aufbau sähe dann so aus:



Sensor1/BLE -> Repeater -> Repeater -> BLE-Modul -> UAart -> PC



Alternativ mit mehreren Sensoren.



wo finde ich ein Beispiel?


Gemacht wär übertrieben. Ich hab seit kurzem ein BLE-Türschloss (oder eigentlich einen Motor dafür):

formatting link
und will das Ding selbstverständlich nicht mit der bescheuerten App bedienen, sondern von meinem Automatisierungssystem aus. Dank dieser Software da:

formatting link
geht das auch.

Erkenntnisse dabei: BLE hat fast nix mit traditionellem Bluetooth zu tun. Ich hab mir sogar extra ein Dongle besorgen müssen. Die Reichweite ist auch nicht toll.

Vor allem aber: node.js für Hardwaretreiber zu verwenden ist krank, krank, krank. Selbstverständlich läuft die BLE-Library nur mit einer bestimmten version von node.js und ist darüberhinaus abandoned. Das war äußerst mühevoll.

BLE ist heute ein im Bereich Hausautomatisierung durchaus verbreitetes Protokoll/Medium. Ich würde daher in dieser Ecke beginnen (egal welche Plattform, meine ist home-assistant) und als erste Sensoren was billiges und bekannt funktionierendes nehmen, z.B. die Xiaomi-BLE-Sensoren:

formatting link

Wenn du ein funktionierendes Setup hast, dann kannst du ja Teile nach und nach durch eigenen Code ersetzen.

Ich würde nicht drauf vertrauen, daß ein BLE-Mesh einfach zu bauen ist. Nach ZigBee und Z-Wave ist BLE vermutlich nur das drittpopulärste Protokoll für sowas (eventuell sogar noch weiter unten).

Je nach Durchsatzerwartungen würde *ich* das mit LoRa oder ZigBee oder Z-Wave probieren, da hast du größere Ökosysteme von Leuten die das verwenden. LoRa hätte den Charme, daß du vermutlich auch längere Strecken ohne Repeater abdecken kannst.

Ich bin mir nicht sicher, inwieweit BLE mit Repeatern in der Praxis wirklich verwendet wird und gut funktioniert. Ich würde im Bereich der Heimautomatisierung zu recherchieren beginnen, bei fhem, ioBroker, OpenHab, Node Red oder dem schon erwähnten home-assistant.io. In diesem Feld findet man zu allem und jedem was, aber ich hab das Gefühl, daß BLE eine sehr enge Nische ist. YMMV.

/ralph

Ich war vor einiger Zeit auf einem NXP KW41Z-Workshop, da wurde das u.a. anhand der Beispielsourcen durchgespielt bis zu einem laufenden Mesh zwischen den Teilnehmern - der Chip kann BLE und Zigbee, IIRC war die Mesh-Demo eher Zigbee als BLE. Vermutlich hat NXP inzwischen aber 1-2 mal die IDE, Frameworks und Beispielsourcen gewechselt, so daß die Workshopunterlagen vermutlich veraltet sind.

Wenn Du die beiden Enden (Modul mit Sensor und Modul mit PC-Interface) beide (auf ähnlicher Hardware) selber baust, sollte das so gehen ... aber auch mit einem fertigen Mesh-Netzwerkstack als Basis dürfte da noch einiges an Entwicklungsarbeit 'reingehen.

cu Michael

Ok, danke für die Info.

Gruß

Stefan

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required