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

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

  • BMP280

    Голосов: 26 26.5%
  • BME280

    Голосов: 72 73.5%

  • Всего проголосовало
    98

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Да кабы я смог, сделал бы :) Но увы для меня сложновато. Поэтому и высказал пожелания.
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
так и я не специалист) методом проб и ошибок делаю)
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
@S_Sergey_G, теоретически все можно, надо только изучать) так-то должна же быть библиотека)
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Да пример похож, но надо как то вывести на дисплей инфу от брокера.
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
@S_Sergey_G,так по сути аналогично, как и выводятся данные с датчиков.
принять топик и занести в переменную, вместо считывания датчика, вроде больших сложностей нет)
 

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

★★★★★★★
14 Авг 2019
4,327
1,320
Москва
Ну вот если ставить часы на столе (условно) а датчик в огороде, то скорее всего они будут работать в одной сети. Надо ли через брокера делать ?
А если датчик в огороде, а часы на работе, то уже есть смысл. Но тогда напрашивается вариант с 2мя, 3мя , 6-ю датчиками. В разных местах. И что бы их отличить надо как то их именовать. И имя это выводить перед температурой. Но тогда это уже будут не часы, т.к. львиную долю они будут показывать не время :D
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Ну вот если ставить часы на столе (условно) а датчик в огороде, то скорее всего они будут работать в одной сети. Надо ли через брокера делать ?
А как передать с датчика температуру на часы сразу без посредников. И да мне часы не очень нужны, я люблю термометры:)
 

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

★★★★★★★
14 Авг 2019
4,327
1,320
Москва
Да как угодно, куда угодно. Между 2-мя есп очень легко, одна в режиме точки доступа, другая ее клиент. Просто в нужный ip по UDP , по NRF24 , но это сложнее, хотя может быть дальнобойнее.
 

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

★★★★★★★
14 Авг 2019
4,327
1,320
Москва
Да, так можно сделать, это один из вариантов
Тогда ip часов будет обычно 192.168.4.1, на часах можно запустить UDP сервер и на него слать данные с датчика температуры
Или веб сервер и слать запросы.
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Подключил датчик DS18B20 на D5, в настройках выбрал отображать время и температуру на улице. Перед показом температуры перестают мигать точки, потом переключаются на температуру и все висит, температура не меняется на часы не переключаются. Датчик исправен. В чем может быть причина?
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Разобрался. В настройках веб, порядок и время ставил сначала так: 0,2 и 30,30. Сейчас прописал 0,2,0,2,0 и 30,30,30,30,30. Всё заработало как надо.
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
Интересно, не должно быть такого, посмотрю))
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
И ещё, принёс сейчас часы с работы домой, точку доступа создал, но по адресу 192.168.4.1 не заходит.
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
@S_Sergey_G, к точке надо подключиться напрямую)
@S_Sergey_G, ага, есть такой баг) индикация останавливается, но часы работают)
При тестировании я выключал только влажность и менял интервал, всё было норм. Но при отключении влажности, нет чтения с датчика, соответственно мониторинг не видит новых показаний, поэтому больше не замудрялся)
 
Изменено:

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Напрямую. Телефон увидел сеть, подключаюсь к ней, ввожу IP и на веб интерфейс не входит.
Часы не показывают, светится 4 знак 3 сегмента в верху. Понял про какой баг.
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
@S_Sergey_G, проблему с ТД увидел. Появилась в результате переделки проверки синхронизации. Сейчас висит в вечном цикле запрос времени ntp, время неправильное, и снова запрос...
Тогда на данный момент один выход, прописать в коде записи от WiFi.
Постараюсь на выходных исправить)

п.с. возможно это в моей бета версии такой баг, залил версию как из шапки, и после старта ТД получилось зайти и вернуть настройки в правильное значение)
 
Изменено:

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Уже прописал в коде свой wifi всё пока работает.
А как температуру выводить с десятыми 25,6, градус можно убрать.
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
@S_Sergey_G,
в этой строчке
C++:
int digit = abs(tempS % 10);
Поменять на
C++:
int digit = abs(FtempS / 10);
по идее флоат идет с 2 мя знаками после запятой, делим и получаем 3 числа) вот и их выводить, аналогично давлению)
вообщем мысль передал)
C++:
  int digit = pres % 10;
  Digit(digits[digit], segment_4);
  digit = pres % 100 / 10;
  Digit(digits[digit], segment_3);
  digit = pres / 100;
  Digit(digits[digit], segment_2);
сейчас не загрузить голову, чтобы осмыслить, сил нет)
 

S_Sergey_G

✩✩✩✩✩✩✩
23 Фев 2021
168
3
Если просто поменять на
C++:
int digit = abs(FtempS / 10);
то показывает всегда 22° в сериале отображает правильно.
Аналогично давлению меняю
C++:
Digit(digits[10], segment_4);
на
C++:
Digit(digits[digit], segment_4);
чтобы вместо градусов показывал десятые, но выдаёт ошибку (
'digit' was not declared in this scope
)
 

ASM

★★★★★✩✩
26 Окт 2018
1,920
422
Первый код обязателен, он формирует число, которое в следующем коде через математику разбивает на числа. 123 это остаток деления %10 будет тройка.остаток деления %100 будет 23 и /10 будет 2. Если разделить на 100 будет 1. Так и работает вывод.

Ещё заметил, замени int digit на float digit
п.с. может лучше так int digit = FtempS *100;
Таким образом сделаем из 23.45 целое число 2345, которое можно разбить на числа)
 
Изменено: