Rainer's Uhr
› Foren › User Projekte › Rainer's Uhr
Schlagwörter: NTP Time Server
- Dieses Thema hat 13 Antworten und 6 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Jahren, 11 Monaten von Rainer.
-
AutorBeiträge
-
Dezember 9, 2015 um 10:53 Uhr #739RainerTeilnehmerDezember 9, 2015 um 11:00 Uhr #743RainerTeilnehmer
jetzt als zip Datei
Attachments:
Dezember 9, 2015 um 13:04 Uhr #745bastardMitgliedDezember 9, 2015 um 13:22 Uhr #749RainerTeilnehmerHallo Stefan,
danke für den „Deppen“, ich benutze wohl zu häufig die englische Sprache, dort ist der Apostroph durchaus als Genitiv -s angebracht.
Allerdings habe ich auch das gefunden :
- Seit der Einführung der neuen deutschen Rechtschreibung kann auch im Deutschen zur Hervorhebung von Namen der Apostroph Verwendung finden: Jürgen’s Imbiss
Ich lasse das Program mal so wie es ist, wer es benutzen will, wird ja wohl dort seinen Namen eintragen.
Beste Grüße,
Rainer
- Diese Antwort wurde geändert vor 9 Jahren von Rainer.
Dezember 10, 2015 um 10:01 Uhr #763fkAdministratorHi,
echt schönes Projekt!Das mit den ino-Dateien stimmt. Mann sollte die Projekte immer erst Zippen.
Dezember 11, 2015 um 17:35 Uhr #808StefanieMitgliedLieber Rainer,
Erstens tolle Umsetzung!! Ich habe eine Frage zu den Bauteilen, aus welchem Kalender oder Set stammt der Display und noch viel wichtiger wie heißen die vorgefertigten Verbindungskabel? und wo bekommt man die?
Herzliche Grüße und Danke im Vorhinein
Dezember 12, 2015 um 08:47 Uhr #815RainerTeilnehmerHallo Stefanie,
das Display stammt von Adafruit, es gibt es ohne und mit einer zweiten Platine für das I2C Interface, mit 2 oder 4 Zeilen.
Beim Arduino nano kann man SoftwareSerial und I2C ( „wire“ Bibliothek ) nicht gemeinsam nutzen, daher habe ich das Display direkt über 4 Bit angesteuert. Wichtig ist es, die I/O Pins 11 und 12 nicht zu benutzen, diese sind zwar auf der Stiftleiste herausgeführt, werden aber für das WLAN Modul benötigt.
Auf der Website von Adafruit ist auch eine super Anleitung, wie man das Display anschliesst und ansteuert !
Wenn man in einer Suchmaschine „Adafruit Display“ oder „Adafruit LCD“ eingibt, findet man auch Anbieter in Deutschland.Die Verbindungskabel werden von vielen Anbietern verkauft. Einfach mal nach „jumper wire“ suchen, dann kommen von Amazon über Conrad und eBay etc. viele online Shops. Dort findet man auch die Steckbrücken in unterschiedlicher Länge für das Raster des Steckbretts.
Aus Fernost dauert es etwas länger, aus der EU sind die Lieferzeiten wesentlich kürzer !Viel Erfolg,
Rainer
Dezember 13, 2015 um 20:05 Uhr #853RainerTeilnehmerHallo,
ich habe mal wieder etwas gespielt und das NTP Beispiel aus der Time Library an das ESP Modul angepasst.
Dieses Programm verbindet sich mit dem NTP Server der Telekom ( geht aber auch für andere Server ) und ruft alle Stunde die Uhrzeit zur Synchronisation ab, dazwischen läuft es autonom mit der internen Uhr aus der Time Lib.
Das Beispiel aus der Lib basiert auf einer LAN Verbindung, die verwendeten IP adressen für die Server scheinen nicht mehr aktuell zu sein. Ich habe den Code umgeschrieben und den Code aus dem Kalender für UDP Verbindungen damit ergänzt, um das WLAN Modul zur Verbindung mit meinen WLAN zu benutzen.
Über den seriellen Monitor werden Datum und Uhrzeit ausgegeben, auf dem LCD Display ist nur die Zeit sichtbar.Das Protokoll für den NTP Server benutzt binäre Daten und muss für das SEND Kommando umgewandelt werden. Hier darf zum Abschluss kein CR/LF angehängt werden ! Die 4 Bytes mit den Sekundenbruchteilen werden nicht genutzt.
An mancher Stelle werden sich guten Programmieren die Nackenhaare sträuben, ich wollte das nur quick & dirty zu Ende bringen, bevor das Wochenende um ist. Es funktioniert aber gut, man muss nur die SSID und das Passwort eintragen. Das Timeout zur WLAN Anmeldung ist auf 20 Sekunden gesetzt, bei mir dauert die Anmeldung manchmal recht lange.
Für eine tiefere Beschäftigung mit NTP habe aich auch eine etwas ältere Dokumentation des NTP Protokolls angehängt, ich habe nicht weiter nach aktuelleren Ausgaben gesucht, diese hier hat mir gute Dienste getan.
Ich bin für alle Verbesserungsvorschläge offen !
Rainer
- Diese Antwort wurde geändert vor 9 Jahren von Rainer.
Attachments:
Dezember 14, 2015 um 16:47 Uhr #861HartmutMitgliedPrima Projekt, dass ich auch verfolge. Eigentlich fehlt ja nur noch eine vernünftige Fehlerbehandlung (z.B. ein reconnect nach Abbruch), die aber den Aufwand durchaus mal verdoppeln kann (vorsichtig gerechnet). Aber mehr als ein Proof-Of-Concept ist Deine Uhr ja schon.
Eine kleine Bemerkung zur Time-Library.
MitsetSyncProvider(getNtpTime);
übergibts Du einen Funktionspointer an die Time-Library. Die Funktion selbst wird dabei aber gar nicht aufgerufen. Dies geschieht erst in der Funktionnow()
und zwar alle 5 Minuten (300 Sekunden). Dieses Intervall kann man mit Hilfe der FunktionsetSyncInterval(time_t interval)
verändern, z.B. häufiger für Debug Zwecke und noch seltener für die Produktion. Der Aufruf von setSyncProvider(getNtpTime); in der Loop ist also überflüssig.Dezember 14, 2015 um 17:01 Uhr #862RainerTeilnehmerHallo Hartmut,
danke für den Hinweis, ich habe mich mit der Time Lib ( noch ) nicht näher befasst, wollte das Ganze nur mal ans laufen bringen, daher auch keinerlei Fehlerbehandlung,
Ich habe den Aufruf setSyncProvider(getNtpTime) auch bereits wieder aus der loop entfernt, da war zusätzlich zu Deiner Bemerkung noch ein Gedankenfehler bei der IF Abfrage !
Dafür zeige ich jetzt auch das Datum im LCD Display an !
Wenn ich dann noch eine über UDP ansprechbare Wetterstation finde, werde ich dann auch noch das Wetter anzeigen, habe noch ein Display mit 4 Zeilen, das sollte reichen !Beste Grüße,
Rainer
Dezember 18, 2015 um 12:50 Uhr #909JonathanTeilnehmer… Beim Arduino nano kann man SoftwareSerial und I2C ( „wire“ Bibliothek ) nicht gemeinsam nutzen……
—————-
Ich wollte mir gerade so ein Display mit I2C bestellen. Das würde echt nicht funktionieren? Oder?Dezember 18, 2015 um 16:00 Uhr #910RainerTeilnehmerHallo Jonathan,
richtig, beim nano klappt das nicht.
Ich habe damals aus dem Grund den Leonardo bzw. Micro für meine Projekte genommen, die haben eine zweite Serial Schnittstelle.Allerdings kann man das Display bei meiner Version von der I2C Interface Platine abziehen und dann, wie im Bild sichtbar, über 6 I/O Pins ansteuern. Hierbei nicht den Trimmer für den Kontrast vergessen !
Achtung : die meisten Beispiele in der LiquidCrystal Lib haben 11 und 12 mit genutzt, die werden hier für das WLAN Modul verwendet.Ich habe mal eine verbesserte Version des NTP Time Servers angehängt :
der Aufruf des Servers alle 300 Sekunden durch die Time Lib,
die LED an PIN 13 leuchtet, wenn die Synchronisation geklappt hat und nicht, wenn die Synchronisation fehlgeschlagen ist,
Datum und Uhrzeit werden angezeigt.Viel Erfolg,
Rainer
- Diese Antwort wurde geändert vor 9 Jahren von Rainer.
Attachments:
Januar 25, 2016 um 18:55 Uhr #1136fkAdministratorHi Rainer,
ich habe dein Bild von der tollen Uhr als Titelbild für eine neue Kategorie „User Projekte“ genommen. Ist das für dich in Ordnung oder soll ich ein anderes Bild benutzen?
LG Fabian
Januar 25, 2016 um 21:50 Uhr #1138RainerTeilnehmerHallo Fabian,
kein Problem, gerne !
Gruß, Rainer
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.