Обновление! Новая прошивка VZ_Timer_v1.1 (уже на гитхабе), там же схема. Основные функции: управление таймером кнопками на устройстве и через приложение часы с синхронизацией через интернет создание точки доступа для первого подключения приложением настройка всех параметров в том числе и подключения к сети WiFi отображение полученного IP при подключении устройства к сети температуру и влажность можно контролировать или из приложения или по MQTT Основой таймера является ESP-12 и экран TM1637. Модуль реального времени DS3231. Датчик температуры и влажности SI7021. Он же индикатор обновления данных между таймером и приложением. Приложение под Android VZ_Timer можно установить из Google Play короткое виде здесь
IvanUA, а как в устройстве с обновлением времени? Вайфай включен постоянно или же засыпает и просыпается только для обновления? Периодичность обновления настраивается?
Что-то ссылок не увидел... Если таймер расположен возле вытяжки, то можно добавить управление ее вентилятором по разности температуры в вытяжке и на кухне
У меня уже есть ЕСПшка на управление бойлером, вытяжкой и еще пару функций. Так вот вытяжка то как раз и включается по разности температур с датчика возле вытяжки и температуры получаемой с этого таймера через MQTT. Постоянно. Так как постит температуру и влажность на москито сервер.
Пришлось только поправить скетч, чтобы на времени мигало двоеточие, а на таймере - точка после 2-ой цифры. А то, когда мигало и двоеточие, и все 4 точки, немного напрягало.
Косяк в прошивке всё же есть. Не обновляется время. Сделал интервал обновления в минуту. В порт выводятся только точки, время не обновляется.
Тут забил свой вайфай : const char* ssid = ""; const char* password = ""; К роутеру коннект нормальный Поменял часовой пояс: byte timeZone = 3; Сделал обновление раз в минуту, чтобы увидеть, почему не обновляется: if(second==0) updateTime(); // Обновляем время один раз в сутки Настройки платы в аттаче. Исходники(ваши) : rtc.h размером 1456 Timer_clock.ino размером 6142
Обновил библиотеки ESP8266 до 2.4.1 - начало обновлять время. Как всегда, вся беда в версиях. Жаль, сразу не сообразил, угрохал кучу времени. Только косячок всё же вылез - в строчке: hour = hour + (timeZone + (1 * sommerZeit)); По GMT0 прилетает 23 часа, а у меня при timeZone=3 и sommerZeit=0 получается 26 часов, что и выводится на дисплей В принципе, не критично, просто поставлю ежесуточное обновление на время до 20 часов. P.S. Всё же добавил строчку if(hour>23) hour = hour-24;
Спасибо, добавил в скетч. У меня все сделано так, что само двоеточие мигает когда показывает время, причем, если нет подключения к WiFi то они мигают быстрее)))) Во время работы таймера мигают только цифры, двоеточие просто светится. Мне это показалось оптимальным. Таймер мигает, и периодически напоминает что ты там что то готовишь)))) Точки после цифр я вообще не нашел как оживить на своем экранчике.
У вас сделано так, что мигают все точки. Просто у вас, видимо, на экране активно только двоеточие. Есть экраны только с двоеточием, есть только с точками, есть с точками и двоеточием. Причём последние встречал двух типов - двоеточие подключено параллельно второй точке и двоеточие подключено вместо 4 точки, а она неактивна. У меня былэкран последнего типа, но в процессе погас g сегмент 3 цифры, пришлось поставить только с точками. Для него активировал точку после второй цифры на времени, а таймер не трогал: void displayTime(){ tm1637.point(0); tm1637.display(0,hour/10); tm1637.point(flash); tm1637.display(1,hour%10); tm1637.point(0); tm1637.display(2,minute/10); tm1637.display(3,minute%10);
Ну всё, закончил упаковку в корпус, завтра повешу на кухне. Большое спасибо Ивану за разработку сего замечательного девайса.
Последнее время очень часто таймер - вернее часы, начали просто зависать... Думаю что это стало происходить из-за уж очень частых обращений к модулю RTC. .... В версии 2: - время считается самой ЕСП по вызову таймера; - синхронизация времени с интернетом происходит каждый час; - во время синхронизации обновляется и время в модуле RTC; - если нет соединения с wifi, то время берется из модуля RTC. Версия 2 доступна на Github
Вряд ли. Я в своих конструкциях делал до пяти чтений в секунду из DS3231(стандартная платка под 28-пиновый PIC у меня сразу разведена с местом под ИМС DS3231, поэтому DS3231 практически в любой конструкции имеется - в отличие от таймеров МК, DS3231 очень удобно использовать для точного отсчёта длинных отрезков времени). И ни разу не было никаких проблем. А вот в китайских модулях(использовал те, которые с 24С32) примерно каждый третий был проблемный - или непропай, или флюс не смыт. Китайцы вообще не заморачиваются с качественной отмывкой от флюса, поэтому любую их плату всегда перемываю, иначе рано или поздно вылазят проблемы. Если раньше всё работало, то проблема явно не в прошивке. У меня таймер как включил на кухне, так с тех пор работает идеально.
А зачем постоянно теребить модуль? Лично я всегда делаю так: по включению питания считываю время из модуля, а потом программные часы по прерыванию таймера. Раз в сутки считываю время из модуля.