Sensorausgabe mit MQTT publishen ?
|
12.12.2020, 18:49
Beitrag #1
|
|||
|
|||
Sensorausgabe mit MQTT publishen ?
Hallo,
Ich bin neu hier, hatte bis jetzt noch nie mit Arduino und Co zu tun und besitze auch erst seit zwei Tagen ein ESP32 Dev Kit C + HCSR501 PIR-Sensor von AZ-Delivery. Beides läuft inzwischen: das Bewegungsmelder Sketch zeigt mir im Seriellen Monitor der Arduino IDE an ob eine Bewegung erkannt wurde oder nicht. ![]() Nun habe ich ein MQTT Sketch gefunden mit dem ich ein "Hello from ESP32" publishen und in "MQTT.fx" auch angezeigt bekomme. Das funktioniert auch soweit. ![]() Aus beiden Sketches habe ich versuchsweise mal eines gemacht um die Ausgaben des Bewegungsmelders ("Motion detected!" / "No motion!") per MQTT zu versenden, nur WIE? Ich habe ein paar (für mich) komplizierte Beispiele gefunden aber letztendlich nur "Bahnhof" verstanden. Ich denke mir das man für die Ausgabe des Bewegungsmelders irgendwie eine Variable definieren muss um diese dann im Topic "esp/test" zu publishen, nur weiß ich wirklich nicht wie. Kann mir jemand in "einfachen Worten" ;-) auf die Sprünge helfen wie ich eine Sensorausgabe, die im seriellen Monitor zu sehen ist, als Text per MQTT versende? Mein Sketch: Code: #include <WiFi.h> Danke, und einen schönen Samstag noch... bis dann, Steinspiel |
|||
12.12.2020, 18:54
Beitrag #2
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
Probier mal (ungetestet):
Code: boolean state = digitalRead(SENSOR_PIN); Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
12.12.2020, 20:24
Beitrag #3
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
Moin,
(12.12.2020 18:54)Tommy56 schrieb: Probier mal (ungetestet): Das war Super, so könnte ich jetzt sogar eine Lampe schalten! Danke. ![]() ![]() Mein eigentliches Ziel ist es ja die Ergebnisse eines BT BLE Scanners per MQTT vom ESP32 zu bekommen. Ich habe gerade mal Deinen Vorschlag versucht an zu wenden (also die MQTT Ausgabe gleich unter die PrintIn Ausgabe im "void loop Bereich" zu setzen), aber in MQTT.fx empfange ich dann auch nur ein "foundDevices.getCount()" als Text und keine Ausgabe der MAC Adressen so wie im seriellen Monitor zu sehen. Ich lass mal diesen ganzen MQTT + WIFI "Kram" weg. Hast Du auch ne Idee wie ich in diesem Sketch ne Ausgabe an MQTT bekomme? Denn nur die publish Zeile ein zu fügen hilft leider nicht: "client.publish("esp/test","foundDevices.getCount()");" der BLE Sketch: Code: /* Danke noch mal für die schnelle Hilfe und ich habe auf jeden Fall dazu gelernt! Apropos "lernen", Kannst Du mir sagen wie ich herausbekomme welches Sketch gerade im ESP32 abgearbeitet wird? Bei meinen vielen Versuchen mit ähnlichen Sketches komme ich leicht durcheinander... ![]() bis dann... bis dann, Steinspiel |
|||
12.12.2020, 20:28
Beitrag #4
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
Ich habe von MQTT eigentlich überhaupt keine Ahnung, das war nur aus Deinem Beispiel entwickelt.
Zu Sketchname usw. schau mal bei Fips. Da gibt es spezielle Compilerinfos. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
12.12.2020, 21:01
(Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2020 21:02 von nbk83.)
Beitrag #5
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
Moin,
Versuch mal client.publish("esp/test",foundDevices.getCount()); Also ohne Anführungszeichen. Gruß Jan |
|||
12.12.2020, 21:32
Beitrag #6
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
(12.12.2020 21:01)nbk83 schrieb: Moin, Habe da ne Fehlermeldung bekommen, mit der ich natürlich nichts (!) anfangen kann! Code: Arduino: 1.8.13 (Windows 10), Board: "ESP32 Dev Module, Disabled, No OTA (2MB APP/2MB FATFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None" Schade, Danke trotzdem. bis dann, Steinspiel |
|||
12.12.2020, 21:34
Beitrag #7
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
(12.12.2020 20:28)Tommy56 schrieb: Zu Sketchname usw. schau mal bei Fips. Da gibt es spezielle Compilerinfos. Ich werde es probieren! bis dann, Steinspiel |
|||
12.12.2020, 22:36
Beitrag #8
|
|||
|
|||
RE: Sensorausgabe mit MQTT publishen ?
(12.12.2020 21:32)Steinspiel schrieb: Habe da ne Fehlermeldung bekommen, mit der ich natürlich nichts (!) anfangen kann! Ja, sorry, hatte vergessen, dass publish als payload eine Variable vom Typ char erwartet und foundDevices.getCount() ein int zurückgibt. ich hätte jedoch gedacht, dass es nur die Anzahl der gefundenen BLE-Geräte angibt und nicht die MAC-Adressen.... Versuch mal client.publish("esp/test",char(foundDevices.getCount())); (wenn das nicht funktioniert, muss ich es selbst mal ausprobieren ![]() Ich merke grad, dass ich bisher immer nur float zu char umwandeln musste, das geht mit dtostrf, wenn ich Werte per MQTT verschicke... Gruß Jan |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste