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

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

pvvx

Активный участник сообщества
В общем-то тут описывать нечего, но если нужен TLSR8251 в коробке с LCD, датчиком и ... то оно стоит менее 260 рупь за шт. (если брать >3 стразу, на опыты :) )
1603816621752.png
Открытая прошивка и прочее тут:
 

nikolz

Well-known member
 

pvvx

Активный участник сообщества
На сегодня практически уже всё переработано в LYWSD03MMC...
В нем используется Sensirion Humidity Sensors SHTV3/SHTC3.

Соответствие пинов TLSR8251 к подписям на плате:
XiaomiLYWSD03MMCpins.gif
И многое другое можно глянуть тут:
Потребление альтернативной прошивки при разных интервалах рекламы:
PowerLife.gif
PowerAdvInt.gif
Потребление в режиме соединения у custom прошивки немного меньше - на пару процентов.

Оригинальная прошивка от Xiaomi имеет рекламный интервал 1700 мс и опрашивает датчик каждый 4-й интервал (6800 мс).
При этом потребляет 18.64 мкА, что больше чем у custom прошивки при default установках (17.28 мкА).
Но в режиме соединения оригинал жрет немерянно и может высадить батарейку за сутки.
Так-же оригинал с Mi Home периодически подключается к датчику и среднее потребление увеличивается...
Альтернативная прошивка поступает по другому и потребление при connect не увеличивается, а уменьшается.
 

pvvx

Активный участник сообщества
220 руб, если 4 шт
Датчик температуры и влажности SHTC3 на али стоит от 290 рупь.
-----
В прошивку встроена функция показа внешних данных, посылаемых к устройству термометра.
Они отображаются согласно остальным установленным опциям и имеют задаваемое время ограничения отображения. Т.е. через указанное время после обновления данных для отображения устройство больше не будет их включать в цикл показа. Например закидываем на устройство погодные данные или курса валют с неким периодом обновления. После каждого обновления они будут отображаться всего период времени их актуальности. Позволяет определить, что новых данных нет и надо глядеть что не так в шлюзе...
 

shadows

New member
а вы случаем не сравнивали показания влажности SHTC3 с другими датчиками? просто дома есть пара устройств фирмы GAL (вроде какой-никакой бренд) и они упорно показывают влажность около 40%, а xiaomi выдает 66% с штатной прошивкой и 60% с кастомной, не понятно зачем штатная завышает показания с датчика.
 

pvvx

Активный участник сообщества
а вы случаем не сравнивали показания влажности SHTC3 с другими датчиками? просто дома есть пара устройств фирмы GAL (вроде какой-никакой бренд) и они упорно показывают влажность около 40%, а xiaomi выдает 66% с штатной прошивкой и 60% с кастомной, не понятно зачем штатная завышает показания с датчика.
С другими пока не сравнивал. Но 3 шт LYWSD03MMC ставил в ряд и они показывают одинаково, а на штатной с завышением.
 

pvvx

Активный участник сообщества
У датчика SHTx3 есть две команды измерения:
  • “Normal” - время замера около 11 мс, имеет такую дисперсию:
1609190200343.png
  • “Low Power” - время замера около 0.75 мс, имеет такую дисперсию:
1609190243337.png
Разница только в разбросе значений замеров. Но для индикации с одной десятой градуса уже не хватает “Low Power” режима измерения.
 

pvvx

Активный участник сообщества
Прикольно: датчики случайных показаний.
скока, скока?
У оригинальной прошивки введены неизвестные смещения, да сама плата, где стоит датчик массивная - долго прогревается, и доступ влажности ограничен масенькими дыдочками в почти герметичном пластиковом корпусе - ждите от полу часа уравнивания, да и разница температур на столе от неравномерной конвекции может рознится и на 2 градуса. Если это всё учесть, то показывают одинаково.
 

pvvx

Активный участник сообщества
Я собирал прошивку с Apple HomeKit на эти коробочки - работает и потребление тоже возможно уложить в 1 год работы - полученное среднее тестовое потребление около 30 мкА. На сайте Telink есть SDK для всех вариантов устройств Apple HomeKit с реализацией на BLE. Выходит достаточно усложненная версия с громадным размером прошивки. Но т.к. я не сторонник (не любитель) Apple, то у меня нет и не будет возможностей полноценных тестов на огрызках.
Так-же на чипе в данной коробочке работает и модифицированный Zigbee SDK от Telink, но и его нет смысла использовать, т.к. обычному пользователю данный протокол некуда включить, кроме как на ощупь со специальными и ещё и специфичными шлюзами. Именно по этому Zigbee мертв в среде DIY.
У Telink есть и SDK с Zigbee + BLE (одновременно) к данному чипу, но там повышенная жручка, т.к. всё дублируется в RF и имеет доступ и по BLE и Zigbee (ближе к Mesh).
 

pvvx

Активный участник сообщества
Докинул программирование чипа по проводу от USB-COM в эксплорере (USBCOMFlashTx.html):
1609544460388.png
 

pvvx

Активный участник сообщества
Наковырял управление выводом, который торчит у батарейки и подписан "reset" (имеет доступ без разборки корпуса).
1609573666990.png
Включается по заданным порогам и гистерезису. Знак гистерезиса указывает направление срабатывания:
  • если меньше нуля -> включение на GPIO_P5 подтяжки 10 кОм на Vcc при уровне ниже порога (+гистерезис)
  • если больше нуля -> включение на GPIO_P5 подтяжки 10 кОм на Vсс при уровне выше порога (+гистерезис)
Отключение: GPIO_P5 подтяжка 100 кОм на GND, соответственно при проходе порога с дополнением гистерезиса в другую сторону.
Если значение гистерезиса равно нулю - управление для данного источника отключено.
При обоих отключенных работает команда внешнего управления данным пином при соединении (при connect с устройством).
Для данного пина так-же есть и чтение как входа с сообщением в маяке и при соединении...
 

pvvx

Активный участник сообщества
OnOff.gif
Сам может управлять кондиционером :) при потреблении в 15 uA от СR2032 (года на два...)
Возможно прикрутить и какой счетчик с показом значений... или кнопку управления. Только нафиг это всё надо, т.к. есть готовое.

3 АА батарейки (~2-4 года работы) :) :) :)
 

nikolz

Well-known member
У оригинальной прошивки введены неизвестные смещения, да сама плата, где стоит датчик массивная - долго прогревается, и доступ влажности ограничен масенькими дыдочками в почти герметичном пластиковом корпусе - ждите от полу часа уравнивания, да и разница температур на столе от неравномерной конвекции может рознится и на 2 градуса. Если это всё учесть, то показывают одинаково.
провел тестирование 4-х модулей по влажности (по госту).
Показания регистрировались через 4 часа.
В итоге разброс показаний составил +-2% влажности ( тестируемая влажность 75%. показания от 74% и до 77%)
В целом все в пределах документации.
-----------------
Но от таких модулей мало толку, так как чип и индикатор всегда размещены в контролируемой среде.
--------------------
Реально надо модули с вынесенными датчиками.
--------------------
Кроме того, реально надо измерять температуру в узком диапазоне изменений но с высокой точностью.
 

nikolz

Well-known member
Посмотреть вложение 10399
Сам может управлять кондиционером :) при потреблении в 15 uA от СR2032 (года на два...)
Возможно прикрутить и какой счетчик с показом значений... или кнопку управления. Только нафиг это всё надо, т.к. есть готовое.

3 АА батарейки (~2-4 года работы) :) :) :)
относительно счетчика показаний,
полагаю, что более интересным и перспективным было бы решение на оптическом чтении цифр со счетчика.
В это случае батарейки хватит и на 100 лет,
так как показания надо считывать один раз в месяц.
 

pvvx

Активный участник сообщества
относительно счетчика показаний,
полагаю, что более интересным и перспективным было бы решение на оптическом чтении цифр со счетчика.
В это случае батарейки хватит и на 100 лет,
так как показания надо считывать один раз в месяц.
Наиболее перспективным в счетчиках воды - питание от того-же потока или разницы температур.
А показания можно гнать всегда или по запросу.
Но контроль что устройство работает - "всегда на страже" необходим. Тут BLE и выступает как уже имеющее необходимый протокол и алгоритм.
Реклама в BLE гонит текущие показания с интервалом до 10 сек, а режим соединения позволяет считывать прочую статистику. В WiFi этого нет.
 

pvvx

Активный участник сообщества
провел тестирование 4-х модулей по влажности (по госту).
Показания регистрировались через 4 часа.
В итоге разброс показаний составил +-2% влажности ( тестируемая влажность 75%. показания от 74% и до 77%)
В целом все в пределах документации.
Датчик известный - SHTC3 (конкретно похоже на спец заказ партии для Xiaomi и по этому имеет маркировку SHTV3) и о его измерениях всё известно давно.

Имеет два режима работы -
  • с растягиванием SCL - пока замеряет опускает SCL к GND и любой чих на шине I2C приводит с сбою последующего чтения значений - работа шины I2C с другими устройствами при этом невозможна.
  • с перечитыванием по ACK - пока замеряет дает NACK. Тут возможно использовать линию I2C пока измеряет.
С TLSR825x бяда - при выходе из deep-sleep он аппаратно дергает ногами в "0" и создает импульс, который не дает использовать режим готовности данных в I2C по растягиванию SCL и типа.

Долго с энтим помучался:
1609882085587.png
Пришлось отказаться от такого режима и ждать готовности по таймеру и последующему опросу с ACK...

-----------------
Но от таких модулей мало толку, так как чип и индикатор всегда размещены в контролируемой среде.
--------------------
Реально надо модули с вынесенными датчиками.
--------------------
Кроме того, реально надо измерять температуру в узком диапазоне изменений но с высокой точностью.
В быту это никому не требуется. Тем более отклонения от абсолютных значений.
А спец. измерители строят совсем на других датчиках.
 

pvvx

Активный участник сообщества
В это случае батарейки хватит и на 100 лет,
Нет таких батареек. Это не спец. космический зонд из материалов не измеряемых по стоимости в денежных знаках.
Существующие на рынке CR2032 не хранятся 10 лет. Только лучшие образцы и то с ужасной потерей емкости и, в основном, внутреннего сопротивления.
При установке просроченного по сроку продажи элемента CR2032 в данную байду у него начинается восстановление внутреннего сопротивления и, следовательно, происходит подъем напряжения.
Импульсный ток данного BLE очень хорошо "регенерирует" данный элемент... Процесс подъема напряжения CR2032 длиться несколько дней.
 
Сверху Снизу