NEWS
Serielles Logging handmade ESP8266 MQTT Client (Arduino SDK)
-
Hallo, ich habe mir mit der Arduino SDK eine Wemos D1 Mini basierte Heizkörpersteuerung für mein Arbeitszimmer gebastelt.
https://github.com/MartinP1/ESP8266_MQTT_THERMOSTAT
Nutzt MQTT zum Interfacing.
ioBroker ist nur dafür zuständig, über MQTT Istwerte entgegenzunehmen, und Sollwerte an das Kästchen zu schicken.Das Ding hat im vergangenen Winter sauber seinen Dienst versehen.
Seitdem ich jetzt die Anordnung vom Tisch an die Wand versetzt habe, verliert die Kiste regelmäßig die Verbindung (Womöglich schlechteres WLAN am neuen Aufbauort).
Anscheinend funktioniert der auf dem D1 Mini laufende Regler aber noch. Lediglich WLAN und MQTT sind tot.Zum Logging wird die serielle Ausgabe über den internen USB-Seriell-Konverter des D1 Mini verwendet.
iobroker läuft auf einem Gigabyte NUC Klon unter einer Proxmox Installation.
Soviel zur Vorgeschichte, nun zu meinen Fragen.
Der Proxmox-Rechner steht in direkter Nähe des D1 Mini Setups.
Auf welche Weise kriege ich am besten die über USB-Seriell einlaufenden Log-Meldungen in diesen Proxmox Rechner?
Zur Zeit bin ich bei den Problemen im Blindflug, und ziehe beim Versuchsaufbau kurz den Netz-Stecker, da ich an das Logging nicht mehr so leicht herankomme.Da der Proxmox-Rechner im Gegensatz zum Rechner mit der Arduino SDK in Kabel Reichweite ist, wollte ich den Proxmox benutzen ...
Luxus-Lösung
- Kriegt man irgendwie das serielle Logging über USB in das ioBroker Logging integriert?
Plan-B
- Irgendwie kriegt man mit einer seriellen Konsole o. Ä. sicherlich die seriell-USB Daten in ein Linux-Terminalfenster
Wo sollte man dieses Terminalfenster laufen lassen?
Bequemerweise wäre ja ggfs. der ioBroker Linux-LXC-Container oder die Proxmox-Konsole nett?
Oder wäre es sinnvoll einen weiteren LXC-Container für diese temporäre Testaufgabe zu nutzen?
Ist schon etwas sehr weit Off-Topic, aber vielleicht hat jemand schon vor ähnlichen Problemen gestanden und hat eine Idee....
-
@martinp Leider kann ich zur seriellen Frage nicht Sinnvolles beitragen, aber könnte ein Repeater vielleicht die WLAN Problem beseitigen.
-
@geschild Danke, das werde ich mir mal anschauen.
Werde mir auch etwas überlegen müssen, "abgeschmierte" MQTT Endgeräte mit ioBroker zu identifizieren, und ggfs. irgendwie eine Benachrichtigung zu bekommen ...
Im Logging sieht man schon mal, wenn der ESP am Rad dreht ...
mqtt.0 2023-08-10 03:28:41.477 info Client [esp8266-cf6d7a] connected with secret 1691630921476_1620 mqtt.0 2023-08-10 03:28:39.474 info Client [esp8266-cf6d7a] connection closed: closed mqtt.0 2023-08-10 03:28:32.509 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:28:28.507 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:28:26.507 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:27:58.653 info Client [esp8266-cf6d7a] Received pubrec on esp8266-cf6d7a for unknown messageId 8 mqtt.0 2023-08-10 03:27:58.653 info Client [esp8266-cf6d7a] connected with secret 1691630878652_9414 mqtt.0 2023-08-10 03:27:56.647 info Client [esp8266-cf6d7a] connection closed: closed mqtt.0 2023-08-10 03:27:50.492 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:27:46.492 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:27:42.490 warn Client [esp8266-cf6d7a] Message 8 deleted after 11 retries mqtt.0 2023-08-10 03:27:15.806 info Client [esp8266-cf6d7a] Received pubrec on esp8266-cf6d7a for unknown messageId 8
-
Habe jetzt erstmal das Sketch renoviert.
Hatte da die Library "AsyncMqttClient" verwendet. Die scheint aber nicht mehr gepflegt zu werden.
https://github.com/marvinroger/async-mqtt-client
Letzte Änderungen von Jahren....Aufbauend auf der Arbeit des Autors von AsyncMqttClient Marvin ROGER gibt es nun von Khoih Hong "AsyncMqtt_generic".
https://github.com/khoih-prog/AsyncMQTT_GenericDie API scheint kompatibel zu sein, und ist direkt in der Arduino IDE installierbar - gehört also zu deren Repository.
Die Kiste hängt jetzt noch seriell an der Arduino IDE, und erste Tests sind nicht besonders vielversprechend immer sekundenlange Aussetzer...
4:14:57.249 -> [AMQTT] _onPoll: PING timeout, disconnecting 14:14:57.249 -> Disconnected from MQTT. 14:14:59.269 -> Connecting to MQTT... 14:14:59.269 -> Connected to MQTT. 14:14:59.269 -> Session present: 1
EDIT Habe noch eine zweite Änderung gemacht - der ESP wählt sich nun in das WLAN eines anderen Access-Points ein. Habe vier WLAN Netze im Haus, die alle eigene SSIDs haben. Freifunk, und drei private verschlüsselte Netze...
Mit dem privaten verschlüsselten Netz auf dem Freifunk-Router kommt der ESP besser zurecht. Ich vermute das automatische Kanal-Hopping der Fritzbox hat ihm nicht gefallen... Der Freifunk-Router bleibt immer auf demselben Kanal ...