S0 -> Wemos D1 Mini -> HTTP Push Request -> Volkszähler

  • Guten Abend,


    kann mir jemand bei der korrekten Syntax für ein HTTP Push Request vom Wemos D1 mini ESP 8266 zum Volkszähler helfen?

    Ich programmiere mit der Arduino IDE und den dazugehörigen libraries. wie funktioniert speziell der Aufbau des HTTP Push Request mit den zur Verfügung stehenden Libs?


    als "serverName" hab ich

    const char* serverName = "http://192.168.2.150:80/middleware.php/data";


    Ich habe momentan keine Möglich das direkt zu testen. Daher meine Frage ob das so funktioniert?! Oder wie muss der "serverName" und der httpRequestData String aussehen?

  • Ich denke da fehlt noch ein "/" zwischen /data und UUID.json. Asonsten passt das aber.


    (Und natürlich muss statt "UUID" die UUID des Kanals im Code stehen.)

    No Shift - No Service

  • Das hat leider so nicht funktioniert. Im Frontend kommen keine Daten an. An welcher Stelle kann ich denn nachschauen wo was ankommt? Die vzlogger.log loggt ja nur die in der vzlogger.conf eingetragenen Dinge mit, oder?

  • Im Frontend kommen keine Daten an.

    Das Frontend holt die Daten seinerseits auch nur aus der Middleware.


    An welcher Stelle kann ich denn nachschauen wo was ankommt?

    Erste Frage wäre ob du die Quittierung der Middleware hast (HTTP-Code 200 und der Antworttext mit volkszähler-Versionsnummer rund Anzahl der empfnagene Tuple)?


    Bei anderen Datenquellen muss man dann schauen was das Log vom Webserver so hergibt. Z.B. access.log des Apache2. Da sollte der erfolgreiche Zugriff ebenfalls mit Code 200 bestätigt werden.


    Die vzlogger.log loggt ja nur die in der vzlogger.conf eingetragenen Dinge mit, oder?

    Ja, eben das was der vzlogger an Daten verarbeitet. Wenn man die Middleware über andere Datenquellen füttert taucht das in dem Logfile nicht auf.

    No Shift - No Service

  • Vielen Dank für die Tipps. Ich werde morgen weiter ausprobieren.


    Ich denke, ich habe unabhängig davon noch einen Fehler gefunden:

    Der Wemos D1 mini hat einen Software watchdog, der nach ca. 3 sec. rebootet und einen Hardware watchdog, der nach dem Abschalten vom Software watchdog nach ca. 8 sec. rebootet. Diesen kann man nicht abschalten. Wenn ich jetzt per Interrupt auf die Pulse warte und es nicht gerade Hochsommer ist, lässt ein Puls bei einer Anlage mit 600W max. Leistung ("Balkonkraftwerk") und einem Zähler mit 1600 Impulsen pro kWh natürlich auf sich warten. Ich habe auch beobachtet, dass die onboard Led regelmäßig aufblinkt. Ich denke das war der reboot und das Programm kam gar nicht so weit einen HTTP Request zu senden...