ESP8266 loopt vast
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: ESP8266 loopt vast
De helft is gewoon gejat hoor van de standaard ntp client voorbeeld. Daar een functie van de tijd ophalen zodat je straks bijv midden in de nacht een update kan doen. Blijf je redelijk goed in sync. En mislukt het na 10 pogingen gaat ie gewoon doormet de oude tijd.
Advertisement
Re: ESP8266 loopt vast
na 33 minuten kreeg ik een reset. Geen idee hoe dat kwam: mijn schakeling bestaat nog uit draadjes op connectortjes(pinnetjes en niet allemaal even vast. Na de soep++ deze "getTime()" maar eens proberen te integreren in de "echte code". Morgen gaat de zon weer schijnen en het zou mooi zijn om dan weer PV output te zien.
Re: ESP8266 loopt vast
tja hoe krijg ik die tijd nu in de array tijdstring
strcpy(tijdstring, c_time_string); werkt in ieder geval niet
dan zou je zeggen
memcpy(tijdstring, c_time_string, 30); maar dat is het ook niet......wordt weer nachtwerk als Nico niet helpt:)
strcpy(tijdstring, c_time_string); werkt in ieder geval niet
dan zou je zeggen
memcpy(tijdstring, c_time_string, 30); maar dat is het ook niet......wordt weer nachtwerk als Nico niet helpt:)
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: ESP8266 loopt vast
Je hoeft helemaal geen opsplits werk te doen. Google maar eens op tm_struct. En die zit al in het voorbeeld. Daar zit alles al in.
Re: ESP8266 loopt vast
Ahhhh dat is mooi !! maar tm_struct levert bij bij geen voortschrijdend inzicht op( ook geen hit op google)
Wat ik nu wel ineens zie is dat de time.h lib is geinclude.
Nu heet mijn time lib TimeLib en daarin zit een Time.h en het enige dat daar in staat is #include "TimeLib.h" en die staat er ook.
Ik verwacht dan dat ik bijvoorbeeld Serial.print(day()); de dag geeft. maar ik krijg
sketch_feb12b:154: error: 'day' was not declared in this scope
Serial.println(day());
^
exit status 1
'day' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Wat zie ik nu weer/nog/steeds over het hoofd??
Wat ik nu wel ineens zie is dat de time.h lib is geinclude.
Nu heet mijn time lib TimeLib en daarin zit een Time.h en het enige dat daar in staat is #include "TimeLib.h" en die staat er ook.
Ik verwacht dan dat ik bijvoorbeeld Serial.print(day()); de dag geeft. maar ik krijg
sketch_feb12b:154: error: 'day' was not declared in this scope
Serial.println(day());
^
exit status 1
'day' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Wat zie ik nu weer/nog/steeds over het hoofd??
Re: ESP8266 loopt vast
voor day() heb ik TimeLib.h nodig
voor ctime heb ik tme.h nodig
Ik kan ze niet allebei includen
bij examples in TimeLib staat een voorbeeld TimeNTP_ESP8266WiFi . die haalt ook de tijd op van een NTP server en werkt ook in combinatie met day() year() etc
Ik ga die maar eens proberen "om te bouwen" voor mijn doel naar analogie van Nico's aanpak.
voor ctime heb ik tme.h nodig
Ik kan ze niet allebei includen
bij examples in TimeLib staat een voorbeeld TimeNTP_ESP8266WiFi . die haalt ook de tijd op van een NTP server en werkt ook in combinatie met day() year() etc
Ik ga die maar eens proberen "om te bouwen" voor mijn doel naar analogie van Nico's aanpak.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: ESP8266 loopt vast
Je gaat helemaal de verkeerde kant op. Kijk nou eens in het voorbeeld daar staat een struct in. Die moet je zoeken en ook geen timlib gebruiken....
Re: ESP8266 loopt vast
Ach ik zie door de bomen het bos niet meer.
struct tm *lt; moet zo iets doen als : maakt een array lt van pointers met als inhoud de unix tijd opgedeeld in
tm_sec int seconds after the minute 0-61*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
ALS dat zo is dan is een op dit moment voor mij onuitvoerbare truuk om die elementen naar voren te toveren.
struct tm *lt; moet zo iets doen als : maakt een array lt van pointers met als inhoud de unix tijd opgedeeld in
tm_sec int seconds after the minute 0-61*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
ALS dat zo is dan is een op dit moment voor mij onuitvoerbare truuk om die elementen naar voren te toveren.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: ESP8266 loopt vast
Deze regel
cpp code
bouwt de UNIX tijd om in de verschillende componenten.
Daar het een pointer is kun je zo elke losse onderdelen benaderen
cpp code
Zo kun je weer gewoon de sprintf aanpassen. Of je gaat ff de vaste variabelen vullen uur, dag, maand, jaar etc en dan kun je die sprintf in stand houden zoals ie nu is.
cpp code
lt = localtime(&t); // zet onze unix tijd in een char array
bouwt de UNIX tijd om in de verschillende componenten.
Daar het een pointer is kun je zo elke losse onderdelen benaderen
cpp code
lt->tm_mday
Zo kun je weer gewoon de sprintf aanpassen. Of je gaat ff de vaste variabelen vullen uur, dag, maand, jaar etc en dan kun je die sprintf in stand houden zoals ie nu is.
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten