NTP и fail-over в случае "блэкаута"

Jan 16, 2019 14:52

Размышления навеяны дискуссией в телеграм-чатеге по поводу часов на ESP8266, которые являются частью чего-либо, причем относительно критичной ( Read more... )

Очумелые ручки, ntp, esp8266, smart home

Leave a comment

Comments 32

suvorow_ January 16 2019, 14:29:14 UTC
А локальные часы с батарейкой по i2c - не?
Сдох роутер - может сдохнуть и точка доступа. Вообще, любые схемы с подключённым по сети сервером - это потенциальные точки отказа.
Если точность в пределах одной минуты (а для этих целей одной минуты вполне достаточно), берём самые дешёвые часы с литиевой батарейкой. И время с них. Как, собственно, и делается в обычном писюке.

Reply

aterentiev January 16 2019, 14:32:02 UTC
Ну вот а если нету внешнего RTC... :)

Reply

suvorow_ January 16 2019, 14:34:17 UTC
Что, и двух GPIO пинов нету, чтоб i2c сэмулировать, и вот такую штуку подключить ( ... )

Reply

aterentiev January 16 2019, 14:42:47 UTC
1. на плате оно не разведено (ОК, следующую версию сделаю с ним)
2. на проводах - это колхоз

когда я делал систему под ntp, подобным сценарием, почему-то, не задавался...

Reply


balmerdx January 16 2019, 14:50:55 UTC
А я тут в начале осени часы настраивал (и подстраивал кварцы, чтобы не хуже 1 ppm шли) для автономных девайсов работающих на CR2032. Недавно смотрел - наибольший уход за 4 месяца был 7 сек. Но типично менее 2-х секунд на кварцах 20 ppm.

Reply

aterentiev January 16 2019, 15:09:23 UTC
а какие чипы для часов используются?
а то одно дело шлак типа ds1307, другое - ds3231

Reply

balmerdx January 16 2019, 18:26:26 UTC
Больно жирно, цельный чип! Я ж говорю - используются стандартные кварцы 32768 Гц 20ppm, по 3 руб/шт. Во всех STM32 можно подключить RTC. В данном случае было использовано STM32L011.

Reply

aterentiev January 16 2019, 20:34:38 UTC
А вход для подключения батарейки тоже есть?

Reply


mbr January 16 2019, 15:16:20 UTC
facepalm же. RTC есть в каждом первом современном чипе примерно. В чем суть проблемы?

Reply

aterentiev January 16 2019, 15:19:37 UTC
в esp8266 он есть, но не энергонезависимый

Reply


dlinyj January 16 2019, 15:58:20 UTC
А там sram есть?

Не пробовал, сколько времени значения храняться в ОЗУ без питания? Просто заводишь глобальную переменную, привязанную к области памяти. Проверяешь её. И обновляешь с NTP. Если NTP недоступно, но тогда сам по кварцу её инкременируешь.

Reply

aterentiev January 16 2019, 16:24:09 UTC
По-моему, почти сразу все портится. Это вряд ли поможет...
WiFi жрет много, и почти сразу засосет остатки заряда на линиях питания.

Есть eeprom, но сам понимаешь, что через него часы реализовывать - так себе идея :)

Reply

balmerdx January 16 2019, 18:29:24 UTC
Есть очень много низкопотребляющих приемопередатчиков на 2.5 ГГц. Использование WiFi - это как из пушки по воробьям.

Reply

dlinyj January 17 2019, 09:15:34 UTC
Я думаю, что погрешность в час тебя устроит. А срам можно хитрить, и там контрольные суммы, в разных местах писать и т.п. Хотя это грязный хак и как-то не айс.

Reply


eddy_em January 16 2019, 19:09:29 UTC
Вот не понял, зачем растения по таймеру освещать, если проще поставить фоторезистор и замерять: как освещенность от Солнца недостаточна, врубать искусственное освещение!
Аналогично с поливом: нафиг поливать по графику, если нужно поливать по мере высыхания земли?
P.S. И вообще, в предыдущей теме было о GPS→ntpd. А сейчас какой-то фигвам. Где даже RTC в чипе нет... Как будто нельзя 40-рублевый мыкроконтроллер подключить.

// Кстати, а нет ли про всякие эти ваши ESP годного мануала, как под них на любимой сишечке код писать без всех этих мудозвонских калокубов-абдурин в операционной системе, а не под игровой приставкой?

Reply

aterentiev January 16 2019, 20:36:52 UTC
Скажу по секрету - не знаю. Мой use case - освещение аквариума, там только по таймеру.

А чем тебя не устраивает sdk от espressif? Или оно только под винду?

Reply

eddy_em January 16 2019, 20:48:11 UTC
> чем тебя не устраивает sdk от espressif
Впервые про это слышу. Погуглил, в линуксе это есть. Только нихрена рабочие ссылки на примеры не могу нагуглить. Нашел на быдлохабре что-то подобное, но там в коде какой-то дичайший бред: хуже, чем в абдурине!
А я ж написал: хочу на нормальной сишечке писать, как под микроконтроллеры! Чтобы без калокубов, абдурин и прочего непотребства.
> Мой use case - освещение аквариума, там только по таймеру.
Дык, рыбкам спать надо. Это понятно. А вот растения лучше всего растут, когда их круглосуточно освещают. Это тебе любой коноплевод скажет!

Reply

aterentiev January 16 2019, 21:12:16 UTC
По поводу SDK тут дело в том, что ESP - это не микроконтроллер, а SoC, поэтому все ключевые вещи вшиты внутрь ядра, тебе остаётся только с ним работать, других вариантов нет. Espressif не открывает исходники ядра.

Reply


Leave a comment

Up