Hi, Ich hab diese coole Uhr vor einiger Zeit im Internet gefunden und direkt alles bestellt um sie Nachzubauen. Gab auch eine ziemlich gute Anleitung. Hat alles auf Anhieb geklappt. So gut der Code geschrieben ist (glaub ich zumindest verstehe das meiste nicht) möchte ich das ganze Zeug mit dem Wlan einrichten über eine AP (hoffe das ist richtig). Ich muss ja wenn ein doppelreset erkennt mich mit dem erzeugten Wlan verbinden dann die IP aufrufen und dort kommt die Oberfläche mit dem ich die Wlan Verbindung einrichte. Das möchte ich nicht. Ich wollte direkt im Code mit diesem Befehl das Wlan einrichten: WiFi.begin(Netzwerkname, Passwort); Problem: keine Programmier Ahnung hab es natürlich dennoch probiert was absolut nicht funktioniert hat. Jetzt zu meiner Frage wäre einer so nett das Programm so umzuschreiben das dass mit dem doppelreset und der AP rausfällt und den obigen befehl einfügt? Wäre wirklich cool https://github.com/hwiguna/HariFun_166_Morphing_Clock/tree/Shared Mfg
Mir ist ein bisschen unklar, was du eigentlich tun willst, aber vermutlich reicht es, wenn du alle deine Aenderungen zurueckrollst und die WLAN-Daten in https://github.com/hwiguna/HariFun_166_Morphing_Clock/blob/Shared/Latest/MorphingClock/NTPClient.cpp#L5 eintraegst.
Hi, Also ich wollte einen Code der so einfach wie möglich ist. die beiden NTP Tabs sind so wie ich das verstanden für die Uhrzeit und der AP Ich habe z.b diesen Uhrzeit Code gefunden. Könnte man diese Digit anzeige mit diesem NTP-Code auch aufbauen ?
1 | #include <time.h> |
2 | #include <ESP8266WiFi.h> |
3 | |
4 | struct tm tm; |
5 | |
6 | const char* const PROGMEM ntpServer[] = {"fritz.box", "de.pool.ntp.org", "at.pool.ntp.org", "ch.pool.ntp.org", "ptbtime1.ptb.de", "europe.pool.ntp.org"}; |
7 | const char* const PROGMEM dayNames[] = {"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"}; |
8 | const char* const PROGMEM dayShortNames[] = {"So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"}; |
9 | const char* const PROGMEM monthNames[] = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}; |
10 | const char* const PROGMEM monthShortNames[] = {"Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}; |
11 | |
12 | #define Netzwerkname ""
|
13 | #define Passwort ""
|
14 | |
15 | void setupTime(); |
16 | String localTime(); |
17 | |
18 | void setup() { |
19 | Serial.begin(9600); |
20 | setupTime(); |
21 | |
22 | WiFi.mode(WIFI_STA); |
23 | WiFi.begin(Netzwerkname, Passwort); |
24 | }
|
25 | |
26 | void loop() { |
27 | |
28 | static unsigned long letzteMillis = 0; |
29 | unsigned long aktuelleMillis = millis(); |
30 | if (aktuelleMillis - letzteMillis >= 1000) { |
31 | Serial.println(localTime()); |
32 | letzteMillis = aktuelleMillis; |
33 | }
|
34 | |
35 | }
|
36 | |
37 | |
38 | |
39 | void setupTime() { |
40 | configTime(0, 0, ntpServer[1]); // deinen NTP Server einstellen (von 0 - 5 aus obiger Liste) |
41 | setenv("TZ", "CET-1CEST,M3.5.0/02,M10.5.0/03", 1); // Zeitzone einstellen https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv |
42 | delay(250); |
43 | |
44 | }
|
45 | |
46 | String localTime() { |
47 | static char buf[20]; // je nach Format von "strftime" eventuell anpassen |
48 | static time_t lastsek = 0; |
49 | time_t now = time(&now); |
50 | localtime_r(&now, &tm); |
51 | if (tm.tm_sec != lastsek) { |
52 | lastsek = tm.tm_sec; |
53 | Serial.print((String)dayNames[tm.tm_wday]+" "+monthNames[tm.tm_mon]); // druckt den aktuellen Tag |
54 | Serial.print(" "); |
55 | strftime (buf, sizeof(buf), "%d.%m.%Y %T ", &tm); // http://www.cplusplus.com/reference/ctime/strftime/ |
56 | if (!(time(&now) % 86400)) { // einmal am Tag die Zeit vom NTP Server holen o. jede Stunde "% 3600" aller zwei "% 7200" |
57 | setupTime(); |
58 | }
|
59 | }
|
60 | return buf; |
61 | }
|
mfg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.