• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

pvvx

Активный участник сообщества
ESPHome типа "купил" Home Assistan. Не "купил", но это давно их часть.
У Home Assistan есть формат BTHome созданный для DIY и имеющий официальный UUID.
Но ESPHome его не поддерживает и с BLE там всё в пролете - ESPHome, связанное с BLE, виснет и перегружается на любых стадиях.
BT5.0 не поддерживается, хотя какие-то вставки в ESP-IDF давно сделаны и что-то там даже как-то работало - смотрел прем расширенной рекламы. Как-то принимает, но дальше эти данные некуда пускать - упадет от перегрузки. Адаптеры USB-BT с шиной USB2.0 FS не справляются только с приемом рекламы, а тут ESP...
 

pvvx

Активный участник сообщества
Даже если вписать в ESPHome, чтобы он принимал только от одного устройства по MAC - всё равно через какое-то время падает. Но до этого тупит ужасно.
Код:
[D][api.connection:918]: Home Assistant 2023.2.5 (::FFFF:192.168.2.6): Connected successfully
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 14)
[D][ble_adv:049]:   Advertised manufacturer data:
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 14)
[D][ble_adv:049]:   Advertised manufacturer data:
[I][ota:113]: Boot seems successful, resetting boot loop counter.
[D][esp32.preferences:113]: Saving 1 preferences to flash...
[D][esp32.preferences:142]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[D][esp32_ble_tracker:238]: Starting scan...
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 10)
[D][ble_adv:049]:   Advertised manufacturer data:
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 10)
[D][ble_adv:049]:   Advertised manufacturer data:
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 10)
[D][ble_adv:049]:   Advertised manufacturer data:
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
[D][ble_adv:040]:   name: ATC_0B5EED
[D][ble_adv:041]:   Advertised service UUIDs:
[D][ble_adv:045]:   Advertised service data:
[D][ble_adv:047]:     - 0x181C: (length 10)
[D][ble_adv:049]:   Advertised manufacturer data:
[D][esp32_ble_tracker:238]: Starting scan...
[D][ble_adv:038]: New BLE device
[D][ble_adv:039]:   address: A4:C1:38:0B:5E:ED
...
Пропусков очень много. Не понятно, когда CPU сможет успеть принимать и передавать, если он занят выводом текстовых логов на 115200 Baud?
Т.е. надежность нулевая. Может у кого одно устройство BLE, то у него всё нормально - потоков и нагрузки на ESP нет, ESP не занят дефрагментацией "Heap" и наверно проработает без вылета пару дней?
 

pvvx

Активный участник сообщества
Немного... ;-) 9 шт по 1,5 кв м. Поддержание комфортных условий в очень узком (но высоком) диапазоне температур/влажности потребляет около 3,5 кВт/час.
Что-то очень много. Как не считай, даже если там надо +50С и 0% влажности.
У вас где-то перерасход в пустую - не оптимизировано.
Так что нагрев ESPшек мне только в помощь. :)
Это наверно относится к тому, что вашим рептилиям нужно микроволновое излучение в 2.4ГГц (как в микроволновке)?
Другого смысла в WiFi там нет. Особенно на ESP, т.к. плохо у него с расстояниями связи.

Вот предбанник бани (отапливается иногда), в нем часы с температурой и влажностью - MJWSD05MMC
А от него, через 50 метров, дом-мастерская. И в нем тупой дешевый адаптер USB-BT5.0 Realtek воткнутый в платку управления с HA.
MJWSD05MMC работает в BT5.0 LE Long Range (жрет в среднем 20 мкА):
1678467508543.png
И температура на террасе, а пучки - открывалась дверь дома и на градусник летел теплый воздух...
 

aZholtikov

Active member
Что-то очень много. Как не считай, даже если там надо +50С и 0% влажности.
У вас где-то перерасход в пустую - не оптимизировано.
Поддержание температуры и влажности для рептилий это не только нагрев нагревателем и увлажнение увлажнителем. Там все сильно сложнее.
У меня это оптимизировано "дальше некуда". Закрываю тему.
 

pvvx

Активный участник сообщества
На MJWSD05MMC чип драйвера LCD кушает около 14.5 мкА. Меньше не сделать.
В альтернативной прошивке среднее потребление от CR2450 при настройках по умолчанию - около 20 мкА. Если переключать в LE Long Range, то желательно увеличить период передачи данных до 7.5 сек. Тогда потребление при RF-TX +0дБм так-же не будет выходить за 20 мкА (где-то 3 года работы если брать 500 мА/ч, с учетом саморазряда CR2450).
Официальная прошивка кушает от 60 мкА в режиме ожидания, а в других и при частом изменении температуры и влажности - значительно больше - за 0.1 мА.
 

pvvx

Активный участник сообщества
Но в MJWSD05MMC опять экономия Xiomi на конденсаторе питания и если его впаять, то можно значительно увеличить срок работы батареи (до +40%).
Типичная CR2450:
1678469325985.png
Иначе работа прекратится при внутреннем сопротивлении батареи примерно за 120 Ом.
 

pvvx

Активный участник сообщества
А расчет прост. Если внутреннее сопротивление садящейся батареи уже 120 Ом, тогда при импульсе тока для передачи RF-TX +0дБм требуется ток до 8 мА.
В итоге 3.0В-0.008мА*120Ом = 2.04В будет на батареи в момент передачи без конденсатора (или если он мал).
А программный порог, до перехода в deep-sleep с 2-х минутным ожиданием восстановления напряжения до 2.2В, установлен в 2.0В
Ниже не желательно - Telink не рекомендует производить работу с Flash чипа при напряжениях ниже 2.0В, т.к. ещё возможны и просадки питающего напряжения...
BOR у чипа - 1.8В.
 

pvvx

Активный участник сообщества
Вопрос:
Для передачи BLE рекламы в 'LE Long Range' требуется передача мачка в расширенной формате. Это, включая в 4-ре раза более длительную работу RF TX, дает увеличение среднего потребления от 6+ раз в сравнении с передачей в Legacy формате (1M PHY).
Если передавать рекламу в Legacy формате и увеличить мощность передачи в антенну в 4..6 раз, то расстояние связи будет равносильно 'LE Long Range' с 0 дБм?
Эксперимент достаточно сложный, т.к. очень много побочных факторов. Требуется теоретический расчет - только с ним возможно уточнить данный вопрос.

А пока всё хорошо в 'LE Long Range' и успешно принимается в HA на дешевом адаптере USB-BT и на -108 дБм:
1678819517897.png
Пропусков приема достаточно мало, в эфире забитом десятками BLE и WiFi...
 

pvvx

Активный участник сообщества
Борьба с Linux продолжается. Поддержки технологий вышедших в стандартах ещё в 2016 году так и нет ни в одном из open-source дистрибутивов с Linux.
BLE 5.0+ так и не поддерживается в них.
И ту ещё начался обещанный мной много лет назад неминуемый взрыв бомбы заложенной Товальдсом. "Бикфордов шнур" уже горит...
 

lex12k

New member
Привет, а на вашей прошивки, можно подключиться к mihome? Прошился - не подключается...
Advertising type: miija (mihome)
Может быть есть последовательность действий? Спасибо за прошивку :)
 

pvvx

Активный участник сообщества
Может быть есть последовательность действий?
Нет. У оф.прошивки есть/использется доп. шифрование для соединения и форматы данных при соединении другие. А также нет пин-кода.
Обслуживается только через 'Xiaomi Gateway 3' и аналогичные. Читайте README.md в репе:
Custom firmware is not supported in MiHome. But it is possible to work LYWSD03MMC with 'Xiaomi Gateway 3' by first registering in MiHome on the official firmware, flashing to custom firmware with restoring the binding key from MiHome, replacing the device name with "LYWSD03MMC" and setting the advertising type to "MIJIA (MiHome)" marked "encrypted".
Кастомные прошивки не поддерживаются в MiHome. Но возможна работа LYWSD03MMC с 'Xiaomi Gateway 3', предварительно зарегистрировавшись в MiHome на официальной прошивке, перепрошив на кастомную прошивку с восстановлением ключа привязки от MiHome, заменив имя устройства на "LYWSD03MMC" и установив тип рекламы на " MIJIA (MiHome)" с пометкой "зашифровано".
1679147976469.png
 

pvvx

Активный участник сообщества
1679148254952.png
Так что соединение с MiHome совершенно не нужно.
 

lex12k

New member
Так что соединение с MiHome совершенно не нужно.
Понятно, шлюза у меня нет. Буду делать или через esp32 или через usb блютус, дальше через openwrt всё это парсить и добавлять, но вопрос куда? в mihome получится?) или только вариант ставить home assistant и в него заливать.
 

pvvx

Активный участник сообщества
А что вам надо от термометра?
В MiHome показания снимаются через десятки минут и никуда такое не годится, кроме как смотреть на эти кривые графики с редкими точками.
Есть что-то в ESPHome, но я не советую ничего связанного с BLE на ESP32.
На Home Assistant "вумные дома" не заканчиваются. Их достаточно много...
 

lex12k

New member
А что вам надо от термометра?
у меня на даче пару таких датчиков, хочу включать розетки, в зависимости от температуры.
Есть также обогреватель xioami, поэтому думал про mihome.

В идеале систему для управления, которая ставится на роутер openwrt и не особо много потребляет ресурсов, а также имеет интеграцию с esp8266.
Почитаю про domoticz, спс.
Есть что-то в ESPHome, но я не советую ничего связанного с BLE на ESP32.
Понял, тогда usb свисток с блютус, на openwrt.
 

sL0n1k

Member
Hi!
Какое-то время протестировалась прошивка версии 4.2, long range работает, вполне прилично надо отметить,
может даже лучше чем американский (в режиме рекламы).

А вот результаты измерений температуры и влажности - мягко говоря не очень приятные. Привожу картинку температуры за пять дней. Верхний график - измерения на термисторе 1%, средний ds18s20, нижний - xiaomi с версией 4.2.

Возможно, это поможет скорректировать что-то.

PS

Да, могу сообщить и подтвердить, что со свежим дебианом orange Pi 3 Lts и orange Pi zero 2 - long range работает со штатным чипом и штатной внешней антенной без всяких нареканий. Китайцы исправили это сравнительно недавно, предыдущая сборка этого не умела.

Так же могу сообщить, что вот такой адаптер с внешней антенной


100% работает Long Range на Orange Pi 5 на свежем Armbian.
 

Вложения

Сверху Снизу