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

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

pvvx

Активный участник сообщества
Да, с версии 1.2 включена возможность установки pincode и bind. Если выставите pincode и забудете - то привет - стирать flash внешним программатором :) Это специально для невнимательных, но желающих зашифровать доступ к настройкам и прочему.
И Windows 10 начинает отображать батарейку в списке устройств:
1610429584227.png
Точнее её прошлогоднее значение :) Такой сервис у Microsoft, чтобы вы не расстраивались, что она уже давно сдохла от последнего обновления данной иконки... :)
 

pvvx

Активный участник сообщества
Обновление данной иконки в Win10 происходит когда какое ПО подключается к девайсу и включает notify сервиса инфы о батарейке. И то не всегда происходит обновление... Но первое, когда будете регистрировать pincode на свежем девайсе - она запомнит :) В итоге оно дает верные показания всего раз в году :)
 

pvvx

Активный участник сообщества

pvvx

Активный участник сообщества
Уж пусть будет, а то уже несколько месяцев доступно тем у кого нет NDA (а тем у кого есть - нет :)) и вдрух закроют:
Делаете:
git clone https://android.googlesource.com/platform/hardware/telink/atv/refDesignRcu
Открываете refDesignRcu\readme:
Там описано где скачать полный Linux tool chain for building the SDK
с Linux Eclipse, tcdb, check_fw и т.д.
 

pvvx

Активный участник сообщества
После вставки возможности изменять MAC на устройстве обнаружены новые глюки Win10...
Если устройство уже bind и есть pin-code, то смена MAC у этого устройства приводит Win10 к бешенству запросов у пользователя "введите ключ", заканчивающихся неудачей. С достаточно долгим периодом времени это проходит ... и только тогда можно начать новое соединение и ввести pin-code c благополучным связыванием. Это дело ускоряется только перезагрузив BLE адаптер, дрова винды, эксплорер и прочее :)
 

pvvx

Активный участник сообщества
Возникает интересный вопрос - зачем Win10 лезет к устройству с другим MAC и пытается заставить пользователя ввести ключ от своего устройства? Наверняка это полная дыра в безопасности.... Т.е. специально созданная :)
 

Mics78

New member
Уважаемый, pvvx.
Подскажите, пожалуйста. Насколько я понял из настроек, максимальное время между передачей данных в режиме Advertising составляет 10 сек.
Какие настройки в этом режиме позволят максимально снизить потребление устройства. Пока я вижу динамику - 20% заряда батареи в неделю.
 

pvvx

Активный участник сообщества
Подскажите, пожалуйста. Насколько я понял из настроек, максимальное время между передачей данных в режиме Advertising составляет 10 сек.
При Advertising interval больше 2-х секунд соединение с BLE устройством проблематично. 10 секунд -это предельное по спецификации BLE.
Т.е. не все устройства смогут соединиться если интервалы больше или меньше определенных. Особенно плохо с устройствами от Apple.

Примеры рекомендаций для устройств Apple:

Выбор подходящих параметров подключения для устройств Apple:
https://docs.silabs.com/bluetooth/l...table-connection-parameters-for-apple-devices

Рекомендации по дизайну аксессуаров для устройств Apple:
https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf

Запрос параметра подключения может быть отклонен, если он не соответствует всем этим правилам:
  • Периферийная задержка ≤30
  • 2 секунды ≤ connSupervisionTimeout ≤ 6 секунд
  • Интервал Мин. По модулю 15 мс == 0
  • Интервал Мин. ≥15 мс
  • Одно из следующих:
    • Мин. Интервал + 15 мс ≤ Макс. Интервал
    • Мин. Интервал == Макс. Интервал == 15 мс
  • Максимальный интервал * (Периферийная задержка + 1) ≤ 2 секунды
  • Максимальный интервал * (Периферийная задержка + 1) * 3 <connSupervisionTimeout
-------
Для самых малопотребляющих - Маяков, обычно устанавливают Advertising interval до 3-х секунд. Иначе тоже беда с приемом инфы с них в режиме Advertising на Андроид.

Какие настройки в этом режиме позволят максимально снизить потребление устройства.
Кастомная прошивка уже настроена на минимально-оптимальные значения.
После подключения наблюдаю такие показания при установке пролежавших 10 лет CR2032: при подключении было 30%, через неделю 67%, ещё через неделю 69%. При подключении напряжение составляло около 2-х вольт, а ныне ползет к 3В. Это по показаниям прошивки и тестера. Таких элементов у меня много :)
Средний ток измерен с точностью 10% (т.к. возможны разные условия, включая напряжения у элемента) и составляет описанные на git цифры.
Пока я вижу динамику - 20% заряда батареи в неделю.
Это у официальной прошивки и при постоянном соединении с кривым ПО, которое не умеет работать с BLE - принудительно устанавливает короткий cотnection interval и latency в 0.
Это относится, к примеру, к https://play.google.com/store/apps/details?id=com.smrtprjcts.mijiabt
Доп. примеры измерений потребления у оригиналов от Xiaomi (для аналога MHO-C401) даны в https://pvvx.github.io/MHO_C401/power_original.html
Для XiaomiLYWSD03MMC описаны на данном форуме...
Потребление считается просто - делите емкость в мА*ч на среднее потребление и получаете часы работы.
А я пока жду не дождусь альтернативных измерений...
 

pvvx

Активный участник сообщества
Пример замера потребления с нерадивым ПО:
Это касается и многого древнего дешевого оборудования, особенно на чипах с BT4.0, которого ещё масса на руках.
Запрещать такое безобразие в своей прошивке я стал, т.к. у многих, имеющих древнее и дешевое оборудование, не будет соединяться вообще.
 

Mics78

New member
При Advertising interval больше 2-х секунд соединение с BLE устройством проблематично. 10 секунд -это предельное по спецификации BLE.
Т.е. не все устройства смогут соединиться если интервалы больше или меньше определенных. Особенно плохо с устройствами от Apple.
...
Кастомная прошивка уже настроена на минимально-оптимальные значения.
Спасибо. Исчерпывающий ответ. Я принимаю даные от градусников данные ESP32, интервал 10 секунд отрабатывается нормально. Оставлю пока так.
 

pvvx

Активный участник сообщества
О - сегодня windows 10 показывает 80% на CR2032 которому более 10 лет и начальное напряжение при установке было около 2-х вольт :)
1611256738618.png
Врет и не краснеет. :)
ПО кажет Vbat: 2748 mV. А когда устройство было на улице в -12С, то было и менее 2.6V. Максимально на данной батарейке доходило до 2.9В в первую неделю после установки и при +25С.
Батарейки CR2032 всегда живут своей жизнью при импульсном потреблении в BLE...
 

pvvx

Активный участник сообщества
Свежий элемент CR2032 имеет напряжение более 3.3В, а на нем писано 3В. Как это понимать?
А измерение напряжения элемента в устройстве всегда производится после основного импульса тока передачи и указывает напряжение под нагрузкой (в момент замера не менее 6 мА)...
 

Lifekeeper

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

pvvx

Активный участник сообщества
Здесь
Скачиваете
HomeKitTLSR8258SDK V3.15.1
Там-же и tl_zigbee_sdk и tl_zigbee_ble_concurrent_sdk.
Берете какой пример за основу и меняете параметры периодов маяка и прочих интервалов (увеличиваете) для уменьшения потребления.
Убираете ненужные опросы клавиатуры и засыпания/просыпания.
Заливаете в чип и анализируете - хватит ли вам питания.
А потом уже вставляете процедуры вывода на LCD и опрос датчика из исходников ATC_Thermometr.
 

pvvx

Активный участник сообщества
ZigBee и Apple Homekit отличаются размером прошивки и объемом используемой SRAM. А официально Telink заявлено, что TLSR8251/8252 имеет меньше SRAM, чего не наблюдается в текущих поставках чипов, а различие от TLSR8258 пока только в корпусе чипа и кол-ве выведенных ножек. Возможно потом Telink сделает урезанную версию...
Но главное тут в том, что пока не видел устройств с CR2032 работающих на этих дурных протоколах. Как минимум 2 AAA.
Вариант с MESH ещё потянет от CR2032, а ZigBee и Apple Homekit - фигу. На ZigBee работают только кнопки, пробуждаемые раз в году...
 

pvvx

Активный участник сообщества
С Apple BT/BLE вообще всё плохо. Устройства Apple – это худшие из представителей устройств с BLE. Там неясно почему всё урезано до предела, типа Apple экономит на всем, на чипах и даже на встраивании в систему нормальной поддержки BLE. Видимо ставит только древние чипы с BT4.0 и нет бабла на разработку из-за жадности и конкуренции… А BLE они считают ненужным для своих фанатов-пользователей… Разработали (застолбили) никчемный навороченный HomeKit, от которого нет никакого толку для малых датчиков...
 

nikolz

Well-known member
впечатление такое, что все эти протоколы в том числе и BLE - это мертворожденные монстры и написали их программисты,
которые придумывают ну очень универсальную систему для выгрузки бабла из клиентов.
Часть протоколов уже пережили то железо на котором они что-то давали другая часть так и не дождалась своего железа.
 

pvvx

Активный участник сообщества
впечатление такое, что все эти протоколы в том числе и BLE - это мертворожденные монстры и написали их программисты,
которые придумывают ну очень универсальную систему для выгрузки бабла из клиентов.
Часть протоколов уже пережили то железо на котором они что-то давали другая часть так и не дождалась своего железа.
Неа - BLE пока живее всех живых. Наляпают ещё какую модификацию MESH и будет всё нормально.
У большинства пользователей Андроид, а он уже более менее адаптирован на работу с BLE, но не с проприетарщиной типа ZigBee или чего-то от Огрызка.
ZigBee - это протокол созданный для несовместимости устройств - чтобы вы не могли подключить устройство от другого производителя.
Об Apple вообще разговор не идет, т.к. там всё запущено и чтобы догнать текущие потребности в BLE или типа потребуются годы. Профукали и фиг с ними.
 

pvvx

Активный участник сообщества
Для тех кто хочет сделать что-то своё или просто заняться творчеством - Apple не имеет и не дает таких возможностей. Обратное - да, т.к. всё сИкретно и основа - полная несовместимость ни с чем, кроме единичного купленного у них товара с поддержкой на пару месяцев...
 
Сверху Снизу