Как стать автором
Обновить

Разработка ведущих часов для Pragotron PJ 27 базе ESP32 с синхронизацией времени по NTP

Время на прочтение3 мин
Количество просмотров7.7K
Всего голосов 38: ↑38 и ↓0+38
Комментарии24

Комментарии 24

В порядке бреда.
Какие последствия если злоумышленник каким-то образом поменяет время на NTP-сервере?

В порядке бреда.
Стрелки часов превратятся в вентилятор во время установки нового времени, хозяину продует шею

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Аналоговая часть этого проекта берет из сети не время, а минутные импульсы на базе сетевого времени.
В оригинальных электромеханических ведущих часах был механизм «подгона» пропущенных из-за отсутствия сетевого питания импульсов.
Смотрелось забавно: после включения электричества в здании все часы резко начинали вращать стрелки.
У ESP32 вполне себе есть RTC

RTC — Real Time Controller. A group of circuits in SoC that keeps working in any chipmode and at any time.
Короче говоря это не часы :)
Согласен, не часы. Но если подключить внешний кварц, то RTC Timer получает точность Real-Time Clock модулей.
Но если подключить внешний кварц, то RTC Timer получает точность Real-Time Clock модулей.

Ага, RTC таймер начнет тикать с погрешностью воткнутого часового кварца. И собственно накой он тут нужен? RTC таймер тут не используется, да и на сервере часы поточнее будут чем любой боле-менее доступный кварц.
Ломиться на сервер каждые 5 минут не очень оптимально, если с помощью копеечного кварца можно увеличить интервал синхронизации до суток или более. А в промежутках отправлять ESP32 в спячку и экономить энергию.
Я сделал свои часы именно с часовым кварцем, синхронизируюсь раз в сутки и при первом включении.
Ломиться на сервер каждые 5 минут не очень оптимально, если с помощью копеечного кварца можно увеличить интервал синхронизации до суток или более.

Штатный кварц esp32 вполне способен обеспечить ту же точность что и копеечный часовой, но при этом не поспишь.
Я сделал свои часы именно с часовым кварцем, синхронизируюсь раз в сутки и при первом включении.

На esp32 с задействованием RTC таймера? можно ссылку на код?
Мой код основан на примере github.com/espressif/esp-idf/tree/master/examples/protocols/sntp только с кварцем.
Once time is synchronized, ESP32 will perform timekeeping using built-in timers.
  • RTC clock is used to maintain accurate time when chip is in deep sleep mode
  • FRC1 timer is used to provide time at microsecond accuracy when ESP32 is running.

Timekeeping using RTC timer is demonstrated in this example by going into deep sleep mode. After wake up, ESP32 will print current time without connecting to WiFi.
НЛО прилетело и опубликовало эту надпись здесь
У Акунина было про хорошего дворецкого-мажордома — у этого часы не забалуют, не пойдут вразнос, а все будут показывать верное время, сколько их бы ни было в Доме — каминных, настенных, с боем-кукушками, карманных луковиц и прочая и прочая малая и средняя машинерия.
И все тютелька-в-тютельку. При том что завода хватало максимум на неделю, а точность хода давала разницу в десятки секунд в день разницы. Ужос. Не терплю менять севшие батарейки в кетайских часах. Плохой из меня мажордом, однако.
Но знаю волшебное слово — DCF77.

А как проблема синхронизации множества часов в школах/на заводах решается сейчас?

В моей школе, порядка 20-ти лет назад, проблема решалась отсутствием настенных часов везде, кроме первого этожа школы, где услоная баба Зина по ним давала звонок.
Надо сказать, что точность тех часов, да и самой бабы Зины, оставляли желать лучшего.

НЛО прилетело и опубликовало эту надпись здесь
Часики с NTP, Импульсные часы с первичными часами и т.д. Гуглить по запросу «системы часофикации»
НЛО прилетело и опубликовало эту надпись здесь
У нас на всех проходных висят часы. За неделю уходят минуты на две-три. Раз в неделю приходит чувак со стремянкой и подводит их. При этом на проходной висит монитор СКУД и на нем точное врема мелкими цифрами. XXI век!
В зависимости от того какую задачу надо решить.
Если обеспечить единое время в пределах объекта — локальный NTP сервер, к нему коннектятся устройства и обновляют своё время. Все часовые табло — электронные, записи в логах о событиях ожидаемо такие же. При этом особо обращаю внимание, что про точность тут нет ни слова. Единственная задача такой системы — обеспечивать единое время.
Если нужное единое и точное — к серверу единого времени добавляется GPS(всё же мы о производственных сетях — интернет там редко бывает).

А L293 можно было использовать вместо L298? 298 довольно дорогой чип же

Ох, у нас была веселуха в школе, в 72-73 году, когда кто-то (новый сторож что ли?) стал выключать ведущие часы на ночь!
Такой бардак наутро творился!
Ну а нам, десятиклассникам — развлекуха: вместо уроков бродили по школе со стремянкой и устанавливали все ведомые на одно время, чтобы потом запустить в этот момент ведущие. А ведь их тоже надо было «подвести», иначе все уроки/перемены сбивались.
И такое творилось неоднократно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий