Как установить RTC в ES32 с помощью NTP-сервера?
Я работаю над ESP32 и хочу установить RTC с сервера NTP. Как я могу получить значение эпохи Я сделал это на панели запуска CC3200 и использовал библиотеку сервера NTP для получения значения эпохи.
@Abdul Wasey, 👍2
1 ответ
▲ 1
этот фрагмент из setup() устанавливает в esp32 NTP для внутреннего RTC и использует секунды эпохи для установки времени в библиотеке TimeLib.
configTime(gmtOffset_sec, daylightOffset_sec, "pool.ntp.org");
time_t now = time(nullptr);
while (now < SECS_YR_2000) {
delay(100);
now = time(nullptr);
}
setTime(now);
Библиотека примеров ESP32 в папке примеров IDE содержит пример SimpleTime.
,
@Juraj
Смотрите также:
- Автоматическая веб-страница ESP32 AP
- Обратная связь ESP32 от NTP
- Как отобразить информацию о шине CAN на веб-сервере EPS32?
- ESP32 не предоставляет IP-адрес шлюза в точке доступа
- Преобразование в Unix Timestamp и обратно
- Разница между «time_t» и «DateTime»
- WebSocketsServer.h: No such file or directory
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
Является ли функция ' configTime()` функцией блокировки? Похоже, так и должно быть, учитывая, что Arduino не является многозадачной системой., @Duncan C
@DuncanC, он не блокируется, как вы можете видеть в следующем цикле "while". ядро esp32 находится в SDK esp32 RTOS. arduino-это один поток, но "configTime" - это функция C из SDK, поэтому функция активирует только SNTP, @Juraj