Forum: Mikrocontroller und Digitale Elektronik Programm umschreiben


von beesos (Gast)


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

von Formatierung (Gast)


Lesenswert?

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.

von beesos (Gast)


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

von TR.OLL (Gast)


Lesenswert?

Vielleicht hilft dir das weiter: 
https://www.youtube.com/watch?v=uxMf4LmE7n4

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.