Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр «Рецепт счастья» — захватывающая игра в жанре «соедини предметы»! Помогите Эмили разгадать тайну исчезновения родственника, отыскать спрятанные сокровища и вернуть к жизни её уютное кафе.

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
22
MaksSim33
MaksSim33
Arduino & Pi

Как получить точное время на ESP32?⁠⁠

8 месяцев назад

Микроконтроллер ESP32 благодаря своим возможностям Wi-Fi давно стал любимцем разработчиков проектов Интернета вещей (IoT). Одной из ключевых задач в таких проектах является синхронизация времени. Устройство должно уметь определять дату и время с высокой точностью, чтобы использовать временные метки или планировать задачи. С этим успешно справляется протокол сетевого времени (NTP), который доступен для Wi-Fi-устройств, включая ESP32.

Что такое NTP, и зачем он нужен?

Протокол сетевого времени (NTP, Network Time Protocol) — это инструмент для синхронизации часов между устройствами в сети, который обеспечивает точность до миллисекунд. С помощью NTP ваш ESP32 и другие устройства могут согласовать время с глобальными серверами, к примеру, pool.ntp.org. Этот сервер доступен всем пользователям, а любое устройство, выступающее клиентом, может получать от него текущее время.

Как получить точное время на ESP32?

Как это работает?

ESP32 запрашивает сервер на предмет времени, отправляя запрос NTP. Сервер возвращает ответ, содержащий точную дату и время. Затем микроконтроллер определяет локальное время, используя заданные часовой пояс и при необходимости смещение на летнее время. Весь процесс занимает считаные миллисекунды.

Настройка NTP-клиента с использованием Arduino IDE.

Для успешной работы ESP32 потребуется сначала настроить среду разработки Arduino IDE. В руководстве на сайте Arduino-tex.ru подробно объясняется процесс установки настроек для ESP32. После подготовки вы сможете использовать встроенные стандартные библиотеки ESP32, такие как time.h и WiFi.h, чтобы отправить запрос к NTP-серверу и получить точное время.

Помимо этого, важно задать следующие параметры:

  • NTP-сервер: обычно используется pool.ntp.org, но доступны и региональные серверы, например, ru.pool.ntp.org.

  • Смещение времени от GMT: например, для Москвы (UTC+3) нужно указать 10800 секунд.

  • Учет летнего времени: если в вашем регионе используется переход на летнее время, добавьте 3600 секунд (1 час), или оставьте 0, если летнее время не применяется.

Пример кода.

Чтобы проверить работу NTP-клиента, достаточно загрузить специальный скетч на ESP32. В статье вы найдете полный программный код, который содержит описание всех настроек, подключение к Wi-Fi, запрос времени с NTP-сервера, а также его вывод в Монитор последовательного порта.

Ключевые функции:

  • WiFi.begin(): подключение к сети Wi-Fi.

  • configTime(): установка конфигурации для NTP (сервер, смещение GMT, учет летнего времени).

  • getLocalTime(): получение синхронизированного локального времени.

Как получить точное время на ESP32?

Важные моменты.

  • Стабильность интернета: ESP32 получает время с сервера только при наличии активного подключения к Wi-Fi.

  • Настройки часового пояса: для уверенности в правильности локального времени всегда проверяйте значение смещения GMT для вашего региона и актуальные правила перехода на летнее время.

  • Энергопотребление: если вам не нужно поддерживать постоянное интернет-соединение, его можно отключить после синхронизации времени, что уменьшит расход энергии устройства.

Преимущества использования NTP.

Этот метод прост и универсален, поскольку не требует дополнительных аппаратных модулей, таких как часы реального времени (RTC). Он идеально подходит для проектов, которые имеют постоянное соединение с интернетом и в которых допустимо периодически обновлять время.

Ограничения.

Если ваш проект должен предоставлять точное время в условиях отсутствия интернета, использование NTP может быть неудобно. Для автономной работы рекомендуются внешние часы реального времени (RTC) — например, модуль DS3231.

Показать полностью 2
[моё] Arduino Rtc Длиннопост
7
8
DELETED
ArduBlock

ArduBlock - mBlock робот W2⁠⁠

8 месяцев назад
Показать полностью 2
[моё] Вертикальное видео Видео ВК Arduino Ardublock YouTube Видео
0
7
DELETED
ArduBlock

ArduBlock - Робот тележка 2x - Радио пульт 315 МГц на Arduino UNO⁠⁠

8 месяцев назад
Показать полностью 2
[моё] Вертикальное видео Видео ВК Arduino Ardublock YouTube Видео
0
11
DELETED
ArduBlock

ArduBlock - Робот Дройд на Arduino⁠⁠

8 месяцев назад
Показать полностью 2
[моё] Вертикальное видео Видео ВК Arduino Ardublock YouTube Видео
3
9
DELETED
ArduBlock

ArduBlock - Мини робот Суммо на Arduino UNO⁠⁠

8 месяцев назад
Показать полностью 2
[моё] Вертикальное видео Видео ВК Arduino Ardublock YouTube Видео
1
6
DELETED
ArduBlock

ArduBlock - Nano робот паук на Arduino Nano⁠⁠

8 месяцев назад
Показать полностью 2
[моё] Вертикальное видео Видео ВК Arduino Ardublock YouTube Видео
0
11
DELETED
ArduBlock

ArduBlock - Bluetooth робот на ESP32⁠⁠

8 месяцев назад
Показать полностью 3
[моё] Вертикальное видео Arduino Ardublock YouTube Видео ВК Видео Длиннопост
0
9
K715

Клуб Контур и бот для удаленного мониторинга⁠⁠

8 месяцев назад

Давненько не было постов от Клуба любителей электроники Контур, поэтому - исправляемся :)

Контур-бот вежливо отвечает на вопрос :)

Контур-бот вежливо отвечает на вопрос :)

Сегодня поведаем вам о решении одной насущной проблемы, которая заключалась в следующем: периодически нужно знать, открыт в данный момент клуб или нет (так как мы часто открыты вне расписания, а иногда закрыты по расписанию). Проблема решалась согласованием времени заранее либо вопросом в чат; однако это зачастую неудобно - человек может не увидеть/ не ответить вовремя, время может измениться и так далее. Поэтому в один долгий зимний вечер было написано следующее сообщение (орфография сохранена):

«Давно надо сделать что нибудь, чтобы без писания сюда было понятно открыто или нет. Типо фигулины которая при включении света начинает [сообщать] на сервер куда нибудь мол типо я в сети»

Во время проработки предложения возникло множество заблуждений о необходимости покупать домен, выделенный сервер, статический IP и прочие непотребства (вплоть до того, что за API ВКонтакте якобы тоже надо платить), которые быстро развеял один из активных участников нашего клуба и пообещал провернуть всё на одной только ESP8266 с подключением через имеющийся в клубе интернет.

После недолгих обсуждений выяснили, что самый оптимальный вариант реализации – это чат-бот для ВКонтакте с приёмом сообщений через Long Poll. Вскрыв исходники своих старых похожих проектов, дописав всё «как надо» и позанимавшись оптимизацией, человек довольно быстро представил клубу прототип системы с уже разведённой печатной платой:

Прототип. Контакты для слота под microSD зарезервированы на будущее…

Прототип. Контакты для слота под microSD зарезервированы на будущее…

И практически сразу начался этап альфа-тестирования системы.

Первое время статус зависел исключительно от нажатия кнопки при входе или выходе из клуба (с обратной связью в виде звуковых и световых сигналов), но затем, когда разработчику перестало быть лень, к системе добавился заранее обещанный датчик наличия 220В (что весьма полезно).

Для безопасности схему датчика решили распаять на отдельной плате

Для безопасности схему датчика решили распаять на отдельной плате

Который мы подключили к освещению:

И протянули выходной логический сигнал остатками телефонной лапши:

Хоть изначально мы и хотели полностью автоматизировать изменение статуса клуба, но вспомнили, что клуб не всегда открывается именно для приёма посетителей (что-нибудь взять/положить, например), поэтому кнопка осталась на месте, а датчик 220 сделали вспомогательным для определения наличия кого-либо в клубе.

Заодно и для отправки админам уведомления

Заодно и для отправки админам уведомления

Хоть система всё ещё требует некоторых доработок, она уже радует своего создателя (который часто подходил к клубу «на удачу» и очень расстраивался, когда было закрыто). Из-за относительной слабости ESP8266 бот может задерживать ответ на время до 10 секунд (это время тратится на «холодную» установку SSL-соединения), но для нас это некритично.

Конечно, в клубе нередко происходят перебои в Интернет-соединении (у нас YOTA), но разработчик постарался реализовать автовосстановление, добавил предупреждающие сигналы и («на всякий случай!») автоперезагрузку при долгой потере связи. Заходящие в клуб в момент оборванной связи имеют все шансы услышать звук SOS =)

А это про кратковременные обрывы. И так каждую ночь…

А это про кратковременные обрывы. И так каждую ночь…

Напоследок, для особо любопытных (и желающих повторить что-нибудь подобное) создатель поделился исходным кодом системы: https://github.com/lethanner/kontur-monitor

А чуть менее любопытные могут уже сейчас попробовать спросить нашего бота: «клуб открыт?» https://vk.com/konturbot. ESP8266 ответит вам лично =) Учтите, что мы сохраняем историю запросов!

P.S. автор системы - тот же человек, что занимался Dial-UPом в предыдущих постах :)

Показать полностью 6
[моё] Электроника Разработка Микроконтроллеры Arduino Программирование Инженер Длиннопост
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии