Programm umschreiben

Gast #6141531
Lesenswert?

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
Gast #6141615
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren