Приобрести датчик можно тут: https://alii.pub/6swkye?erid=Kra241dXA
USB/ttl конвертер для прошивки: https://alii.pub/6swkzr
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Датчик LYWSD03MMC от xiaomi очень популярен. Он дешевый, имеет экран. Отправляет данные по Bluetooth. Питается от батарейки CR2032 и работает от такой батарейки где-то год.
И по блютузу этот датчик отлично прошивается по ОТА, С кастомной прошивкой, можно корректировать показания датчика. Можно вывести уровень заряда батерийки на экран и даже можно часы вывести. Правда часы будут работать от контроллера и их довольно не просто настроить.
Есть на плате отдельные контактные площадки к которым можно подключить геркон И ваш датчик сможет выполнять функцию геркона еще. Ну или же подключить реле и будет полноценным термостатом.
Так-же данный датчик легко по Bluetooth добавляется в Home Assitant. Раньше нужно было специальную интеграцию устанавливать. А теперь, если у Вас есть блютуз, то датчики сами найдутся автоматом и будут работать в умном доме Home Assistant.
Казалось бы. Датчик уже изучили вдоль и поперек. Что еще можно с ним придумать? И как оказалось, нет предела совершенству.
Недавно вышла статья, в которой сказано, что датчик оказывается может работать не только по Bluetooth, но и по ZIgbee. https://habr.com/ru/articles/767886/
Да, да, Я не ошибся. Датчик реально может работать по Zigbee. В нем стоит контроллер от Telink, который умеет работать как по Bluetooth, так и по Zigbee.
Как только Вышла эта новость, все сразу захотели перепрошить свои датчики, но некоторые не поняли как это сделать и в телеграмм канале попросили меня снять об этом видео и написать статью-инструкцию. Собственно это она и есть.
Скачивание прошивки.
Давайте начнем с того, что скачаем прошивку под датчик для того, чтоб научить его работать по Zigbee. Скачать прошивку можно отсюда: https://github.com/devbis/z03mmc/releases
Отсюда нам нужно две прошивки. ATC_ota_40000.bin – это промежуточная прошивка, на которую нам нужно будет сначала перепрошиться, чтоб далее прошивка Zigbee становилась корректно.
Ну и вторую прошивку которую нужно скачать это z03mmc.bin – какраз она и научит работать наш датчик в режиме Zigbee.
Установка прошивки.
Прошивку скачали, теперь давайте приступим к ее установке на датчик. Для этого переходим на страничку https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
Если переходите на страничку с компьютера, то у Вас должен быть на компьютере блютуз. Так-же можно и с телефона подключиться – на нем то уж точно есть блютуз.
В общем на страничке прошивки нажимаем кнопку connect -> выбираем градусник который хотим перепрошить -> нажимаем подключить.
После подключения в графе status: появится версия H.W вашего градусника и версия прошивки. И вот тут нужно обратить внимание на версию Hard Ware. Дале в том, что в версии 1.5 у некоторых ребят есть проблем. После перепрошивки на этой версии устройство перестает на экране что либо показывать. (но во первых я дальше покажу как откатиться обратно, если это произойдет. А во вторых вроде в последней прошивке zigbee 1.0.1 для этого датчика поправили работу с версией 1.5 и все должно работать.).
У меня же версия 1.4 и проблем с прошивкой небыло.
В общем следующим шагом в графе “Select Firmware: ” выбираем сначала промежуточную прошивку ATC_ota_40000.bin и нажимаем кнопку “Start Flashing” и у вас начнется прошивка устройства. Статус загрузки прошивки в процентах тоже показан будет на экране.
После перепрошивки промежуточной прошивкой, у Вас устройство так-же будет работать по Bluetooth. По этому еще раз коннектимся к устройству и теперь уже выбираем прошивку Zigbee z03mmc.bin и прошиваем уже ее.
Во время прошивки на экране датчика у меня были черточки вот такие:
Ну а по окончянии прошивки, все будет показываться как и раньше. Температура, влажность и смайлик).
Подключение датчика к Zigbee2mqtt.
После прошивки устройство сразу будет в режиме сопряжения zigbee. И если Вы в Zigbee2mqtt нажмете кнопку “разрешить подключение устройств”, то датчик сразу же добавится. Но он будет не поддерживаться. Так как нам нужно установить Конвертер.
По этому первым делом устанавливаем конвертер в Zigbee2mqtt.
Для этого скачиваем конвертер: lywsd03mmc.js
И закидываем его в папку /config/zigbee2mqtt/lywsd03mmc.js . Можно это сделать через File Editor.
Далее в этой же папке /config/zigbee2mqtt/ открываем файл configuration.yaml. И дописываем туда в external_converters: имя файла который только что мы закинули. И обязательно соблюдайте все отступы.
Если Вам неудобно лезть в конфиги и руками что-то править. То при наличии файла в папке /config/zigbee2mqtt. Внешний конвертер можно добавить через zigbee2mqtt.
Для этого заходим в Zigbee2mqtt -> настройки -> Внешние конвертеры и добавляем туда имя нашего файла и нажимаем submit.
Ну и после этого перезагружаем Home Assitant.
Конвертер добавили, теперь возвращаемся к сопряжению устройства. Нажимаем в Zigbee2mqtt “Разрешить подключения” и датчик должен сам добавиться.
Если добавление автоматом не происходит, то это значит что датчик вышел из режима сопряжения. Чтоб ввести его обратно, нужно замкнуть контактную площадку gnd и reset на 3 секунды ( а лучше 5). И устройство снова войдет в режим сопряжения.
Я это делал пинцетом. Но сюда отлично подходит кнопка smd. Если ее напаять, то будет удобно вводить датчик в режим сопряжения.
В общем после ввода в режим сопряжения, датчик у Вас добавится и определится корректно в Zigbee2mqtt.
Но и это еще не все. По умолчанию, датчик будет отсылать значения температуры и влажности раз в 3600 секунд ( 1 раз в час). А значения батареи вообще раз в 43000 секунд.
И у Вас наверняка сложится впечатление, что данные не отправляются. По этому Желательно интервал поменьше поставить, по крайней мере пока тестируете.
Для этого в zigbee2mqtt в самом датчике переходите во вкладку “Отчеты” и там изменяете Макс. интервал отчетов на свое значение в секундах. и нажимаете кнопку “применить” возле каждого параметра который изменяете.
На этом добавление датчика в zigbee2mqtt закончено. Данные будут отправляться по значению Макс. интервал отчетов в секундах которые Вы выставили.
Перепрошивка датчика обратно по проводам.
А теперь о грустном. Так как прошивка только-только появилась, она у некоторых сильно выедает батарею. А у некоторых вот “окирпичивается” устройство и перестает показывать какие-либо данные.
Плюсом после прошивки на Zigbee – у датчика пропадает Bluetooth и перепрошить датчик по Bluetooth естественно не получится. Перепрошивка возможна будет только по проводам.
И вот в этом блоке статьи я какраз опишу как перепрошить датчик по проводам.
Для начала разберем датчик открутив 2 болтика на корпусе и доберемся до платы самой.
На плате нам нужно будет припаять 3 провода так как показано на скрине ниже:
Собственно один провод припаиваем к площадке от батареи, этот провод будет 3.3v.
Второй провод припаиваем к GND контактной площадки.
Третий провод припаиваем к P14 контактной площадке. Этот контакт будет TX датчика.
Далее берем usb/ttl конвертер и подключаем провода следующим образом:
Xiaomi LYWSD03MMC | USB/TTL конвертер |
3.3V | 3.3V |
GND | GND |
P14 – TX | RX |
После подключения вставляем usb/ttl конвертер в Usb порт компьютера. Но Батарейка должна быть отсоединена. USB/ttl сам будет питать датчик XIaomi.
Далее переходим на компьютере на страничку прошивки по TX-SWS: https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html
Тут нажав на кнопку “Open” выбираем COM порт под которым определился usb/ttl конвертер.
В “Select Firmware:” выбираем прошивку на которую хотите откатиться. Например: LYWSD03MMC Custom Firmware Version 4.3 (HW: B1.4, B1.5, B1.6, B1.7, B1.9, B2.0)
После этого нам нужно очистить память датчика.
Нажимаем кнопку “Erase All Flash” И нажимаем кнопку “Soft Reset MCU”
После очистки памяти, нажимаем “Write to Flash” и начнется прошивка устройства.
И обратите внимание. У нас тут нет обратной связи. ПО этому если Вы не правильно подключите пин TX датчика, прошивка всеравно зальется. Но зальется вникуда. Так как датчик не отвечает. По этому внимательно подключение проводами проверяйте. А то будете не понимать, почему прошивка вроде загрузилась, а вроде ничего не изменилось).
После корректной прошивки, датчик снова будет Bluetooth и сможет прошиваться через этот же блютуз.
Но бывает, не знаю от чего зависит – или из-за версии платы или еще почему-то, но градусник не прошивается по описаному мной выше подключению. И тогда необходимо подключить провода вот по той схеме:
И вот после такого подключения датчик у некоторых прошивается. Но грубо говоря такое бывает на одном датчике из ста.
На этом думаю все. Мне кажется исчерпывающую информацию предоставил. С этими знаниями Датчик Вы всегда сможете восстановить и окирпичить его практически невозможно.