Klok via NTP met ESP8266
De Rheinturmuhr of elke andere klok kan via NTP protocol worden aangestuurd. Hierdoor wordt de tijd ingesteld door een timeserver. De Rheinturm Uhr op deze website wordt geregeld via een RTC DS3231. Alhoewel dit een zeer precieze real time clock module is, zal hij naar verloop van tijd toch moeten worden gelijk gezet. Ook omschakeling naar winter- en zomertijd moet 'handmatig' worden gedaan.
Dit project gebruikt een WiFi-verbinding via een ESP8266 nodemcu 0.9 of 1.0 module. De sketch maakt ook gebruik van een TimeZone bibliotheek, zodat de goede tijdzone kan worden gekozen om lokaal de tijd goed weer te geven. Verder is een ESP8266WiFi bibliotheek nodig. Zomer- en wintertijd worden automatisch ingesteld.
TimeZone
ESP8266WiFi
De verbindingen
Externe voeding: GND van de strip, DS3231 en ESP8266 (linksonder) met GND externe voeding, 5V van de strip, DS3231 en ESP8266 met 5V externe voeding
Datalijn strip: ESP8266 D5 (GPIO14), definieer PIN nummer in sketch met '#define PIN 14'; voeg een weerstand toe van 470Ω.
In de Arduino IDE wordt via Bestand -> Voorkeuren (Ctrl-Comma) bij 'Additionele Bordenbeheerder URLs' de volgende link geplakt:
http://arduino.esp8266.com/stable/package_esp8266com_index.json. De IDE moet opnieuw worden gestart; de bordendefinities van ESP modules worden aan de IDE toegevoegd.
Het programma kan worden geladen door bij Hulpmiddelen -> Board: te kiezen voor NodeMCU 0.9 (ESP-12 module) en de bijbehorende poort. Op deze website wordt uitgelegd hoe de verschillende definities van ESP8266 modules in Arduino moet worden geïnstalleerd.
Nadat het programma is geladen, kan de microUSB worden losgekoppeld. Alles werkt nu op de externe voeding, terwijl de ESP8266 via WiFi met de time-server communiceert.