Closed OldTinkerer closed 9 months ago
...kleiner Wermutstropfen: Kriege das mit der jüngsten Arduino IDE (2.2.1) NICHT zum Laufen, habe Compiler-Fehler, die ich nicht wegbekomme...
Schade. Ich nutze normalerweise die sloeber-IDE. Zum testen habe ich aber mal die Arduino-IDE auf 2.2.1 upgedatet, die drei Quellfiles in den Sketch-Unterordner "fake_GPS" gepackt, fake_GPS.ino geöffnet, den "Generic ESP8266" als Board ausgewählt und den Compiler angestoßen. Der hat problemlos durchgebaut:
Ich kann Dir nur raten, nach Deinen Compilerfehlern zu googlen und sie Stück für Stück abzustellen.
...hab's hinbekommen, danke SnowHead. Merkwürdigerweise motzte der Compiler beim "Double Reset...", habe das über die Bibliothek nachgebügelt, IDE neu gestartet und fehlerfrei compiliert bekommen ;-) Läuft jetzt auf einem Wemos mini D1 V3 (habe davon ca. 30 Stk. herumliegen), leider noch Probleme bei POWER OFF/ON, hier springt er mir wieder in die AP-Routine und verwendet NICHT den schon eingetragenen AP...daran tüftle ich gerade ;-)
FAZIT: Bin zu alt und/oder zu doof...
Setup: Wemos mini D1 läuft wie erwartet, SSID und PW sind eingetragen, das Ding läuft wie erwartet (serieller Monitor, direkter Ausgang am Wemos)
Challenge: Stromausfall! 5V sind weg, kommen wieder...Standort unverändert, AP in unmittelbarer Nähe... => Wemos springt in die AP-Schleife und verbleibt dort. Drücke ich Reset (Taste), holt er sich die hinterlegten Werte meines AP und läuft wie erwartet...
Finde im Sketch nicht den Hinweis, das gebacken zu bekommen...mein Problem bleibt der Zustand nach einem Stromausfall...
Ich habe noch nicht mit dem Wemos gearbeitet. Eventuell macht der keinen sauberen Power-On-Reset. Klemme doch testhalber mal einen 100nF-Kondensator über den Reset-Taster.
...das wäre viel zu einfach, das ist es nicht. Ich habe einige Wemos mit Tasmota geflasht, die werkeln schon jahrelang mit HomeAssistant zusammen, power off/on ist denen egal, die erfangen sich sauber und binden sich ordnungsgemäß wieder in WLAN u.ä. Netzen selbstständig wieder ein. Ich habe in der seriellen Ausgabe bemerkt, dass bei power off/on SINGLE RESET angezeigt wird, zuvor der AP sauber verbunden wird, aber er auf die WLAN Eingabemaske springt. Beim Betätigen des RESET-Tasters kommt der DOUBLE RESET, damit läuft er wie erwartet weiter. Ich möchte GitHub nicht überladen, aber hier einmal die serielle Ausgabe nach power off/on:
wm:connectTimeout not set, ESP waitForConnectResult... wm:AutoConnect: SUCCESS wm:STA IP Address: 192.168.0.251 connected...yeey :) SINGLE Reset Detected wm:StartAP with SSID: FakeGPS-AP wm:AP IP address: 192.168.4.1 wm:Starting Web Portal
Hier nach Betätigung der RESET-Taste:
wm:AutoConnect: ESP Already Connected wm:AutoConnect: SUCCESS wm:STA IP Address: 192.168.0.251 autoConnect returned 1 WiFi.status() = 3 IP address: 192.168.0.251 AskCurrentEpoch called time answer received, length=342 $GPRMC,123052,A,0000.0000,N,00000.0000,E,0.0,0.0,030124,0.0,E,S0A $GPRMC,123100,A,0000.0000,N,00000.0000,E,0.0,0.0,030124,0.0,E,S*0C
Ich sehe gerade, daß die Reaktionen auf Double-Reset in WTA-Client.cpp ab Zeile 70 vertauscht sind. Das Portal soll ja bei Double-Reset geöffnet werden. Tausche testhalber mal die beiden Reaktionen aus (serielle Meldungen mit anpassen).
That's it! Up & running ;-)
Big THX!
Danke für die Rückmeldung. Als ich es auf dem Computer fixen wollte stellte ich fest, daß das schon lange gefixt war. Ich hatte nur vergessen, es zu committen. Sorry!
committed Kann geschlossen werden.
Da WorldTimeApi.org seinen kostenlose Dienst am 1. Februar 2024 beendet und irrwitzige $468 pro Jahr für die einfache tägliche Korrektur einer Wohnzimmeruhr verlangt, wurde dieser Service aus der Software entfernt. Stattdessen werden jetzt die API -Dienste von Abstract verwendet.
Hi SnowHead, habe das jetzt mal so auf die Schnelle compiliert, kommen zwar keine Fehler, aber im seriellen Monitor sieht das NICHT gut aus. Komme gar nicht mehr, dazu das reinzukopieren, da läuft etwas noch nicht ganz sauber...
@OldTinkerer Hast Du die zwei API-Keys (siehe README.md) eingefügt? Anderenfalls schlagen die API-Aufrufe fehl und werden häufig und schnell wiederholt. Bei mir läuft es sauber. Habe inzwischen auch Lixie, HollowClock, MinimalClock und SegmentedClock umgestellt und erfolgreich getestet. Werde die dann auch noch vor dem 1. Februar committen.
Danke für den Tipp, setzte ich gleich um! Was mir noch einfällt, das habe ich noch im "alten" Code eingebaut:
Bender gab den Tipp mit dem Datum, damit sieht der String wieder so aus, wie aus der Spec. vom GPS-Chip ;-)
Hi ! For PV Electronics string -
sprintf(tstr, "$GPRMC,%02d%02d%02d,A,0000.0000,N,00000.0000,E,0.0,0.0,%02d%02d%02d,0.0,E,S", tmtime->tm_hour, tmtime->tm_min, tmtime->tm_sec, tmtime->tm_mday, tmtime->tm_mon + 1, tmtime->tm_year - 100);
SO, läuft wie gewohnt, habe meine Keys eingetragen. Hoffentlich bleibt der API von Abstract etwas länger kostenfrei, wenn nicht, dann muss ich mir etwas mit NTP-Servern und automatischer DST-Korrektur einfallen lassen...
Danke nochmals SnowHead!!!
Liebe Grüße OldTinkerer
Hast Recht. Das mit den APIs ist zu umständlich. Wie vorgeschlagen wird jetzt wieder NTP verwendet und der Timezone-Offset automatisch ermittelt. Es ist keine Registrierung irgendwo mehr notwendig.
...ich hatte mit dem Pete von PV-Electronics eine Diskussion darüber, der bietet jetzt nämlich ebenfalls eine Lösung basierend auf einem kleinen 8266er an, allerdings muss man hier die DST noch manuell nachjustieren und das nervt...
... und kostet "bloß" 40€. :scream: :-o
...coole neue NTP-Lösung (läuft bereits an meine Nixie)! By the way, evtl. könntest Du noch die NTPtime-Elemente dazukopieren ;-)
regards, OltTinkerer
Welche Elemente meinst Du und wohin sollen die kopiert werden?
Compiler suchte bei mir nach "NTPClient.h", hab's auf GitHub gefunden, reinkopiert, passt! ;-)
Ah, danke. Reinkopieren wäre nicht sauber aber ich werde den Link zur Git-Library mit in die README.md nehmen.
Perfekt! ;-)
DANKE MANN!
War genau das, was ich gesucht habe. Hatte noch 6 Stk. IN-18 (2014 direkt aus der Ukraine) herumliegen, wollte aber kein GPS-Dongle verwenden, sondern WLAN/NTP nutzen. Der Pete von denen wollte mir unbedingt das GPS-Dongle verscherbeln. Dank Deines Beitrages erspare ich mir zusätzliches Coding ;-)
Liebe Grüße Andreas