Forum: Mikrocontroller und Digitale Elektronik ESP-01S als Zeitgeber mit AT-Kommandos - Problem


von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

Einen Gruß an die versammelte Forengemeinde.

Ich hätte gern mal ein Problem :-)
Ich möchte gerne mit einem µC(ATmega) von einem ESP-01S-Modul die 
aktuelle Uhrzeit einlesen.

Dazu experimentiere ich schon einige Zeit mit dem ESP-01S über einen 
USB-Seriell-Adapter, Programm ist HTerm, Befehle vom "ESP8266 AT 
Instruction Set" V3.0.3 von Espressif. Der ESP hat die aktuelle Firmware 
V1.7.4.0, SDK V3.0.4.

Ich habe mal ein paar Schritte aufgezeichnet (Bild).
(1) Nach Reset, Zeitabfrage nicht konfiguriert
(2) SNTP aktiviert, Zeitzone 1, die chinesischen Standardzeitserver sind 
aktiv
(3) Zeitabfrage funktioniert nicht (01.01.1970 00:00:00)
(4) IP-Adresse der eigenen Fritz-Box eingetragen
(5) Zeitabfrage korrekt
(6) Fritz-Box als Name eingetragen
(7) Zeitabfrage funktioniert nicht :-(

Ich habe auch schon verschiedene andere Zeitserver probiert, die ich bei 
der Problemrecherge im Internet gefunden habe, kein Erfolg.

Hat jemand eine Idee, was ich noch probieren könnte? Problem mit der 
Namensauflösung? Irgendwas übersehen?

Reinhard

PS. Ich habe auch noch im Hinterkopf, von diesem Problem hier im Forum 
vor Kurzem schon mal gelesen zu haben. Aber da stand das Problem bei mir 
noch nicht und ich finde die Diskussion nicht mehr.

von Oliver S. (phetty)


Lesenswert?

Wieso so kompliziert?
Den ESP kann man doch auch programmieren und damit den Atmega komplett 
ersetzen.

Oder ist das einer eher sportliche Aufgabe?

von Reinhard R. (reirawb)


Lesenswert?

Oliver S. schrieb:
> Den ESP kann man doch auch programmieren und damit den Atmega komplett
> ersetzen.
Das Projekt ist auf dem ATmega schon in einem gewisssen Stadium, 
ursprünglich sollte DCF77 als Zeitquelle dienen, nun soll das Internet 
dafür herhalten. Außerdem, ATmega kenne ich, ESP programmieren müßte ich 
erst mal lernen (was ich natürlich nicht ausschließen möchte).

Ich habe noch weiter probiert und dabei herausgefunden, dass die 
Zeitabfrage an die IP-Adresse verschiedender Zeitserver im Internet 
funktioniert, nur nicht über die Namen. IP funktioniert sogar bei 2 von 
den 3 im ESP vorgegebenen Zeitservern.

Was kann ich da machen?
Halt die IP-Adressen verwenden? Probleme damit?

Reinhard

: Bearbeitet durch User
von Werner P. (werner4096)


Lesenswert?

https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf

Schau mal bei 5.2.30 und 5.2.31

damit kannst Du den DNS Server (ip) angeben und speichern.

PS: Kann es nicht testen da ich keinen ESP8266 da habe

: Bearbeitet durch User
von Reinhard R. (reirawb)


Lesenswert?

Werner P. schrieb:
> Schau mal bei 5.2.30 und 5.2.31
>
> damit kannst Du den DNS Server (ip) angeben und speichern.
Super, danke, das war der entscheidende Tip. Es funktioniert.
Hätte ich aber auch selber drauf kommen können (Kopf gegen Wand).

Reinhard

von mIstA (Gast)


Lesenswert?

Reinhard R. schrieb:
> Oliver S. schrieb:
>> Den ESP kann man doch auch programmieren und damit den Atmega komplett
>> ersetzen.
> Das Projekt ist auf dem ATmega schon in einem gewisssen Stadium,

Klar, dann machts wenig Sinn, das komplette Projekt jetzt auf den ESP zu 
portieren.


Reinhard R. schrieb:
> Außerdem, ATmega kenne ich, ESP programmieren müßte ich
> erst mal lernen (was ich natürlich nicht ausschließen möchte).

Nur mal so als Hinweis, den ESP kann man u.a. auch in Python oder LUA 
programmieren; gibts für beides fertige Firmware fürn ESP verfügbar.

Ein passendes Skript, das die WLAN-Anmeldung (auch für mehrere 
verschiedene WLANs), Zeitabfrage (natürlich ebenfalls mit mehreren 
Zeitservern möglich) und das parsen der Antwort komplett selbstständig 
am ESP erledigt und dem ATmega dann die aktuelle Zeit im genau passenden 
Datenformat übergibt, zu basteln dauert sicher kaum länger, als Deine 
bisherigen Experimente, um das ganze mit AT-Kommandos zu erledigen.

Damit sparst Du Dir am Atmega auch den Speicher für die ganzen 
Kommandostrings, WLAN-Zugangsdaten, Zeitservernamen usw. und liefert Dir 
eine deutlich flexiblere (und damit zuverlässigere) Zeitquelle.

von Reinhard R. (reirawb)


Lesenswert?

@mIstA
Danke für deine Anregungen.
Bei der Problemrecherge im Internet habe ich auch diverse Lösungen mit 
direkter Programmierung der ESP gefunden. Meist unter der Arduino-IDE.
Ich such(t)e eine schnelle Lösung und da erscheint mir die Verwendung 
eines ESP-01S als Blackbox angesprochen durch die AT-Kommandos als eine 
gute Möglichkeit. Ich werde jetzt auch diesen Ansatz erst mal weiter 
verfolgen.

Reinhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.