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

Вложения

Изменено:

Комментарии

Старик Похабыч

★★★★★★★
14 Авг 2019
4,253
1,297
Москва
А изобретать что бы самому научиться. Куски копировать можно, но лучше сначала сделать как сам думаешь, а плотом посмотреть как другой сделал. И не просто посмотреть, а понять почему так , а не иначе.
 
  • Лойс +1
Реакции: Wan-Derer и kym13

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Leon111_09, ...куски той прошивки в ваш проект подойдут ... ASM не сможет там ничего посмотреть, там BIN файлы.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
А изобретать что бы самому научиться.
Так я именно для этого и дал ссылку: разобраться на примере,так сказать, где ошибка в коде,понять что ее вызывает, и станет "легче жить" :)
ASM не сможет там ничего посмотреть, там BIN файлы.
Там есть ссылка на гитхаб,там скорее всего и будет открытый скетч (там вроде была ссылка на еще один ресурс с тем проектом).
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Leon111_09, ...и будет открытый скетч.. На гитхабе только "BIN"(скачал посмотрел), а на сайте проекта вообще нет файлов для скачивания, только описание в котором не указано по какому адресу прошивать этот"bin" и подключение.
 
Изменено:

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@Leon111_09, Нет это не оно. Там нет файла с расширением ino. Скетча нет в этой папке.
 

SergeR

✩✩✩✩✩✩✩
23 Июн 2019
4
0
Избыточное цитирование. См. правила. Отредактируй или сообщение будет удалено
@SergeR, bme не рассчитан на уличное применение, поэтому я и не стал прописывать этот момент. Но сложности особо и нет. В коде описан этот момент)
C++:
Digit(digits[12], segment_1);
заменить на
C++:
if (tempH <= -1) Digit(digits[13], segment_1);  // если < или = -1, то показываем -
  else
    Digit(digits[12], segment_1);
Здравствуйте, вот всё было чудесно пока минусовая температура не опустилась до десяток, я про датчик BME280. Исчез верхний сегмент на показании температуры на десятках, в остальном всё нормально.
 

Вложения

  • 46.2 KB Просмотры: 12

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@SergeR,... bme не рассчитан на уличное применение... Подтверждаю, на даче висят уже несколько лет, при отрицательной температуре показывают "0", а влажность и давление нормально.
 

maksland

★★★✩✩✩✩
13 Янв 2019
513
117
Omsk
лучше на улицу ds18b20выводите проводами или без проводов !
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
Появилась идея, организовать управление вне сети WiFi.
Что можно реализовать, кроме перезагрузить устройство удаленно?)
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
Появилась идея, организовать управление вне сети WiFi.
А смысл? Это же часы:время и так на смарте можно посмотреть. Мониторинг погоды с часов? Так на народном и со смарта можно зайти в свой аккаунт и так посмотреть.Смысла в лишней "пересадочной станции" не вижу. Разве что реализовать в прошивке функцию напоминания и отправку извещений на смарт.
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@Leon111_09, я и написал, например перезагрузить устройство) Сейчас вроде проблема, которая была ранее, когда пропадал свет и восстанавливался, то соединение пропадало, больше не замечал на новой версии.
Также заметил баг с яркими цветами, идет мерцание, либо диода, либо сегмента, либо части сегмента, либо все вместе) При выборе темных цветов, проблемы не видно) В прошлых версиях подобный баг был. У кого-то еще повторяется эта проблема?)
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
перезагрузить устройство)
Ну это в принципе, и все что можно реализовать через интернет.Только есть ли смысл в этом?
пропадал свет и восстанавливался, то соединение пропадало,
Скорей всего это из-за того,что роутер дольше подключается к интернету, чем часы.Увеличить паузу перед подключением к интернету (примерно до минуты) и по идее баг должен уйти.
идет мерцание,
тут скорее всего из-за того что частота отправки сигнала на матрицу мала.Если сделать частоту отправки управляющего сигнала чаще, то думаю, мерцание должно исчезнуть.
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@Leon111_09, это не про матрицу проект) А мерцание происходит так. Горит равномерно и иногда проходят яркие вспышки на доли секунды.
Ну это в принципе, и все что можно реализовать через интернет. Только есть ли смысл в этом?
вот я и спросил, есть ли что на примете в этом плане.
Увеличить паузу перед подключением к интернету (примерно до минуты)
не помогало, вроде логику поменял, будем наблюдать)
п.с. уже забыл, что делалось и что хотел поправить, давно не заходил)
сейчас вышла новая версия библиотеки портала, адаптирую и посмотрю, что надо поправить)
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,253
1,297
Москва
не помогало, вроде логику поменял, будем наблюдать)
Я наблюдал за подобным. У есп есть разные типы статуса вифи, вот надо их проверять. Кажется при статусе 4 не происходит подключение ни в какую.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
спросил, есть ли что на примете в этом плане.
Часы только выводят информацию и ничем не управляют.Значит,по логике, им управление через интернет и не нужно.Так что не забивайте себе голову "излишествами" :)
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@Старик Похабыч, код был переделан, был переделан сам механизм проверки, по памяти уже не помню что, но помню что было двойная проверка, может тоже влияло.
Сейчас сделана проверка в функции мониторинга так (WiFi.setAutoReconnect(true);
В последней версии сбоев не было. Отключения света были, отключения даже интернета было на днях, из-за отключения оборудования провайдера. Но после восстановления, мониторинг рапортовал об успешном возобновлении. Поэтому наблюдаем дальше)
 
  • Лойс +1
Реакции: Старик Похабыч

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@SergeR писал,... bme не рассчитан на уличное применение... bme280 рассчитан на уличное применение по даташиту -40 +85, это надо код переделывать под считывание отрицательных температур. У меня вопрос к ASM, после прошивки "NEW_CLOCK_ESP_1" должна появляться точка доступа которую создаёт ESP8266?
 

kym13

★★✩✩✩✩✩
14 Ноя 2020
472
70
@ASM, .....да, стартует точка .... В том то и дело что точка НЕ стартует(не появляется в доступных сетях). Пробовал MCU и Wemos. RTC, датчики и экран подключать обязательно? или можно на "голой" плате после прошивки зайти в WEB настройки?
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@kym13, да, идёт проверка подключения. Если нет подключения, стартует точка. Могу проверить на другой плате. Скоро обновка выйдет с новой версией и другим дизайном. Надо ещё подправить пару моментов...
 
Изменено:
  • Лойс +1
Реакции: maksland