Я хотел бы отправлять почасовые данные в базу данных с помощью моего ESP8266. Однако я не знаю, как отправлять данные ровно каждый час. Я не хочу использовать задержку(). Кто-нибудь может мне помочь?
ровно в чч:00
а у вас проблема с установкой времени, получением времени или сравнением времени?
Я хочу выполнить команду, когда ее чч:00
Я хочу получить время и проверить, что это чч:00





это скелет скетча для извлечения времени из Интернета с помощью esp8266 во внутренний RTC, установки времени в TimeLib и использования функции minute() TimeLib для выполнения чего-либо в чч:00.
#include <ESP8266WiFi.h>
#include <TimeLib.h>
#include <sntp.h>
#include <TZ.h>
#define TIME_ZONE TZ_Europe_London
bool doneSending = false; // flag to send only once in the first minute of the hour
void setup() {
WiFi.begin(ssid, pass);
configTime(TIME_ZONE, "pool.ntp.org");
time_t now = time(nullptr);
while (now < SECS_YR_2000) { // why until time is retrieve from Internet
delay(100);
now = time(nullptr);
}
setTime(now); // set the time into TimeLib
}
void loop() {
if (minute() == 0) { // it is hh:00
if (!doneSending) {
sendData();
doneSending= true;
}
} else if (doneSending) {
doneSending = false; // reset after the :00 minute is over
}
}
раз в час или ровно в чч:00?