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

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

  • BMP280

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

    Голосов: 71 73.2%

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

nick 56

★★✩✩✩✩✩
11 Апр 2024
146
54
ASM, а оптимизация кода, убирание костылей, предвидится? Это же тестовый вариант?

Неплохо бы и привязку к адресу передатчика прикрутить, информация то передаётся, осталось только её использовать. В Вебе, в настройках добавить окошко "Привязать". Активно окошко-значит привязан, не активно, значит можно привязываться к любому.

И ещё по ночному режиму- вспышки на полную яркость-пока не заснул, достают! Во я накидал :)
 
  • Лойс +1
Реакции: kym13

ASM

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

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@ASM, После прошивки последней версией(2.9_радио) перестала выводиться влажность с ВМЕ280 ( откатываюсь на 2.8 всё норм), температура с радиоудлинителя выводиться, а насчёт вопроса по адресу из поста выше, в прошивке Sergo там можно каждый передатчик привязать к определенному приёмнику.
 

Вложения

  • 64 KB Просмотры: 3

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, чуть подробнее) какой адрес и где он...

Влажность проверю...
 
Изменено:
  • Лойс +1
Реакции: kym13

nick 56

★★✩✩✩✩✩
11 Апр 2024
146
54
не понял, про что речь)
Просто передатчик передаёт информацию о температуре и код передатчика, и приёмник может выбирать, если передатчиков несколько. Как это в коде работает, наверное только Sergo объяснит.
Вот на скрине видно адрес 0хАА
нет таких проблем, проверяй пайку.
Если бы пайка, они бы постоянно вспыхивали, а то только в ночном режиме
 

Вложения

Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Если бы пайка, они бы постоянно вспыхивали, а то только в ночном режиме
я также думал, но на практике теория разошлась)
попробуй выбрать темные цвета, темно-синий, мерцания будут менее заметны...

Просто передатчик передаёт информацию о температуре и код передатчика, и приёмник может выбирать, если передатчиков несколько.
это уже совсем другая реализация, надо что-то другое придумывать, возможно отдельную прошивку)
 
Изменено:

Sergo_ST

★★★★★★✩
15 Мар 2020
1,094
886
@ASM, После availableTempRX() можно вызвать getAddrRX() перед считыванием getTempRX().
Если адрес в getAddrRX() совпадает с записанным в памяти часов - тогда считываем температуру из getTempRX() в переменную, иначе просто вызываем getTempRX() чтоб разблокировать буфер приёма.

Адрес имеет тип uint8_t и может иметь значение от 1 до 255.
Адреса в прошивке передатчика по умолчанию:
  • 0xAA
  • 0xBB
  • 0xEE
  • 0xCC
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,094
886
@ASM, Нет, нужно выделить в памяти настроек есп 1 байт для хранения адреса передатчика и при приёме сравнивать его как описал выше.
В веб для пользователей можно просто сделать выпадающий список из этих 4 адресов, чтоб можно было выбрать с какого принимать данные. После выбора записывать выбранный байт в память настроек.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
1,094
886
@ASM, Не знаю чего тут запутанного, как по мне всё элементарно 😅
C++:
  if (c.radioDS) {
   if (availableTempRX()) {
     if (getAddrRX() == c.radioAddrDS) FtempS = getTempRX() + o.cor_tempS;
     else getTempRX();
    }
  }
c.radioAddrDS должна иметь тип uint8_t или byte. В ней будет храниться адрес выбранный в веб.
 

nick 56

★★✩✩✩✩✩
11 Апр 2024
146
54
конечно выбирать и смотреть один, если их несколько, или чтоб соседские не мешали
 
  • Лойс +1
Реакции: kym13

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, у меня была проблема или нет?
я еще не смотрел код, провожу эксперименты с другим функционалом.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@ASM, Вы во вкладке "sensors" убрали эту строку:
else { hum = bmp280.readHumidity() + o.cor_hum; }
Я её добавил и стало выводить влажность
 

Вложения

  • 75.6 KB Просмотры: 3

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, отвлекся видно, вот так хотел сделать, для компактности)
C++:
  if (c.htu21d) hum = htu.getHumidity() + o.cor_hum;
  if (!c.htu21d) hum = bmp280.readHumidity() + o.cor_hum;
 
  • Лойс +1
Реакции: kym13

Sergo_ST

★★★★★★✩
15 Мар 2020
1,094
886
@ASM, Не обязательно, можно просто в массиве хранить константы адресов и проверять вот так:
C++:
const uint8_t addr[] = {0xAA, 0xBB, 0xEE, 0xCC};
if (getAddrRX() == addr[c.radioAddrDS])...
 
Изменено:
  • Лойс +1
Реакции: ASM

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
C++:
https://raw.githubusercontent.com/Serega88kos/BigClock/main/bin/firmware3b.bin
Тестируйте новую версию, добавил датчики, выбор адреса)
Добавил новую функцию отправка показаний уличной температуры/радиодатчика по UDP в локальную сеть.
При наличии еще таких часов, можно считать показания.
Сделал для заделки под Matrix часы, тогда проект этот остается.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@ASM, Выставляешь адрес 0хАА и при включении кнопки "есть radioDS" адрес меняется на 0хВВ, и наоборот при отключении кнопки "Есть radioDS" адрес сам меняется на 0хАА. Если попытаться после включения кнопки выставить адрес кнопка отключается. С ВМЕ280 все данные выводятся. Сегодня подключил физический DS18b20 на пин D5 при подключенном радио и при отключении в веб кнопки переключается на физ.датчик, а вот обратно если включить радио то только после перезагрузки определяется. Вообщем кнопка включения активируется только на адресе 0хВВ на всех остальных отключается. У меня передатчик настроен на адрес 0хАА поэтому приёмник на часах не считывает показания.
 

Вложения

  • 61.6 KB Просмотры: 6
  • 72.5 KB Просмотры: 6
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, понял, гляну чуть позже)
Ошибка простая)

проверяй)
 
Изменено:
  • Лойс +1
Реакции: kym13

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@ASM, Вроде всё работает, с ВМЕ данные идут, выставил адрес 0хАА и стали считывать данные с передатчика, в ночной режим переходят. Багов пока не заметил. Вы сам скетч скините?
 

Вложения

  • 70.7 KB Просмотры: 4