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

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

nikolz

Well-known member
Нет - вывод измерения сидит на батареи.
А вот напряжение у CR2032 живет своей жизнью при импульсной нагрузке. Она может восстанавливаться, если до этого "закисла" без нагрузки, а так-же напряжение очень зависит от температуры - дельта на градус круче многих аналоговых измерителей :) Но ей не измерить температуру по другим причинам - разряд и прочее - нет нуля - нет за что прицепиться.
И заряжается как АКБ, но циклов заряда меньше чем у типовых Li и совсем "закисшая" уже не может воспринять заряд.
Базовое напряжение новой батареи больше 3.3В. Вот его нельзя превышать при заряде, а так-же и ток.
Про перезарядку батареек есть исследования в инете. Ваше рассуждение соответствует этим исследованиям.
---------------
Но в данном случае нет ответа на вопрос об источнике энергии, от которого перезаряжается CR2032.
-------------
Так как для зарядки необходим источник с большим напряжением, то это либо конденсатор заряжаемый помехами, либо импульсным преобразователем напряжения.
-------
Я собственно говорил о возможном источнике.
-----------
Полагаю, что вопрос не в том, что заряжается, а в том, от какого источника.
 

pvvx

Активный участник сообщества
не в итоге виджет ios не работает автоматически, ну ладно завтра отпишусь по поводу нового датчика =}
Как тама оно?

Сегодня новые перлы у Mi-Home.
Пришли новые Xiaomi LYWSD03MMC, дата 2020.12 на коробке. В них стоит прошивка версии 109.
Вот что говорит Mi-Home:
Старые - Новый
1613448342781.png 1613448347649.png
Т.е. обновлять старые устройства Mi-Home не хочет.
Считал новую прошивку 109 и залил в старые (2020.05 было на коробках) - всё хорошо.

Это как-бы первое... Но пока возился с Mi-Home:
1. Сервак был недоступен более 2-х часов.
2. После отключения (выдергивания из сети и обратно) Шлюза 3 он соединился с одним из старых LYWSD03MMC и так держал соединение более часа пока я не вынул батарейку ломая все защелки... Т.е. шлюз или датчик с оригинальной прошивкой видимо заглючило и он решил высадить батарею.

PS: Прикольная эта Mi-Home - каждый раз выкидывает разные глюки... Работать с таким невозможно, а я просто тестирую как тамо оно :)
 

nikolz

Well-known member
даташит CR2032.
Химическая система: литий / диоксид марганца (Li / MnO2)
Обозначение: ANSI / NEDA-5004LC, IEC-CR2032
Напряжение аккумулятора: 3,0 В
Средний вес: 3,3 грамма (0,12 унции)
Объем: 1,0 кубических сантиметров (0,06 кубических дюймов)
Средняя емкость: от 225 мАч до 2,0 вольт (Номинальный при 10 кОм, непрерывный при 21ºC)
Максимум Обратный Ток зарядки: 1 микроампер
Плотность энергии: 198 милливатт-час / г, 653 милливатт-час / куб.
 

nikolz

Well-known member
Тестер возьмите и измерьте - на новых от 3.3В до 3.4 В при +25С.
 

nikolz

Well-known member
в инете много рассказов про напряжение на старых CR2032
Например этот от 2015 года
 

pvvx

Активный участник сообщества
Погадал на кофейной гуще, что там в Original Xiaomi firmware has the following features:
Service UUID: ebe0ccb0-7a0a-4b0c-8a1a-6ff2997da3a6

CharacteristicDescriptionFormatData
ebe0ccb7-Timeuint32time в тугриках xiaomi
ebe0ccb9-Data Countuint32, uint32index read, index new (текущий индекс для чтения, номер последнего индекса записанного замера)
ebe0ccba-Indexuint32start read index (сюда записывается номер индекса, с которого после включения Notifу на "Data Notify" пойдут передаваться замеры до номер последнего индекса записанного замера)
ebe0ccbb-Data Readuint32, uint32, int16, int8, int16, int8index, time, temp hi (x0,1), humi hi, temp lo(x0,1), humi lo
ebe0ccbc-Data Notifyuint32, uint32, int16, int8, int16, int8index, time, temp hi (x0,1), humi hi, temp lo(x0,1), humi lo
ebe0ccbe-Temperature Unitint8=0, наверно включит F или C - не пробовал
ebe0ccc1-Temperature and Humidityint16, int8, unt16temp (x0.01), humi, vbat (mV)
ebe0ccc4-Battint8always = 100%, реальный процент батарейки оно не умеет сюда записывать
ebe0ccc8-disconnect4 байтачетыре каких-то байта - не исследовал - не интересно
ebe0ccd1-clear data4 байтачетыре каких-то байта - не исследовал - не интересно
ebe0ccd7-comfortable temp and humiint16, int16, int8, int8temp lo (x0.01), temp hi (x0.01), humi lo, humi hi
ebe0ccd8-set conn intervalне исследовалне интересно
ebe0ccd9-para_value_getне исследовалне интересно
 

pvvx

Активный участник сообщества
CR2032: диапазон напряжений 2000-3300 мВ, ёмкость 200+ мА/ч.
С прошлой партией датчиков пришли батарейки с 3.3+ В, с новой партией 3.08 В в среднем.


ЗЫЖ Соляную батарейку AAA можно зарядить до 3-х вольт... :p
 

pvvx

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

nikolz

Well-known member
инф к размышлению сенсоры XIAOMI(чипы TLSR ) (цитата из инет):
  • Почти все устройства реализуют аналогичную (если не одинаковую) логику обновления прошивки, похоже, есть различия, поскольку некоторые используют службу DFU Nordic semiconductors, а другие, похоже, только имитируют ее части. думаю, что они начали с использования микрочипов Nordic, а затем расширились и действительно воспроизвели режим DFU Nordic на своих других чипах, чтобы они все еще могли делиться большей частью кода.
  • Некоторые устройства реализуют аутентификацию, даже если она "необязательна", поскольку вы все равно можете поговорить с устройством в течение некоторого времени (около минуты), прежде чем оно разорвет соединение. Аутентификация шифруется с помощью пользовательского JNI, "libblecipher.so". Эти устройства, по-видимому, включают в себя монитор растений Flora, зубную щетку Soocare и датчик температуры, не исключено, что они используют тот же механизм в других устройствах, таких как mi-диапазоны.
  • У Xiaomi действительно есть 3 16b UUID, но я видел fe95, как они используются только до сих пор.
  • Huami имеет 2 UUID 16b, используемых диапазонами mi: 0xFEE0 и 0xFEE1
 

pvvx

Активный участник сообщества
инф к размышлению сенсоры XIAOMI(чипы TLSR ) (цитата из инет):
  • Почти все устройства реализуют аналогичную (если не одинаковую) логику обновления прошивки, похоже, есть различия, поскольку некоторые используют службу DFU Nordic semiconductors, а другие, похоже, только имитируют ее части. думаю, что они начали с использования микрочипов Nordic, а затем расширились и действительно воспроизвели режим DFU Nordic на своих других чипах, чтобы они все еще могли делиться большей частью кода.
  • Некоторые устройства реализуют аутентификацию, даже если она "необязательна", поскольку вы все равно можете поговорить с устройством в течение некоторого времени (около минуты), прежде чем оно разорвет соединение. Аутентификация шифруется с помощью пользовательского JNI, "libblecipher.so". Эти устройства, по-видимому, включают в себя монитор растений Flora, зубную щетку Soocare и датчик температуры, не исключено, что они используют тот же механизм в других устройствах, таких как mi-диапазоны.
  • У Xiaomi действительно есть 3 16b UUID, но я видел fe95, как они используются только до сих пор.
  • Huami имеет 2 UUID 16b, используемых диапазонами mi: 0xFEE0 и 0xFEE1
К чему это?
Данная "инф" по DFU не верна. У Xiaomi mijia своя DFU, но на Telink оставлена OTA на UUID от Telink. Nordic тут при чем, если в рекомендациях от mijia разрешено использование своей системы OTA?
И другие пункты тоже некорректны...
 

pvvx

Активный участник сообщества
В примере от Telink для mijia сосуществуют две OTA - одна стандартная от mijia и вторая от Telink. Какая разница через какую процедуру записывать flash, если обе проверяют идентификацию от mijia?
C:
void entry_ota_mode(void)
{
    if(get_mi_authorization()==0){
        bls_ll_terminateConnection(HCI_ERR_REMOTE_USER_TERM_CONN); //push terminate cmd into ble TX buffer
    }
    bls_ota_setTimeout(5 * 1000 * 1000); //set OTA timeout  5 seconds between two command
}
Так-же в примере есть и исходный код с DFU от mijia, а не от Nordic.

И в оригинальное устройство встроено общение без всякой идентификации от mijia, и ничего не прерывается.
Описание UUID давал тут https://esp8266.ru/forum/threads/tl...mc-xiaomi-bluetooth-termometr.5263/post-78559

---
Вы читали русскоязычное соглашение при использовании Mi-Home? Вот и действуйте в его рамках.
Я вот пока не нарушил - не использовал даже ревеср-инженеринг, а всё взял из открытых источников. Перевод с китайского не является нарушением :)
За меня другие нарушили и нарушают это дело. Особенно всякие системы популярных "вумных домов". :p
 

pvvx

Активный участник сообщества
Да и вот вам чистая OTA по Telink для web браузера - TelinkOTA. Без какого либо взлома - т.е. на оригинальных устройствах от mijia без идентификации оно не заработает, а заработает на прошивках построенных на SDK Telink.
 

pvvx

Активный участник сообщества
Вот это https://github.com/atc1441/ATC_MiThermometer, т.е. flasher построен путем перевода исходников от java на Android какой-то программы в js с HTML. Источник так-же указан ранее в теме. Т.е. никакого реверс-инженеринг, а простое "портирование".
К "реверс-инженеринг" там относится считывание кодов управления LCD. Вот такие хулиганы :)
 

pvvx

Активный участник сообщества
Набросок "скетча" на ESP32 выполняющий роль посредника между двумя термометрами.
С одного, например за окном, считывает рекламные сообщения "о погоде", на второй, типа "домашний", встраивает эти показания среди других на вывод в LCD.
 

pvvx

Активный участник сообщества
Но с ESP32 возникла небольшая беда - https://esp8266.ru/forum/threads/ochen-chasto-esp32-propuskaet-priem-reklamnyx-paketov.5533
Опрос народу, групп, использующих ESP32 во всяких проделках IoT "вумных домов" так-же говорит о "плохой чувствительности" ESP32 в BLE. Более точных, т.е. технических данных от данного контингента вызнать не удалось :) В аргументацию приводят только сравнение с другими шлюзами и свистками.
 

APLe

New member
Хм. А почему если в версии 2.5 поставить Humidity threshold 55 и гистерезис 10, то всё нормально, а если гистерезис поднять до 15, то при нажатии на Set TRG он автоматически превращается в -10.6? В версии 2.4 такого, кажется, не было.
 

pvvx

Активный участник сообщества
Хм. А почему если в версии 2.5 поставить Humidity threshold 55 и гистерезис 10, то всё нормально, а если гистерезис поднять до 15, то при нажатии на Set TRG он автоматически превращается в -10.6? В версии 2.4 такого, кажется, не было.
Было изначально ограничение в +-12.7 %
1614977997293.png
А есть ли смысл в гистерезисе более 5 %?

Если уставка 55%, то пороги переключений с гистерезисом 5% это 50 и 60%.
 
Сверху Снизу