MQTT Bluetooth BLE Anwesenheitserkennung

Personen Präsenz im Zimmer durch: iBeacon, Mi Band fitness tracker, smartwatch aufspüren.
MQTT Anwesenheitserkennung per Bluetooth BLE für Hausautomatisierung z.B FHEM, Node-RED, iobroker, openHAB, Domoticz.

Anwesenheitserkennung für MQTT per BLE Bluetooth node iobroker openHAB Präsenz ESP32 ibeacon

Die Idee
In jedem Raum befindet sich bluetooth Präsenzmelder auf Basis von ESP32 – Modul. Jedes bluetooth Präsenzmelder ist über WLAN mit Hausnetz verbunden und sendet die bluetooth MAC Adressen per mqtt an den smart home. Ich trage ein Fitness Tracker Xiaomi Mi Band, der kann so eingestellt werden, dass auch in verbundenen Zustand, bluetooth advertising Daten sendet. Natürlich kann statt Fitness Tracker, ein beliebige iTag, iBeacon verwendet werden. Der muss natürlich immer dabei sein. So kriegt mein smart home in welchem Zimmer ich mich gerade befinde mit. So kann Hausautomatisierung Software z.b. Telefonanrufe in richtige Zimmer leiten. Meine Position anderen Personen im Haus mitteilen.

FunktionsweiMQTT Bluetooth BLE ESP32 Anwesenheit melderse
Esp32 Modul verbindet sich über WLAN Netz mit mqtt Broker. Das bluetooth Präsenzmelder scant 10 Sekunden lang ( Scan Zeit ist einstellbar) nach Bluetooth Geräten. Gesammelte Daten werden in JSON Format an das mqtt Broker gesendet. Daten beinhalten MAC-Adresse des Bluetooth Gerätes und Signalstärke RSSI . Danach wiederholt sich der Vorgang. Bei verlieren der wifi verbindung startet Esp32 Modul neu. Bei Unterbrechung der Verbindung zu mqtt Broker wird die Verbindung neu aufgebaut.

Arduino Sketch

Das Programm ist ziemlich groß wegen Verwendung von WiFi und Bluetooth Bibliotheken. Deswegen vor dem compilieren soll beim Werkzeuge/ Partition Scheme das „No OTA“ gewählt werden. Der Sketch hat 1490 KB  vom 2097 KB (71%) des Speichers. Verwendete MQTT Bibliothek ist MQTT client library for Arduino(vom Imroy).

Ich wollte das WiFiManager für alle Einstellungen verwenden, aber Speicherplatz reichte dazu nicht aus.