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г.
 

Вложения

Изменено:

Комментарии

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
Собрал часы на последней версии прошивки только диоды поставил 2811(часы здоровые 38*13*3 см), а точки по одному 2812, с цветами фигня получается, придется переделать табло на 2812 диоды. Заметил такую вещь ставишь смена цвета раз в минуту цвет не меняется.
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@wulf, Последняя Serega88kos/BigClock, в ночной режим тоже не переходят, ставишь RTC есть на дисплее нули убираешь время отображается. ВМЕ280 сначала выдавал данные потом перестал тоже нули. Прошивал проводом. В папке BIN куча файлов каким прошивать? f2.bin - это что?
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
а нигде не написано
написано, просто не заметно уже) привык к прошлому хабу)
в ночной режим тоже не переходят
сомнительно, может от времени зависит, у меня работает с 0
В папке BIN куча файлов каким прошивать
firmware остальные просто для тестов использовались)
 
Изменено:
  • Лойс +1
Реакции: kym13

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@wulf, Всё стоит кроме внешнего датчика 18b20. Переделываю табло с ws2811 на диоды ws2812, у них разный протокол передачи цвета, цифры допустим (ws2811) красным светят, а точки (ws2812) зеленым и ярче чем цифры, смотрится прикольно конечно но питание пришлось двойное делать 12 В и ставить стабилизатор LM7805 на 5 В. Как переделаю попробую ещё раз запустить на ESP8266 если не заработает поставлю ардуину.
 
Изменено:

maksland

★★★✩✩✩✩
13 Янв 2019
513
117
Omsk
собрал недавно WLED, интересная штука - эффектов море !
WLED.JPG
можно что ни будь и для часов вытянуть ?
 
  • Лойс +1
Реакции: maloir

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@maksland, Зачем плату было делать? У WLED есть WEB страница, оттуда можно контролер по воздуху прошить и им управлять, я себе гирлянду на НГ сделал и через ноутбук или смартфон управляешь.
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22

@kym13,
Rtc у меня нет проверить не могу пока со сменой цвета вроде нашли . Сегодня ещё погоняю посмотрю. Ночной непонятно зависимость у меня тоже с 0.00 работает для его тестов очень много времени надо
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@wulf, С RTC разобрался, я отключал БП от розетки, а провод от компа нет и модуль не перезагружался, обесточил полностью и часы стали норм работать. У меня на другом ноутбуке библиотеки в IDE стоят старые попробую модуль на нем прошить старой версией часов.
 

maksland

★★★✩✩✩✩
13 Янв 2019
513
117
Omsk
ну здрасти, как без платы ? мне их штук 16 прислали :) вместо 5
я также с телефона захожу и так же управляю
 

kuzmichept

✩✩✩✩✩✩✩
5 Фев 2024
13
1
Здравствуйте, люди. Старую версию часов "обкатал"-интересно. Хотел попробовать 2.0, не компилируется.
d:\doki\Arduino\libraries\arduinoWebSockets-master\src\WebSocketsServer.cpp: In member function 'void WebSocketsServer::handleNewClients()':
d:\doki\Arduino\libraries\arduinoWebSockets-master\src\WebSocketsServer.cpp:658:86: error: 'class WiFiServer' has no member named 'accept'
WEBSOCKETS_NETWORK_CLASS * tcpClient = new WEBSOCKETS_NETWORK_CLASS(_server->accept());
^

exit status 1

Compilation error: exit status 1
Делаю для себя, не спеша, изучаю возможности 8266. Подскажите что делать?
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
Собрал часики, вот такие получились. Мне уличная температура не нужна поэтому вывод температуры с ВМЕ280 сдвинул на один знак влево и добавил символ "С" цельсия. Размер часов 39*13*2см
 

Вложения

  • 79.3 KB Просмотры: 16
  • 78.3 KB Просмотры: 16
  • 78.2 KB Просмотры: 14
  • 79.8 KB Просмотры: 14
  • 75.7 KB Просмотры: 14
  • 69.8 KB Просмотры: 13
  • Лойс +1
Реакции: maksland

ASM

★★★★★✩✩
26 Окт 2018
1,602
311

kuzmichept

✩✩✩✩✩✩✩
5 Фев 2024
13
1
@wulf, Вместо GyverHub-old скачал с Github GyverHub-main.Так как-то и отсюда библиотеки в libraries все это закинул: 1712226716180.png
 
  • Лойс +1
Реакции: maksland

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kuzmichept,
старые библиотеки хаба должны быть удалены, название папки не играет роль)
Библиотеки с фото можно и через диспетчера установить)
 
Изменено:

kuzmichept

✩✩✩✩✩✩✩
5 Фев 2024
13
1
@wulf, В общем-так: при установленных библиотеках из GyverLibs библиотека "arduinoWebSockets-master" дает ошибку компиляции выше. При установке этой библиотеки из репозитория Ардуино компиляция происходит, на плату загружается, но на хаб не зайти (Опера с настройками безопасности от Gyver-на старую версию захожу прямо по адресу http://192.168.137.41/). С прошивкой 2.0 к точке доступа подключаюсь, дальше-никак.
 

Вложения

Изменено:

bygatti2012

✩✩✩✩✩✩✩
13 Ноя 2022
10
0
Добрый вечер скажите а сколько можно подключать светодиодов ws2812 в одном сегменте
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22
@bygatti2012, добрый ! сколько поставишь но думаю больше 4 смысла нет ну уж очень большие получатся даи думаю лишняя лампочка тебе не нужна . я собрал 2 на сегмент но датчик освещености не ставил ну вечерами в комнате можно не включать во время просмотра телека от них хватает 😅
да и чем больше светиков тем больше блок питания

@kuzmichept, ну тут не знаю не проверял лень настройки в браузере делать а с телефона захожу спокойно
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@bygatti2012, Хоть 10 шт. на сегмент, зависит от размера часов. На даче висят 4 шт. на сегмент так у них размер 40*18 и как писал "wulf" даже с фоторезистором при яркости равной "2" освещают площадку возле беседки.