• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

pvvx

Активный участник сообщества
провел тестирование 4-х модулей по влажности (по госту).
Показания регистрировались через 4 часа.
В итоге разброс показаний составил +-2% влажности ( тестируемая влажность 75%. показания от 74% и до 77%)
На оригинальной прошивке значения влажности завышены в среднем на 5 %. Это уже статистика по разным опросам и писаниям в инет при сравнении с прямыми показаниями от датчика.
Тут и не ясно что вы там измеряли или вообще что-то измеряли?
 

pvvx

Активный участник сообщества
Оригинал от Xiaomi передает измерения раз в 10 минут (есть ещё зависимости от изменений показаний), а читает датчик каждый 4-й Advertising interval.
Advertising interval у него фиксирован - что-то около 1.7..1.8 сек.
Посылка значений осуществляется пачкой от десятка Advertising с коротким интервалом. В этот момент он жрет значительно больше.
В режиме Connect оригинал не перестраивает интервалы сonnection и потребление зависит от опрашивающего устройства и может в среднем достигать и 3 мА.
Тем более при соединении и Advertising у оригинала используется шифрование, на что проц плохо приспособлен и жрет немерянно по времени обработки процедур шифрации и дешифрации.
Так-же фирменное ПО и шлюзы от Xiaomi периодически соединяются с устройством и что-то там принимают-передают, что сильно сокращает время жизни батарейки.
 

pvvx

Активный участник сообщества
Вопросы и поведение оригинального ПО от Xiaomi сильно не изучал, но прикидочно - батарейки с ним не хватит и на 1 год.
 

pvvx

Активный участник сообщества
Несколько ссылок по чтению данных с термометров Xiaomi и/или custom прошивке.
Xiaomi LYWSD03MMC passive sensor readout (ESPHome)
Xiaomi Mijia BLE MiBeacon Monitor
Вообще все ноги и последующий ажиотаж блогеров в Инет по этому устройству растут из кода для андроид приложения miaomiaoce.sensor_ht.t2.
Большего, чем там описано, никто и не сделал. Только портирование на питон или js или в код для ESP32. :)
 

pvvx

Активный участник сообщества
Т.е. никакого "хакерства" и не было, т.к. давно умерло.
 

pvvx

Активный участник сообщества
Для тех, кто хочет создать полностью совместимую с Mijia прошивку, Telink давно выложил SDK "mi_release_version_4_1_1" для TLSR825x/826x. Но ныне убрал, посему дублирую:
Требует библиотеку "libmijia_std_authen_eclipse_telink_1_0_1.a" от Xiaomi, получаемую по подписке:


Поддерживаемые чиповые решения
Mijia предоставляет демонстрационный проект со стандартным доступом, основанный на плате разработки.

Адрес демонстрационного проекта GitHub следующий: (следуйте документу README под каждой веткой, чтобы завершить импорт проекта)

Производитель чиповЧип-платформаДемонстрационный проект
Скандинавский51 серииhttps://github.com/MiEcosystem/mijia_ble_standard/tree/nordic_legacy
Скандинавский52 серииhttps://github.com/MiEcosystem/mijia_ble_standard/tree/nordic
Силиконовые лабораторииBG13https://github.com/MiEcosystem/mijia_ble_standard/tree/silabs
TelinkTLSR825xhttps://github.com/MiEcosystem/mijia_ble_standard/tree/telink
RealtekRTL8752x / RTL8762xhttps://github.com/MiEcosystem/mijia_ble_standard/tree/realtek
ДиалогDA145xxhttps://github.com/MiEcosystem/mijia_ble_standard/tree/Dialog
ДиалогDA146xxhttps://github.com/MiEcosystem/mijia_ble_standard/tree/da146xx
 

pvvx

Активный участник сообщества
Как итог: На сегодня все блогеры в инет и всякие "народные" IoT программы - это пиар ЭГЕ-шников, основанный на незнании и неумении разруливать информацию. Т.е. чистый обман и развод непосвящённых.
 

pvvx

Активный участник сообщества
Если раньше “сИкретики” хранили корпорации, то теперь это делают представители “народных сообществ” ради личного пиара. Пора уже их “хакать”. Всё течет и меняется, но каждому течению требуется альтернатива и противопоставление…
 

nikolz

Well-known member
В быту это никому не требуется. Тем более отклонения от абсолютных значений.
Вы ошибаетесь.
вот пара ну очень бытовых задач:
1) Инкубатор.
2) Самогонный аппарат.
В обоих случаях нужно как раз то, что я указал.
 

pvvx

Активный участник сообщества
Вы ошибаетесь.
вот пара ну очень бытовых задач:
1) Инкубатор.
2) Самогонный аппарат.
В обоих случаях нужно как раз то, что я указал.
Дык после калибровки точность температуры 0.1 С, влажности 0.1 % с не включенной опцией Sensor "Low Power". Сам сенсор дает влажность в 100/65536 % (дискрет 0.0015%)
Графики биений показаний приведены ранее https://esp8266.ru/forum/threads/tl...mc-xiaomi-bluetooth-termometr.5263/post-77079
Триггер на ножку GPIO работает c минимальным гистерезисом +- 0.1 от уставки... до +-12.5.
И что вы хотите от дешманской коробочки?
 

pvvx

Активный участник сообщества
nikolz - Жду не дождусь от вас ссылки на термометр с влажностью с абсолютными показаниями +-0.1 градус или %, который не требует калибровки (или поверки каждый год в спец. пунктах).
 

nikolz

Well-known member
Дык после калибровки точность температуры 0.1 С, влажности 0.1 % с не включенной опцией Sensor "Low Power". Сам сенсор дает влажность в 100/65536 % (дискрет 0.0015%)
Графики биений показаний приведены ранее https://esp8266.ru/forum/threads/tl...mc-xiaomi-bluetooth-termometr.5263/post-77079
Триггер на ножку GPIO работает c минимальным гистерезисом +- 0.1 от уставки... до +-12.5.
И что вы хотите от дешманской коробочки?
если Вы об этом графике
1609951927023.png
то размах ошибки составляет от 26.65 до 27.15 т е 0.5 гр С.
Непонятно, что именно на этом графике измеряется с точностью 0.1 гр.
 

nikolz

Well-known member
nikolz - Жду не дождусь от вас ссылки на термометр с влажностью с абсолютными показаниями +-0.1 градус или %, который не требует калибровки (или поверки каждый год в спец. пунктах).
А кто сказал что калибровка не нужна?
А вот спец пункт для этого не требуется.
Калибровку можно делать на своем столе, а не в спец пунктах.
Проблема в том, что большинство аля-кулибиных даже не задумываются об этом.
А с Вашей подачи (Сам сенсор дает влажность в 100/65536 % (дискрет 0.0015%) ) считают, что 0.0015% - это и есть точность.
------------
Прикольно было в прошлой жизни наблюдать как студенты на лабах по электротехнике считали по закону Ома требуемое сопротивление цепи
и радостно сообщали, что надо взять сопротивление в 10.450792345 Ом.
 

nikolz

Well-known member
Например надо поддерживать температуру в диапазоне 36.9 .. 37.2 гр С
А у датчика погрешность 0.1 гр С. при этом непонятно 0.1 гр - это что среднее, медиана?
Так как это случайная величина то какой доверительный интервал?
И естественно возникает вопрос: какую точность поддержания температуры в заданном диапазоне обеспечит такой датчик?
--------------
М, да...
 

pvvx

Активный участник сообщества
Например надо поддерживать температуру в диапазоне 36.9 .. 37.2 гр С
А у датчика погрешность 0.1 гр С. при этом непонятно 0.1 гр - это что среднее, медиана?
Никакой из обычных электронных датчиков температуры работающих по i2c не даст вам такой возможности. Они не для этого сделаны.
Те-же ИК датчики для замера температуры по роже не дают такой точности и стабильности замеров...
С чего вы тут заняты такими загибонами? Берете что аналоговое и лепите к нему АЦП в 24 бита с требуемой стабильностью Uref и вперед.
Сколько раз говорить - "проволочка" пока есть самый точный датчик.
 

nikolz

Well-known member
Никакой из обычных электронных датчиков температуры работающих по i2c не даст вам такой возможности. Они не для этого сделаны.
Те-же ИК датчики для замера температуры по роже не дают такой точности и стабильности замеров...
С чего вы тут заняты такими загибонами? Берете что аналоговое и лепите к нему АЦП в 24 бита с требуемой стабильностью Uref и вперед.
Сколько раз говорить - "проволочка" пока есть самый точный датчик.
как говорится - про АЦП в 24 бит и дураку понятно, понял - не дурак.
------------------
Прикольно то, что дураку очевидно не понятно,
что 0.3 гр от 36 гр это примерно 1%,
т е если измерять даже в 10 раз точнее,чем 1%( т е с точностью аж 0.03 гр),
то достаточно АЦП в 10 бит,
а этого аж в 4000 раз погрешность больше, чем та, что дураку понятна.
 

shadows

New member
С TLSR825x бяда - при выходе из deep-sleep он аппаратно дергает ногами в "0" и создает импульс, который не дает использовать режим готовности данных в I2C по растягиванию SCL и типа.
1. а че то там в СДК было вроде написано, что при выходе из deepsleep GPIO может инициализировать по макросам типа "PA5_DATA_OUT" не пробовали их конфигурить?
2. если мне нужно использовать UART для чтения статусов стороннего устройства, про deepsleep можно забыть?
3.а developer handbook для single connection вообще есть в доступе? telink его может высылать обычным людям?
4. вам попадались примеры для LONG RANGE?
 

pvvx

Активный участник сообщества
как говорится - про АЦП в 24 бит и дураку понятно, понял - не дурак.
------------------
Прикольно то, что дураку очевидно не понятно,
что 0.3 гр от 36 гр это примерно 1%,
т е если измерять даже в 10 раз точнее,чем 1%( т е с точностью аж 0.03 гр),
то достаточно АЦП в 10 бит,
а этого аж в 4000 раз погрешность больше, чем та, что дураку понятна.
Прикольно то, что у ADC младшие разряды всегда шумят, а общее окно измерения с учетом всяких смещений выбирается так-же больше и кол-во бит в представлении итогового числа ни о чем не говорит.
И 10 бит АЦП не хватит для разрешения 0.1%
 

pvvx

Активный участник сообщества
1. а че то там в СДК было вроде написано, что при выходе из deepsleep GPIO может инициализировать по макросам типа "PA5_DATA_OUT" не пробовали их конфигурить?
Это если вы сами вызываете процедуру инициализации всех GPIO void gpio_init(int anaRes_init_en).
Обычно, в примерах, она в main.c
2. если мне нужно использовать UART для чтения статусов стороннего устройства, про deepsleep можно забыть?
У UART есть ножка RX. Это такой-же GPIO и есть пробуждение по изменению состояния на GPIO.
3.а developer handbook для single connection вообще есть в доступе? telink его может высылать обычным людям?
Это вы у них спрашивайте. Я с ними не знаком и связей не вел.
Но большинство ссылок по чипу находится там
А тут про LYWSD03MMC XIAOMI Bluetooth термометр.
4. вам попадались примеры для LONG RANGE?
Всё есть в разнообразных SDK от Telink.
Но вот 'LONG RANGE' и прочая проприетарщина мне пока не нужна.
 

pvvx

Активный участник сообщества
3.а developer handbook для single connection вообще есть в доступе? telink его может высылать обычным людям?
На данном форуме есть такой nikolz - он ближе подбирался к Telink и даже выудил у китайцев задорого EVK для программирования... Только толку никакого.
Для любой инфы у Telink писано, что нужно подписать NDA. А если бы я это сделал - тогда бы никакой информации вы от меня не получили. :)
 
Сверху Снизу