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
@AlChel, я уже и забыл про это) у меня точки нет, просили добавить) добавить не сложно) точки же вроде нет в настройках и в коде не помню, есть ли. Вроде только для примера показывал) ладно, посмотрим как-нибудь) надо второй проект реанимировать) там проблема с компиляцией...
 

maksland

★★★✩✩✩✩
13 Янв 2019
513
117
Omsk
а куда DFPlayer подключается ? платы пока не делал и изменение пока внесу
 
Изменено:

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
@maksland, В скетче в комментариях написаны пины управления,а все остальное (питание,динамик и т.д.) как обычно.

ДФ-плеер:
#define MP3_RX_PIN 2               //GPIO2/D4 к DFPlayer Mini TX
#define MP3_TX_PIN 16              //GPIO16/D0 к DFPlayer Mini RX
 
  • Лойс +1
Реакции: maksland

maksland

★★★✩✩✩✩
13 Янв 2019
513
117
Omsk
далеко друг от друга находятся, попробую дотянуть на одну сторону
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
@ASM, Подскажите пожалуйста, в какой строчке указывается нижний порог яркости,при достижении которого она начинает работать? В доме еще достаточно светло,и даже когда свет включен,часы уже тускло показывают. Хочу поднять порог срабатывания авто-яркости.
 

ASM

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

Ещё попробуй поиграться тут
map(analogRead(BRI_PIN), 0, 1023
0..1023 диапазон датчика
 
Изменено:

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
попробуй поиграться тут
map(analogRead(BRI_PIN), 0, 1023
0..1023 диапазон датчика
Спасибо,но я не это имел ввиду.Хотел узнать где у вас в программе код,отвечающий за чувствительность фотодатчика.А в этом куске кода просто выставляется программно минимальное свечение и все.Это можно и в вебе сделать.
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@Leon111_09, так 0 и 1023 данные с датчика, а в вэбе уже танцуем от этих чисел...
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22
1682405375508.jpg1682405375516.jpg всем привет. какой из них лучше брать подскажите
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@wulf, не нужен он за такие деньги) не бери, хватит и bmp280) при желание можно взять отдельный датчик влажности... Для улицы sht 31 бери.
 

Mishanya TS

★★★★✩✩✩
11 Дек 2019
358
287
Добрый день, как бы прикрутить, то бы погоду уличную брал с интернета?
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22
@Mishanya TS,ну конечно кому как но я не вижу в этом смысла. ну и прикрутить будет достаточно сложно потому что надо чтоб он брал от туда только цифры . это лутше проект на матрице
типо этого https://community.alexgyver.ru/threads/bolshie-chasy-64x32-esp32.6716/ и то тяжко будет
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@Mishanya TS, так использовать api погоды. Сложности возникнуть не должно, примеры есть)
@wulf, ага, он на Али 200р примерно.
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22
@ASM,ток его я так понимаю лучше в какую то коробочку прятать если нет с корпусом сразу
 

ASM

★★★★★✩✩
26 Окт 2018
1,602
311
@wulf, я не знаком с ним. Его постоянно советуют вместо bme280, который не жилец на улице) На сайте народного мониторинга есть раздел про датчики, почитай)
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
169
22
@ASM, почитал вот описание как там написано
Датчик температуры и влажности. Показания достаточно близки к эталонам, при этом отдает корректные показания во всех диапазонах температур и влажностей. "Выживает" на улице под чашечным тепловым щитом или в метеобудке.

Надо под него сделать какой то корпусок и спрятать от солнышка и водички . а так из всех которые там описаны этот самый живучий
 

Leon111_09

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

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
55
Таганрог
forum.wisecomp.ru
@wulf, Серьезно? За датчик температуры/влажности 600р.+? ДНТ21 довольно точный,выполняет все те же функции,но у него еще вдобавок ко всему около -25 или -50 градусов нижний порог.А стоит что-то около 50-60 рублей.Да и за БМЕ280 просить почти две тысячи это уже верх жадности: на алике он стоит 250/350 рублей.