• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 длиться несколько дней.
 
Сверху Снизу