ESP, IoT [BigClock] Большие часы на WS2812, ESP8266, Народный мониторинг

Какой вариант датчика используется у вас? Интересно, использует ли кто BME280, как у меня?)

  • BMP280

    Голосов: 23 29.1%
  • BME280

    Голосов: 56 70.9%

  • Всего проголосовало
    79
[BigClock] Большие часы на WS2812, ESP8266, Народный мониторинг
Создаю отдельную тему по разработке прошивки на базе NodeMCU.

Мой проект сделан на ДВП, на нее наклеил ленту, объем цифрам сделал из сэндвич панели, поверх белый лист бумаги.
Корпус из дерева, покрашен акриловой краской, смесь белой и коричневой.

Данная прошивка проверяет время по NTP, часы RTC теоретически не нужны.
Барометр на базе BME280.
Имеется датчик освещенности и датчик DS18B20
Clock_схема.pngсхема пайки.jpgClock_схема3.jpg
Плата: NodeMCU 1.0 (ESP 12-E Module)
Если в качестве микроконтроллера вы используете Wemos D1 - в менеджере плат для компиляции все равно выбирайте "NodeMCU v1.0 (ESP-12E)", в противном случае, если выберете плату Wemos D1 (xxxx), - будет работать нестабильно.
Выбирайте ядро ESP версии 2.7.4.

ESP8266 (SDK v2.7+)

Необходимые библиотеки находим в репозитории программы IDE.
Настраиваем прошивку под себя, если нужно, меняем пароли для точки и OTA, WiFi можно не задавать.

Если не задавали настройки WiFi, то стартует точка, адрес стандартный 192.168.4.1 пароль по умолчанию administrator, задавать не менее 8 символов, иначе название точки не отобразится, а будет ее внутреннее имя, типа ESP12345.
Адрес портала http://clock.local/ или по IP адресу, выданному роутером.
Данные для OTA: имя: admin пароль: pass

Для подключения к сервису "Народный мониторинг" MAC адрес отображается на соответствующей странице, вводите этот адрес при регистрации устройства.

Новая версия на гитхаб, последние изменения и публикация свежих версий будет там)

Версия от 16.04.2023 CLOCK_ESP_2.0:
  • оптимизация под новый портал
  • переделано давление с инт на флоат для мониторинга
  • переделан интерфейс на UI
  • добавлена ручная синхронизация времени
  • заменена библиотека rtc на microDS3231
  • багфиксы)
  • добавлена в код точка, для десятичного знака уличной температуры
  • добавлена строка с версией прошивки
  • исправление даты
  • добавление DFPlayer, спасибо: @Maxx1200 и @Romshteks
  • добавлен режим с датой (номер 5)
  • обновлена библиотека EEManager (сбросятся настройки!!!)
  • добавлен режим с показом первого нуля в часах
  • добавлена возможность устанавливать цветовое оформление в настройках прошивки, визуальные правки
  • fix GMT
  • заменены библиотеки датчиков
  • визуальные правки
  • может что-то еще))
Проект на гитхаб со всеми библиотеками и mp3
  • Дофига изменений))
  • Появилась web страничка с настройками на базе GyverPortal.
  • Изменены библиотеки.
  • Переписан код, распределил по вкладкам.
исправлено:
  • баг со сменой цвета на последней цифре
добавлен
  • символ давления, включать в настройках
исправлено:
  • переделан вывод сегментов
  • переделана функция показа точек
добавлено:
  • выбор режима мигания секунд 1 и 2 раза в сек
  • можно вручную задать порядок отображения датчиков и время показа каждого датчика
  • откл. WiFi без мониторинга
  • корректировка показания датчиков
внедрение датчика BME280, добавлен режим влажности с возможностью включить символ проценты
[*]багфиксы
багфиксы
незначительные изменения кода (настройки под себя и комментарии)
  • все настройки вынесены в Constants, вроде:)
  • добавлен web сервер, для обновления через браузер, изначально прошить через кабель, потом можете вносить изменения под себя и обновляться через бинарный файл
  • добавлены библиотеки
  • изменение в коде, из-за выноса настроек:)
  • добавлен НГ режим :)
  • возможно исправлена анимация, про которую писали, с точками и цифрами :)
  • теперь при запуске часов идет проверка с датчика времени, и если все ОК, то запускаются часы без синхронизации
  • исправлена функция освещенности заменой switch на if/else
  • подправлен код с switch в других местах
Увидел в коде небольшую ошибку с НГ режимом, не важно, включен он или нет, все равно будет) только разными методами)
leds[cursor] = (digit & mask) ? CHSV(random(0, 255), random(0, 255), random(0, 255)) : CRGB (0, 0, 0);
leds[cursor] = (digit & mask) ? ledColor : CRGB (0, 0, 0);
  • исправлен НГ режим
  • отключена точка доступа за ненадобностью
  • оптимизирован код
  • выбор в настройках кол-во разделительных точек
  • можно запускать с RTC модулем и без него
  • изменена библиотека NTP
  • поправлен код :)
Внимание: у кого мигает первый светодиод, необходимо изменить ядро ESP на 2.7.4 (инструменты/Плата/Менеджер плат).
Новые версии нестабильные на октябрь 2021г.
 

Вложения

Изменено:

Комментарии

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, у меня стоит последняя с гитхаба. У самого 4 диода в сегменте.
Проблем нет. Единственное что вижу, это точки от часов не задействованы с новогодним режимом. И яркость ночная как-то не так работает, но на неё жалоб не было)

Обновление прошивки будет после публикации стабильной версии библиотеки GyverHub. Обновить можно будет также онлайн, доступ в этот раз будет)
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, Попробую с обычной лентой ws2812, может из-за ленты, у меня стоит COB ws2812
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, попробуй FastLED на ней. Хотя, если старая версия работает, то проблема не в этом)
 

Divin

★★★✩✩✩✩
30 Янв 2021
436
192
@kym13, там не 2812 , а 2811 - поменяй в скетче количество диодов на сегмент на 1, она работает отрезками.
 
Изменено:

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Divin, А при чем здесь 2811? У нее один чип управляет тремя светиками т.е. кратно трём, даже если я установлю 1 светик на сегмент, а лента у меня ws2812(один чип один светик) и четыре светика на сегмент то всё равно абракатабра получится. После прошивки горят сегменты как на фото, а версия 8.1 нормально. На фото 1 светик на сегмент, тоже самое и при 4 светиках. В монитор порта все данные выводит, в WEB захожу, а на экран не выводит.
 

Вложения

Изменено:

Divin

★★★✩✩✩✩
30 Янв 2021
436
192
Насколько я знаю адресный сов только на 2811, не обзательно 3 диода в обвязке, ты же ленту режешь на определенные отрезки по меткам, и к стати - на какой вольтаж лента?
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Divin, ...не обзательно 3 диода в обвязке .... Вы вообще мат часть знаете? У WS2811 минимально три диода (один отрезок), а у WS2812 один отрезок один диод. Вот как раз 2811 COB ленты нет, есть только 2812,13,15 на любой вольтаж на 5, 12 и 24 вольта (соответственно 160, 320 и 720 светиков на метр) у меня 5 вольт ширина ленты 5мм(есть 10мм) 160 LED на метр На фото27 2 светика на сегмент версия прошивки 2.0 и на 28 4 на сегмент, на 29 4 на сегмент но версия прошивки 8.1
 

Вложения

Изменено:

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Divin,
Мы вообще то про ленту говорили. И да Вы правы есть и 2811 COB.
Да просто на алике в поиск забейте WS2812 COB.
ASM прошу прощения я балбес, у меня пин ленты на 8.1 был 4, а на остальных версиях стоял 6. Разобрался со всеми версиями кроме 2.0 все работают, а 2 .0 температуру, давление и влажность показывает, датчик освещения работает хорошо, в WEB заходит, а в место часов выдает 78 : 24 см.фото и точки как то странно моргают сначала верхняя вкл и только потом нижняя. Такое ощущение что на один диод где сдвинуто, верхняя точка горит постоянно, а нижняя мигает. Время правильно показывают но почему то в соседних сегментах диоды светятся
 

Вложения

Изменено:

Divin

★★★✩✩✩✩
30 Янв 2021
436
192
@kym13, поправьте ссылки - удалите все знаки после html -а то посчитают рефералками.
и мне не попадалась такая как ваша - спасибо за ссылки. Что бы у прогеров из майлсру руки поотсыхали.
 
  • Лойс +1
Реакции: kym13

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
ASM. Скиньте скетч v2.0 который установлен на Ваших часах, тот который с Гитхаба после прошивки при показе времени в незадействованных сегментах по два диода включаются во всех цифрах. У меня по 4 диода на сегмент.
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Divin, По поводу картинки с WS2811(гирлянды) там впаяны три !!!! маленьких RGB светика, Вы посмотрите при включении каждая светится только одним цветом, а если стоял бы чип WS2812 то каждая светилась тремя разными цветами. Если коротко то WS2811 и WS2812 это не диоды, а названия микросхем которые управляют диодами. У WS2811 один пиксель это 3 физических диода, а у WS2812 один пиксель один диод.
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, у меня установлен как на гитхаб, BigClock 1.3, ничего с того времени больше не правил. Даже bin файл выложен) Обновлял с него) Есть подозрение, что пайка не такая...
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, ...что пайка не такая... Так все остальные версии начина с 4 и по 8.1 норм работают. ...Даже bin файл выложен... ссылку на bin можно если не тяжело. И по какому адресу BIN прошивать?
 
Изменено:

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, Прошил версией BigClock по Вашей ссылке, в WEB стали выходить, а при показе часов тоже самое, подсвечиваются соседние не задействованные сегменты. Причину нашел, при отключении в настройках точки разделения температуры всё стало нормально отображаться
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, отлично) кто-то уже с точками натыкался, включали зачем-то, хотя их в реальности нет) делалось по просьбе участника, вроде @S_Sergey_G

поправил первое сообщение, чтобы новички переходили на новую версию под GyverHub, а не 2.0))

@S_Sergey_G как у тебя работают точки?
 
Изменено:
  • Лойс +1
Реакции: kym13

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, смотрятся красиво, только промежуток большой, непривычно смотрится)

Как я вижу, у тебя есть точка температурная, как она у тебя задействована?
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, ...точка температурная, как она у тебя задействована?.. Никак она в настройках отключена и на фото её нет. Что касается промежутка то когда разделительные точки моргают не так заметно, да и привык у меня трое часов в таком корпусе. Но самое хорошее это то что при использовании ленты cob ws2812 не видно пикселей как будто пластик светится. Завтра выложу фото часов в которых простая лента ws2812 стоит, посмотрите разницу. Плохо что они в ночном режиме продолжают менять цвет, показывать все данные, у Вячеслава_45 при переключении в ночной режим или если по фоторезистору темно то показывают только время и цвет только красный. На фото с простой лентой 1 светик на сегмент.
 

Вложения

Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
Плохо что они в ночном режиме продолжают менять цвет, показывать все данные, у Вячеслава_45 при переключении в ночной режим или если по фоторезистору темно то показывают только время и цвет только красный.
первый раз слышу такое) у меня и ночью смотрят показания) если и делать, то опционально)
а почему красный?) синий смотрится спокойнее, видно и не освещает помещение)
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, ...синий смотрится... Синий по глазам бьет и он ярче чем красный, красный и зеленый спокойные, а насчет показаний кто их ночью смотрит, ночью надо спать. Дело даже не в самих показаниях, а в их периодической смене(раздражает ночью) На фото в предыдущем посте часы находятся в ночном, если вкл. свет то пока он будет гореть будут и смена показаний и цвета, как только выкл свет они сразу в ночной переходят по фоторезистору.
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, синий, яркость 1-2 никак не мешает спать) мне и при большем свете не мешает) мои висят у меня, поэтому проходя мимо, смотрят и ночью, давление, температуру)
На фото смотрится ярче, но видно, что засветки нет)
IMG20231121000225.jpg
Смена показаний через 2 сек)
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
Сдвинул в версии "BigClock 1.3" цифры влево на один знак и добавил знак "С" при показе температуры дома. Теперь температура отображается как на фото и разрыва между цифрами большого как раньше нет. Вопрос к ASM как уменьшить скорость смены цветов в новогоднем режиме т.е. сделать чтобы цвета плавно и постепенно менялись и в какой вкладке.
 

Вложения