NEWS
MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32
-
@Vujagig
Nur das mi band als Zugang für Haus oder Garage nutzen wäre grob fahrlässig, falls ich dich korrekt verstanden habe. Jeder, der iwie scannt könnte dein Signal klonen. Es sei denn du würdest Mac und manipulierte rolling Manufacturer Data (quasi als Schlüssel Code) nutzen. Aber sowas ist glaub mir der Mi nicht möglich.
Evtl könnte das Smartphone umfunktioniert werden, sodass z.B. der Code vom Google Authenticator gesendet werden könnte. Aber auch das ist nur ein Denkanstoß und übersteigt meine Programmierkenntnisse bei Weitem. -
@GiuseppeS nun bei der Wohnungstür geb ich dir schon Recht, da würd ich noch einen 2ten Faktor nehmen. Garage ist unkritisch und den Funksender der Zentralverriegelung vom Auto zu Kopieren ist einfacher, da gibt es fertige Produkte in einschlägigen Kreisen. Zum starten brauchst du immer noch den Zündschlüssel. Ist ein ziemlich alter Ford den kommst du mit jedem dritten Ford Schlüssel auf
Dazu kommt noch das security by obscurity hier ganz gut funktioniert weil wirklich niemand auf die Idee kommt. Da belauschen die eher Funkschlüssel. -
Moin,
ich hab das Ding auch mal aufgesetzt (paar kleine Bugs hat das Teil noch, z.B. sollte es einen Ordern im Broker erstellen um seine Infos dann dort zu sammeln...hab ich auch schon soweit umgesetzt).Ich habe jetzt ehr das Problem das mein Handy nicht erkannt wird. LE Beacons gehen aber ...
Workaround ist für mich der Beacon Simulator (auf Android), damit geht das soweit auch aber bei jedem Neustart von Bluetooth oder Handy habe ich leider eine andere MAC Adresse...das ist so nicht praktikabel (außer halt zum testen). Eine feste MAC lässt sich leider nicht einstellen, ist wohl Betriebssystem bedingt.
Hat jemand noch eine Lösung parat? Mit Handy? Ohne Beacon?
Es geht mir darum das meine Family IMMER ihr Handy dabei hat, es wäre schon wenn es damit ginge...
Ansonsten super Arbeit! Genau was ich gesucht habe!
Gruß,
Flo
-
@shooter
Auf Basis des Skripts aus dem ersten Post, habe ich meins erstellt.Optimierungen:
- nicht nur Mac sondern auch manufacturer data wird gesendet. Somit auch über das Smartphone nutzbar, da wechselnde iBeacon Mac mit Android App "Beacon Simulator", aber manu data bleibt konstant.
- Bugfix bzgl json string: keine Treffer beim Scan führten zu fehlerhaftem json. Ist nun korrigiert.
- im Namen der empfangenen ioBroker id steht auch der Ort des Absenders und dessen IP. Ort wird im ino Skript angegeben, aktuell "bett".
- Updates können ota über den Webserver eingespielt werden.
Übrigens: bei mir wird die Smartphone App mit dem Handy Neustart nicht automatisch gestartet. Nutze dafür die App Tasker, die ich eh aus verschiedenen Gründen installiert habe. Parallel zum Handy nutze ich neuerdings auch meine Mi Watch Band 5. Klappt einwandfrei.
-
-
@GiuseppeS
Vielen Dank für dein Script
Ich benötige mal Hilfe, das Script läuft und erkennt auch die Mac Adressen.
Bekomme keine Verbindung zum MQTT Adapter.
gibt es da irgend ein HowTo?
Danke -
Ich verwende mosquitto als Broker und in ioBroker nur den mqtt Client. Damit habe ich keine Probleme. Über den "Umweg" mit mosquitto kannst du auch den Weg vom esp32 zum Server besser prüfen. In meinem Script hatte ich übrigens das login für mqtt deaktiviert, d.h. es können hier kein User + Passwort angegeben werden.
Grundsätzlich solltest du IP und Port checken -
@GiuseppeS
Ip und Port passen, habe ich mehfach geprüft. Hatte auch schon das original von
http://esp32-server.de/mqtt-ble/ mit meinen Wlan Zugangsdaten versucht.
beide Fils laufen, das sehe ich am Terminal. Es werden auch alle MAC ausgegeben.
Auf welchem Systhem hast du IoBroker laufen?
Ich am NAS Synology in Docker.
kann mir nur vorstellen, dass es mit dem Docker zusammenhängt. -
@Kopterframe
Nutze ioBroker im Docker Container auf einem Ubuntu Host (PC).
Du musst zunächst herausfinden wo es überhaupt scheitert. Steht die esp32 Verbindung zum mqtt Broker? Welchen Broker nutzt Du überhaupt, den in ioBroker?
Hast Du im ioBroker mqtt Client die subscribtion drin? So schaut es bei mir aus:Der Eintrag bleScan/# ist hierbei relevant.
-
@GiuseppeS
Muss ich den MQTT und den Clint installieren???
Habe nur den MQTT Adapter
![alt text]( image url) -
@Kopterframe
Wenn du den mqtt Adapter verwendest, bringt der den mqtt Broker + Client mit. Dann musst du dort alles einstellen. -
@GiuseppeS
egal, was ich einstelle. Bekommen keine Verbindung?? -
@GiuseppeS
ich Esel, habe doch auf dem ESP die die eigene IP eingetragen.
Geändert und schon geht es.
Sorry, ich bin relativ neu in der ganzen Materie IOBroker.
Ist ein bischen viel auf einmal.
Vielleicht kannst du mir noch sagen wie ich nun einen Datenpungt für die Mac Adressen anlege, zum auswerten.
Vielen Dank -
@giuseppes
Beim kompilieren bekomme ich folgende Meldungclass PubSubClient
has no member namedsetServer
Ich kenne mich damit garnicht so gut. Was genau muß ich de ändern ?Gruß
Lexi -
@screendj
Hi, sorry, aber ich bin auch alles andere als ein Profi. Viel try&error zzgl Google. Ich könnte auch nur Google bemühen. -
@giuseppes
Danke....
Bin langsam am verzweifeln. Bekomme es nicht ans laufen.... -
Ich nöchte gerne ein älteres Handy (für Senioren) auf An- und Abwesenheit prüfen. Dieses unterstützt aber leider kein BLD sondern nur Bluetooth classic. Ist jemand so fit und kann mir sagen, wie das Script umzuschreiben ist, um anstatt BLE eben classic-Geräte zu scannen?
Es gibt diverse Beispiele für BT classic, aber meist geht es da um Zugriff via Bluetooth console. Einen Scanner, oder gar die Anbindung via MQTT finde ich bislang nirgends. Kann doch nicht sein, dass ich der erste bin, der so etwas sucht?!Gruss, Jürgen
-
@wildbill
Im Zusammenhang mit IoBroker kannst du den Radar Adapter verwenden. -
@giuseppes Den kenne ich, der bringt mir aber nichts, da dort, wo ich gerne die Anwesenheit per BT classic prüfen würde, keiner meiner Rechner steht und mir selbst ein Raspi nur für diese eine Aufgabe etwas zu viel Overkill wäre. Zumal ich da jetzt auch extra einen kaufen müsste oder zumindest einen BT-Dongle für einen alten Raspi 1, der noch rumliegt.
Via ESP32 wäre halt schön schlank und ich hätte alles da, bis auf den passenden Sketch...Gruss, Jürgen
-
@wildbill
Habe gerade kurz google bemüht aber bzgl. BTClassic auch kaum was gefunden, höchstens Hinweise, dass der esp32 das könnte...
Der einfache Weg für dich könnte sein, auf dem Android die App "Beacon Simulator" zu installieren. Das würde mit dem hier gezeigten Sketch funktionieren.
Aber nicht jedes Smartphone kann das. Selbst bei aktuellen Modellen gibt es Unterschiede. Mein Huawei P30 Pro sendete einwandfrei, mein aktuelles Smartphone, ein OnePlus 8 Pro, weil einfach nichts senden...Ich benutze in Verbindung mit dem esp32 die xiaomi mi band 5.