Raspberry Pi als Beacon Scanner für Gigaset G-Tags - Reloaded

Habs jetzt erst zufällig wieder gelesen. Werd ich Mal wieder auf die todo Liste setzen. Zur Zeit ist allerdings ein anderes Großprojekt am laufen.

Gesendet von meinem VOG-L29 mit Tapatalk

Ich komme irgendwie mit dem Flashen des ESP nicht weiter.
Kann jemand eine kurze schritt für Schritt Anleitung erstellen?
Bei mir kommen schon die Fehler beim kompilieren.

:\_UserData\Smarthome\ESP32 AKM\main\main.ino: In function 'void setup()':
main:65:8: error: 'class PubSubClient' has no member named 'set_server'
   mqtt.set_server(MQTT_server, MQTT_port); // MQTT Port einstellen
        ^
main:66:20: error: 'MQTT' has not been declared
   if (mqtt.connect(MQTT::Connect(MQTT_Name).set_auth(MQTT_User, MQTT_Pass)))
                    ^
main:69:18: error: 'MQTT' has not been declared
     mqtt.publish(MQTT::Publish("hallo", MQTT_Name).set_qos(QoS)); // im Topic hallo Präsenzmelder Name schreiben
                  ^
C:\_UserData\Smarthome\ESP32 AKM\main\main.ino: In function 'void loop()':
main:96:16: error: 'MQTT' has not been declared
   mqtt.publish(MQTT::Publish(MQTT_Name, NachrichtJSON).set_qos(QoS)); // JSON per MQTT senden
                ^
main:107:18: error: 'MQTT' has not been declared
     mqtt.connect(MQTT::Connect(MQTT_Name).set_auth(MQTT_User, MQTT_Pass));
                  ^
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
 Benutzt: C:\Users\ThomasP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
 Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
Mehrere Bibliotheken wurden für "BLEDevice.h" gefunden
 Benutzt: C:\Users\ThomasP\Documents\Arduino\libraries\ESP32_BLE_Arduino
 Nicht benutzt: C:\Users\ThomasP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\BLE
exit status 1
'class PubSubClient' has no member named 'set_server'

Vielen dank an someone für die Hilfe zum Einrichten. Der ESP ist nun richtig geflasht. Einen mit Display habe ich auch noch bestellt.

Bei dem Modul habe ich aber noch das Problem, dass ich zwar die Daten eintragen kann und auch im debug die Daten ankommen. Aber es werden keine Variablen angelegt.

Gibts da noch was zu beachten?

Hi,

boah cool, das ist komplett an mir vorbei gegangen. Vielen Dank dafür, läuft super.

Welchen Code habt ihr denn auf den esp32 geflasht?

Gesendet von meinem VOG-L29 mit Tapatalk

HI,

tommy86

hat acer90 doch geschrieben

Moin allerseits, ich habe grade mein Modul fertig gestellt, das auf der CodeBasis von MQTT Bluetooth Anwesenheitserkennung Raum präsenzmelder läuft.

Auf die esp drauf, Variablen nach deinen wünschen anpassen und diese Zeile

#define MQTT_Name "Scanner_Flur"    // gleichzeitig publish Name

als „iBEaconScanner device“ ins modul eintragen.

Viele Grüße

Ich verstehe das nicht ganz. Wenn ich den Code von der Website flashen will bekomme ich lauter Fehler.

Someone hat den Code modifiziert, den kann ich flashen. Allerdings funktioniert dann das Modul nicht, da dann die Daten anderes übertragen werden.

Oder gibt es was besonders zu beachten oder in welchem Format sollen die Daten für das Modul ankommen? Dann könnte ich den Code von someone evtl noch weng anpassen.
Danke euch schon jetzt

Gesendet von meinem VOG-L29 mit Tapatalk

Hast du auch den pubsubclient von Imroy installiert?

Auf der Seite „http://esp32-server.de/mqtt-ble“ steht unter dem Sketch, dass die verwendete MQTT Bibliothek die „MQTT client library for Arduino“ vom Imroy ist.

Habe diese Installiert

Gesendet von meinem VOG-L29 mit Tapatalk

Damit geht es nicht, du brauchst den pubsubclient von Imroy.

Hi,

tommy86
das steht doch auch auf der oben verlinkten Seite was voraussetzung ist. Mit link und allem…

Gesendet von meinem HD1903 mit Tapatalk

Ah ok das stimmt dass das von imroy sein muss steht da. Wenn man drauf achtet. Es gibt eben die gleichnamige libraray in Arduino internen Erweiterung.

Jetzt läuft es perfekt :slight_smile: Danke an euch alle

vielen Dank für die Erklärung, damit habe sogar ich als Programmier- und Linuxnoob die Einrichtung geschafft.
Einzig was ich weggelassen habe ist das Webhook, da ich die Meldungen direkt an mein Haupt-IPS sende.

Das ist inzwischen einfacher machbar, da es die Tasmota Firmware für ESP32 bereits fertig mit Bluetooth und MQTT enthalten gibt.
Ich habe aktuell drei ESP32 damit laufen, die die MiFlora Daten sammeln und gleichzeitig auch meine Tile Beacons erkennen, die ich an mir und im Auto habe.

Die Erkennung ist relativ schnell, es wird alle 10 Sekunden gescannt und nach 30 Sekunden auf abwesend gesetzt. Das ist noch nicht ganz optimal, da es zwischendurch immer mal wieder kurze Aussetzer im Empfang gibt und der Beacon dann abwesend wird. Das liegt vermutlich auch daran, dass der Körper das Signal abschwächt und natürlich Wände und Decken auch.

Aber so kann ich in den drei Testräumen ziemlich schnell erkennen, ob ich dort bin oder woanders im Haus.

Ich interessiere mich sehr für die esp32 Version.
Gescannt wird fix alle 10s? Das ist noch nicht gut. Kann man das einstellen?
Sendet der esp mqtt bei Veränderung oder im fixen Abstand oder beides?
D1 Mini und usb Versorgung?
Danke Sebastian

Ich habe die " AZDelivery 5 x ESP32 D1 Mini" im Einsatz, schnell vom großen Fluss oder langsamer über Ali*. Die habe ich direkt über USB mit Netzteil versorgt.

In der Firmware kann man beide Zeitfenster einstellen. Die Doku ist glaube ich noch nicht mit der „offiziellen“ gemerged.

Ich bin nicht sicher, ob der Empfang oder das Senden das Problem sind, bei mir sendet der Tile nur alle 10 Sekunden. Es gibt wohl auch andere Beacons, aber „ständiges“ Senden reduziert die Batterielaufzeit. Es hängt also von deiner Aufgabenstellung ab.

Der ESP sendet (leider) ständig, da er ja auch RSSI übermittel, was sich oft verändert, nicht nur bei Bewegung des Beacons. Selbst im direkten Nahbereich wird der Tile manchmal nicht gesehen und der Status springt mal kurz auf OFF.

Ich werde die mal testen.
Aktuell laufen mit 5 Pis gut, aber nicht perfekt.
Pi zero W bleibt schon mal hängen und muss gebootet werden. Nicht sehr häufig.
Pi3 verliert bluetooth und muss gebootet werden.
Etwas nervig, deshalb möchte ich gerne mal was anderes probieren.

Ich habe je ein Symcon lokal und damit Logik dort. Das macht es leichter wenn mal keine Verbindung zum Hauptsystem besteht.

Ich bestell mal welche.
Wie gehe ich dann vor?
Ich falsche den ESP32 mit Tasmota. Nehme ich den Standrad tasmota.bin?
Dann gehts wohl auf einer Weboberfläche weiter?
Danke,
Sebastian

Aufgrund der Instabilitäten meiner PIs teste ich die ESP32.

Du nimmst von http://ota.tasmota.com/tasmota32/ die *-bluetooth Version und musst sie gemäß Anleitung flashen, das geht nicht mit dem Tasmotizer, da du beim ersten Mal insgesamt vier Teile flashen musst. Später kannst du dann einfach OTA flashen.

Die Beacons werden automatisch erkannt, weitere Konfigurationen, Aliase, etc. kannst du gemäß Doku in der Tasmota Weboberfläche machen. Dieser Link ist aktueller, da die „offizielle“ Tasmota Doku manchmal etwas hinterher hinkt.

btsimonh ist auch im Tasmota Discord aktiv und antwortet meist schnell.

gibt es eine Empfehlung für einen USB-Seriell Adapter, damit ich die ESP32 geflasht bekomme?
Idealerweise von Amazon, dann muss ich nicht so lange auf die Lieferung warten :wink:
Würde mich dann mal mit der Alternative zum Raspberry PI mal mit dem ESP32 befassen.

werden dann meine ersten Gehversuche mit diesen neumodischen Einplatinen-Dingern :smiley:

Kein Adapter, normales USB Kabel A auf Micro und los geht es.