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

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

izhadapter

New member
Хотел посмотреть показания через веб-страницу но с с термометром соединяется только вот эта страница.

Все остальные страницы:
работают только с модифицированной версией?
 

pvvx

Активный участник сообщества
Некорректно вопрос задал. Да, совершенно не важно какой вывод будет входом. Можно ли на этой прошивке получать его состояние? Если да, то как?
Вы уж опишите какой датчик, раз не читали тему (она уже большая), т.к. есть множество нюансов связанных с питанием (посадите батарейку сразу).
 

pvvx

Активный участник сообщества
работают только с модифицированной версией?
На страничках есть такая кнопочка:
1674119812518.png
и практически все работают с custom версией.
А с оригинальной указано в названии GraphMemoOriginal и она отдельно.
И вы писали:
переписать за несколько минут сидя в туалете а в html странице накинул там 10 строк JavaScript и поехали дальше.
 

Bebebe

New member
Вы уж опишите какой датчик
Тип датчика не принципиален (геркон, сухой контакт, выход оптопары...) с электронной частью вопроса нет. Интересует именно получение информации с него, как новый параметр или вместо, например заряда батареи. Идеально, если есть возможность отправки данных по изменению состояния входа. Если это уже реализовано и обсуждалось, то буду изучать тему.
 

pvvx

Активный участник сообщества
Идеально, если есть возможность отправки данных по изменению состояния входа. Если это уже реализовано и обсуждалось, то буду изучать тему.
Это всё есть, но на другом выводе (Reed Switch, input, pcb mark "P8")
А состояние РА5(reset) передается только при обновлении замера и только в одном варианте рекламы.
 

pvvx

Активный участник сообщества
Тип датчика не принципиален (геркон, сухой контакт, выход оптопары...) с электронной частью вопроса нет.
А тут этот вопрос не решен.
Как раз расскажите, как реализовать опрос по прерыванию с замкнутого геркона без лишнего увеличения тока на 3 мкА (3В/1MОм), что составляет хорошую долю от общего потребления термометром.
 

izhadapter

New member
Принимается запрос на:
Что можно навоять на данном LCD ( XIAOMI-Mijia-Bluetooth термометры 3 (MJWSD05MMC) ), в дополнение к оригиналу?

пока вожусь с ним...
LCD имеет 136 сегментов... Дни недели только на китайском :)
Можно сделать программатор времени / будильник /таймер на Первом мелком дисплее будет время включения, на втором время удержания на третьем сколько раз повторять.
На веб-странице можно сделать сигнализацию когда это всё будет срабатывать И как это отрабатывать. Но лучше всё-таки отдельный выход добавить чтобы можно было отдельно влажность отдельная температуру выставлять.


Также в этих маленьких дисплеях можно отображать состояние термостата то есть значение гистеризиса и выставленное значение температуры влажности.

Можно отображать напряжение с аналоговых входов, напряжение батареи.

Можно отображать сколько таких же термометров в зоне доступа.
---------------
А эти термометры могут быть хостом?
чтобы сами могли подключаться к другим термометрам и показать их показания?

Иногда так бывает что один Термометр в довольно труднодоступном месте надо расположить а подключаться к нему лень через телефон каждый раз и хочется чтобы какой-то термометр отображал состояние другого термометра который постоянно на виду.
 

izhadapter

New member
На страничках есть такая кнопочка:
Посмотреть вложение 12755
и практически все работают с custom версией.
А с оригинальной указано в названии GraphMemoOriginal и она отдельно.
И вы писали:
Ну так это авторская недоработка.
Коли тупой пользователь не разобрался... и задаёт глупые вопросы.
😏
 

pvvx

Активный участник сообщества
Можно сделать программатор времени / будильник /таймер на Первом мелком дисплее будет время включения, на втором время удержания на третьем сколько раз повторять.
Подходит только отображения таймера. А будить ему нечем.
На веб-странице можно сделать сигнализацию когда это всё будет срабатывать И как это отрабатывать. Но лучше всё-таки отдельный выход добавить чтобы можно было отдельно влажность отдельная температуру выставлять.
Это задача умного дома. Реализуется в HA и самому термометру-часам тут делать нечего.
Также в этих маленьких дисплеях можно отображать состояние термостата то есть значение гистеризиса и выставленное значение температуры влажности.
Можно отображать напряжение с аналоговых входов, напряжение батареи.
Можно отображать сколько таких же термометров в зоне доступа.
Всё это опять относится к внешнему ПО.
У данного устройства на плате нет выводов, к которым можно припаяться. Производитель вывел от чипа только контрольные точки для программирования.
А эти термометры могут быть хостом?
чтобы сами могли подключаться к другим термометрам и показать их показания?
Могут но батарейки не хватит.

Иногда так бывает что один Термометр в довольно труднодоступном месте надо расположить а подключаться к нему лень через телефон каждый раз и хочется чтобы какой-то термометр отображал состояние другого термометра который постоянно на виду.
Это так-же связано с потреблением. А вариант отображения внешних циферок и так есть в базовой версии альтернативных прошивок. При соединении можно передать что выводить на дисплей... Опять-же - пока не реализовано в стороннем совте...
 

pvvx

Активный участник сообщества
Можно сделать программатор времени / будильник /таймер
CR2450 имеет 550мА/час при разряде до 2В. Работоспособность устройства ограничена в среднем до 2.1В. Следовательно берем емкость батареи как 500 мА/ч, что всё равно завышено для имеющихся условий эксплуатации.
Чип ЖКИ походу вообще не предназначен на работу от CR батареек, т.к. по докам имеет минимум в 2.4В.

При 500 мА/ч и расчете на год эксплуатации CR2450 получаем средний ток около 57 мкА.

Схема MJWSD05MMC в режиме сна SoC и датчика температуры и влажности потребляет порядка 20..22 мкА. Большую часть в потребление (за 90%) вносит чип ЖКИ контроллера и уменьшить эти значения не представляется возможным.

В итоге остается всего порядка 31 мкА на работу SoC, датчика температуры и влажности, да на работу с микросхемой часов.

Если отображать часы каждую 1 сек, то это обозначает просыпание SoC и обновление ЖКИ. На стадию пробуждения SoC уходит порядка 1+ мс, до того, как он сможет выполнять код приложения. Эта стадия имеет потребление от 700 мкА. Далее включается CPU и на 24МГц имеем потребление уже к 3..3.5 мА при активности только основных компонентов чипа. За 1 мс обработка с передачей около 20 байт по I2C обновления для ЖКИ может быть завершена, если постараться с оптимизацией и загнать CLK I2C (что на данной плате невозможно - на шине I2C зачем-то стоят наидешевые защитные диоды с громадной емкостью и предел мечтаний на CLK чуть более 400 кГц, а далее CLK уже не вылезает за пороги). Но есть нюанс – необходимо ещё читать и чип RTC по I2C, т.к. прерывание с него не заведено. Т.е. на плате есть провод и позиция с резистором от ножки прерывания RTC к порту GPIO, но резистор не впаян. А точность хода встроенного RC генератора работающего при сне SoC не достаточна для ведения часов. Уход от температуры составляет несколько минут в сутки.

Если подытожить, то на обновление LCD уйдет 2 мс со средним током не менее 2.1 мА (не учтена отработка контроллера ЖКИ). Это увеличение среднего потребления на 4.2 мкА (2мс*2.1мА/1000мс). Что при отработке 1 раз в секунду дополнительно потребует на год от батарейки порядка 365*24*0.0042 = 36.8 мА/ч. Это значение близко к полному потреблению чипа при передаче BLE маяка раз в 3 сек (6 мкА максимум).

Из 31 оставшегося мкА это вынесет и оставит порядка 25 мкА на всё остальное – т.е. работу BLE и обработку датчика температуры и влажности.

В принципе, возможно, отображать секундный таймер, но за счет уменьшения времени работы батареи.
Может чего не так сосчитал?
 

izhadapter

New member
CR2450 имеет 550мА/час при разряде до 2В. Работоспособность устройства ограничена в среднем до 2.1В. Следовательно берем емкость батареи как 500 мА/ч, что всё равно завышено для имеющихся условий эксплуатации.
Чип ЖКИ походу вообще не предназначен на работу от CR батареек, т.к. по докам имеет минимум в 2.4В.

При 500 мА/ч и расчете на год эксплуатации CR2450 получаем средний ток около 57 мкА.

Схема MJWSD05MMC в режиме сна SoC и датчика температуры и влажности потребляет порядка 20..22 мкА. Большую часть в потребление (за 90%) вносит чип ЖКИ контроллера и уменьшить эти значения не представляется возможным.

В итоге остается всего порядка 31 мкА на работу SoC, датчика температуры и влажности, да на работу с микросхемой часов.

Если отображать часы каждую 1 сек, то это обозначает просыпание SoC и обновление ЖКИ. На стадию пробуждения SoC уходит порядка 1+ мс, до того, как он сможет выполнять код приложения. Эта стадия имеет потребление от 700 мкА. Далее включается CPU и на 24МГц имеем потребление уже к 3..3.5 мА при активности только основных компонентов чипа. За 1 мс обработка с передачей около 20 байт по I2C обновления для ЖКИ может быть завершена, если постараться с оптимизацией и загнать CLK I2C (что на данной плате невозможно - на шине I2C зачем-то стоят наидешевые защитные диоды с громадной емкостью и предел мечтаний на CLK чуть более 400 кГц, а далее CLK уже не вылезает за пороги). Но есть нюанс – необходимо ещё читать и чип RTC по I2C, т.к. прерывание с него не заведено. Т.е. на плате есть провод и позиция с резистором от ножки прерывания RTC к порту GPIO, но резистор не впаян. А точность хода встроенного RC генератора работающего при сне SoC не достаточна для ведения часов. Уход от температуры составляет несколько минут в сутки.

Если подытожить, то на обновление LCD уйдет 2 мс со средним током не менее 2.1 мА (не учтена отработка контроллера ЖКИ). Это увеличение среднего потребления на 4.2 мкА (2мс*2.1мА/1000мс). Что при отработке 1 раз в секунду дополнительно потребует на год от батарейки порядка 365*24*0.0042 = 36.8 мА/ч. Это значение близко к полному потреблению чипа при передаче BLE маяка раз в 3 сек (6 мкА максимум).

Из 31 оставшегося мкА это вынесет и оставит порядка 25 мкА на всё остальное – т.е. работу BLE и обработку датчика температуры и влажности.

В принципе, возможно, отображать секундный таймер, но за счет уменьшения времени работы батареи.
Может чего не так сосчитал?
О батарее думать не надо.
Кому надо функционал , тот поставит и блок питания и солнечную панель. А кому надо сидеть на батарейке год тот будет сидеть на батарейке. И использовать тот функционал который это позволяет.

Я думаю цель-максимум тут не сэкономить батарею, а расширить функционал устройство а экономия батарейки - это не функционал устройства. Это его одна из возможностей.
 

Bebebe

New member
Как раз расскажите, как реализовать опрос по прерыванию с замкнутого геркона без лишнего увеличения тока на 3 мкА (3В/1MОм), что составляет хорошую долю от общего потребления термометром.
В моем случае как раз просто - питание от аккумулятора с солнечной панелькой. Все понимаю про минусы такого применения, но он уже висит у двери и как раз подумал, что вдруг можно задействовать как датчик закрытого замка. Спасибо большое, буду пробовать.
 

pvvx

Активный участник сообщества
О батарее думать не надо.
Кому надо функционал , тот поставит и блок питания и солнечную панель. А кому надо сидеть на батарейке год тот будет сидеть на батарейке. И использовать тот функционал который это позволяет.

Я думаю цель-максимум тут не сэкономить батарею, а расширить функционал устройство а экономия батарейки - это не функционал устройства. Это его одна из возможностей.
А потом тушить вопли на github - "У меня быстро садится батарейка" и каждому такому разжевывать всё...
В данном термометре Xiaomi опять сэкономили - не поставили кондер в питание. А дурные диоды на I2C поставили. :)
 

pvvx

Активный участник сообщества
Кто может разъяснить вот такие вопросы:

1. Зачем стоят диоды D4 и D6 на I2C (с GND на CLK и SDA)? Кого они там защищают? Чтобы понизить максимальную частоту у I2C? Примененные чипы по I2C тянут мегагерцы CLK .. Опять чтобы пожрать в пустую питание - чаще покупайте батарейки?
2. Зачем стоит защита от переполюсовки батарейки, если это невозможно сделать с CR2450 - диод на батарейку и целый чип с маркировкой 9VXA (вроде транзисторы)?
3. Почему на выходе схемы этой защиты от переполюсовки батареи наблюдается сильное падение напряжения (в аналогах всё пучком с нормальными транзисторами)? Опять быстрее убить батарею?
4. Почему пожидились резисторами R1 R2 на I2C, т.к. у SoC подтяжки не столь могучие, чтобы тянуть емкости установленных диодов? Опять чтобы пожрать в пустую питание?
5. Зачем не поставили рекомендуемый кондер по питанию, что аж видны иголки импульсов от встроенного DC-DC на контактах батарейки? Опять чтобы быстрее убить батарейку?
...
6. Нафига влепили почти мегаОминый делитель напряжения на вход SoC напрямую с "+" батарейки, когда у ADC импульсные токи утечки и не мелкие и замеры будут наикривущие?
7. Зачем пожидились резистром R10 для сигнала INT с RTC чипа на вход прерывания к SoC (чтобы каждый раз читать через регистры I2C для синхронизации времени - чтобы батарейка быстрее садилась)?
8. Какого фигу поставили древний дешман контроллер ЖКИ с минимальным питанием по докам 2.4В? Чаще покупайте батарейки?

Защитные Диоды стоят почти на все проводки от SoC - это наверно защита от ядреного взрыва?
 

pvvx

Активный участник сообщества
9. Нафига на кнопки влеплены такие резисторы к питанию, что при нажатии они тянут несколько мА? Чтобы батарейка быстрее садилась?

Вот с такой дурной схемой и приходится работать....
 

izhadapter

New member
9. Нафига на кнопки влеплены такие резисторы к питанию, что при нажатии они тянут несколько мА? Чтобы батарейка быстрее садилась?

Вот с такой дурной схемой и приходится работать....
Я думаю обеспечивают плавно переход на аккумулятор 18650
 

pvvx

Активный участник сообщества
Я думаю обеспечивают плавно переход на аккумулятор 18650
Он разве дешевле?
У Xiaomi экономия уже идет до каждой пайки - места под детали есть, а деталек нет и начали исключать сами посадочные места и контрольные выводы для диагностики...
Развитие экономии на лицо - в LYWSD03MMC ещё есть место для пайки нормального керамического конденсатора на десятку мкФ (или более) в питание, а тут уже нет и стоит совсем малый - чисто для галочки.
Но кто-то подложил им свинью - вместо затрат на кондер напаяли ненужных диодов :)
И сам аппарат для внутреннего рынка - с иероглифами и прописывается только в китайский сервер. А говорят, что они на внешку товары делают хуже...
 
Сверху Снизу