Датчик протечки воды от компании Xiaomi

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

Датчик протечки воды от компании Xiaomi

«Умный дом» представляет собой общую систему управления, которая заботится о комфорте, безопасности, контролирует уровень использования энергии, не требуя значительного внимания от владельца. Она распознает ряд ситуаций и реагирует на них — запускает сигнализацию и вызывает полицию, если кто-то проник в дом или квартиру, перекрывает вентиль, если произошла утечка газа, прекращает подачу воды в случае протечки. Датчик протечки воды Xiaomi — неотъемлемая часть для подобной системы. Статистика показывает, что до 97 процентов страховых случаев — именно затопление квартиры.

Датчик протечки воды Xiaomi

Образованная в 2010 китайская компания Сяоми сегодня предлагает широкий ассортимент гаджетов, девайсов и прочих товаров, благодаря которым жизнь становится удобнее. Среди товаров компании есть и бытовая техника, и компьютерные устройства, и электротранспорт. А в 2014 появилась и интересная система домашней автоматизации, в которую сегодня можно объединить более семиста разнообразных устройств.

Датчик протечек Xiaomi также является необходимым элементом. Он позволяет забыть о проблемах с соседями и не волноваться о внезапной порче водопровода. «Умная» электроника позаботится о том, чтобы своевременно остановить начинающийся потоп и предотвратить болезненные и существенные с точки зрения финансов последствия. Выпускается прибор под торговой маркой Aqara.

Обзор Xiaomi Aqara

Комплектация датчика воды от Сяоми

Комплектация датчика воды от Сяоми очень простая — сам прибор, батарея к нему, а также инструкция. Внешне он напоминает беспроводную кнопку. Изготовлен из пластика высокой прочности, а сзади у него располагаются два контакта. Именно они отвечают за определение протечки. Батарея вставляется так же сзади.

Чтобы обеспечить работоспособность датчика Xiaomi Aqara, достаточно установить одну батарейку типа CR2032. Крышка батарейного отсека обеспечена резиновой прокладкой и накрепко завинчивается, чтобы не допустить влагу, даже если устройство полностью будет погружено в воду.

Основные характеристики прибора

Датчик утечки Aqara модели SJCGQ11LM отличается небольшим размером — 5×5×1.5 см. Он использует модуль связи ZigBee, благодаря которому может объединяться в общую сеть системы «умного дома».

Работать устройство может в широком диапазоне температур — от −10 до 55 градусов, выдерживает любой уровень влажности, в том числе прямое погружение под воду.

Корпус прибора полностью герметичен, если девайс оказывается в воде, то удерживается на поверхности, а не тонет. Защита от пыли и влаги соответствует стандарту IP67, что позволяет ему на полчаса погружаться на глубину до одного метра. Однако сама конструкция предотвращает любое погружение — прибор прекрасно плавает.

Контакты у девайса винтовые, что позволяет наращивать их проволокой и увеличивать охват, радиус действия, или фиксировать увеличение влажности в труднодоступных местах.

Устройство

Xiaomi MiHome: как подключить датчик утечки

Система Xiaomi MiHome подходит для апробации автоматизации дома без серьезных денежных затрат. Она позволяет постепенно дополнять пространство разнообразными умными гаджетами и дает возможность постепенно превратить в «умный дом» квартиру или коттедж, где не закладывалось автоматизации на этапе строительства или капитального ремонта.

Приложение MiHome отлично работает как на операционной системе Андроид, так и на iOS, управлять можно со смартфона или планшетного компьютера.

Чтобы датчик протечек начал работать в общей системе, требуется шлюз, который поддерживает передачу информации по протоколу ZigBee. Рекомендуется использовать Aqara Gateway 3 или же Xiaomi Gateway 2.

Добавить устройство не составит труда даже начинающему. Процесс выглядит следующим образом:

  • пользователь входит в приложение и с главного экрана или же через шлюз выбирает опцию «Добавить устройство»;
  • далее требуется выбрать «Добавить вручную», после чего среди представленных иконок нужно отыскать датчик утечки воды;
  • приложение самостоятельно сформирует инструкцию, которой нужно неукоснительно следовать. Обычно требуется нажать на расположенную под значком капли в центральной части прибора кнопку и удерживать ее в течение пяти секунд;
  • как только устройство переходит в режим сопряжения, оно самостоятельно подключается к шлюзу;
  • добавив прибор в систему, нужно указать комнату, где он размещается, и задать для него имя.

Добавить устройство

Подключено

С подключением на этом закончено.

Сценарии автоматизации

Приборы, находящиеся в системе «умный дом» нуждаются в сценарии автоматизации. Для прибора, фиксирующего утечку воды, существует два триггера:

  • «Сухо»;
  • «Затопление».

Каждый из них запускает определенный сценарий. Как только прибор обнаруживает протечку, то есть срабатывает триггер «Затопление», производится перекрытие водоснабжения. Подобный сценарий помогает сократить возможный ущерб, однако требуется электронный клапан.

Поверх обычных вентилей устанавливаются устройства, которые закрывают воду, когда на них подается электричество. Они работают от электросети в 220 вольт.

Чтобы клапан воспринимался системой «умного дома», питание подключается либо через смарт-выключатель от Aqara, либо через розетку от ZigBee.

Интерфейс датчика протечки Xiaomi

Интерфейс плагина

Интерфейс плагина, благодаря которому можно управлять прибором, отслеживающим утечку воды, содержит следующие вкладки:

  • «Сценарии», где находятся настроенные пользователем варианты реакций на триггеры;
  • «Лог», куда заносятся данные о срабатывании устройства.

В верхнем углу справа есть еще одна кнопка, благодаря которой можно перейти на вкладку «Дополнительные настройки». Здесь пользователю доступен переключатель, активирующий сигнализацию на шлюзе, если произошла протечка воды.

В случае срабатывания прибора на шлюзе появится красная индикация и оповестит о неполадках звуковым сигналом.

Прибор от Сяоми отличается надежностью и стабильностью, ложных срабатываний у этих девайсов практически не случается, потому рекомендуется оставить переключатель сигнализации в активном состоянии.

Вкладка «Автоматизация» предоставляет доступ к настроенным сценариям. «Общие настройки» дают возможность подобрать прибору новое имя в системе или же перенести группу устройств.

В условиях срабатывания у пользователя два варианта решения:

  • «Обнаружена утечка воды»;
  • «Неполадка устранена».

Даже если интерфейс русифицирован не полностью, разобраться в этом не составит труда.

Датчик в воде

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

Сяоми предлагает настроить звуковое оповещение шлюза, установив специальный рингтон, который будет относиться именно к протечкам. Для этого нужно отключить оповещение в «Дополнительных настройках» и добавить на шлюз дополнительный рингтон. Это делается во вкладке «Настройки рингтона». Можно выбрать одну из имеющихся настроек звука и подтвердить действие кнопкой «Добавить». Допускается даже запись с диктофона или мелодия из памяти смартфона.

Сценарий может выглядеть так:

  • выполняется условие — наличие протечки;
  • запускается инструкция — проигрывается звонок и включается подсветка.

Второй сценарий настраивается для ситуации, когда протечка устранена, при выполнении условия подсветка шлюза отключается.

Иные сценарии можно настроить самостоятельно по аналогии с описанными.

Установка прибора и принцип работы

Для установки девайса выбирают места, где наиболее вероятна протечка водопроводной системы. Устройства размещаются за унитазом или под ванной.

Чтобы определить, что началось поступление воды, гаджету нужно не более двух секунд, после чего он передает сигнал на шлюз. Сначала запускается сигнальная индикация и рингтон, затем сообщение передается на связанный с системой смартфон.

Чтобы не возникало проблем с получением оповещения на планшетах или телефонах с операционной системой Андроид, необходимо проверить настройки мобильных девайсов. Главное — убедиться, что приложение MiHome находится в списке исключений режима энергосбережения.

принцип работы

Устройство легко разобрать и даже усовершенствовать — если к контактам присоединить проволоку, то охват можно существенно увеличить. Как только жидкость коснется проволоки, произойдет срабатывание по установленному сценарию.

Кроме использования по прямому назначению, можно применить Xiaomi Aqara и в других целях:

  • если расположить его в ванной на нужном расстоянии, то он оповестит о том, что набралась вода;
  • так как устройство можно запрограммировать на оповещение об отсутствии влаги, то можно использовать его и для уведомлений о том, что пора наполнить миску для питомца. Это полезно, если пришлось уехать, а за кошкой или собакой присматривают знакомые.

Иногда датчики применяют и для своевременной реакции на протечку сверху. В этом случае размещать его приходится на потолке в зоне возможного поражения.

Преимущества протокола ZigBee

Многие привыкли к тому, что умные гаджеты используют Wi-Fi, однако у протокола ZigBee есть определенные достоинства:

  • использование его не станет помехой для ноутбуков и мобильных девайсов, снизит нагрузку на домашний роутер;
  • сеть не требует дополнительных расходов и сама себя усиливает, так как каждое устройство в протоколе становится дополнительным звеном;
  • не тратит слишком много энергии;
  • будет продолжать защищать дом, даже если роутер по какой-либо причине выйдет из строя.

Использование ZigBee — отличное решение для автоматизации.

Краны для отключения подачи воды

Краны для отключения подачи воды

Сам по себе датчик не может служить полноценной защитой от протечек. Требуется дополнительное оборудование, которое будет перекрывать водоснабжение по сигналу. Обычно используются:

  • электромагнитные клапаны;
  • краны, дополненные электрическим приводом;
  • поворотные приводы.

Электромагнитные клапаны хорошо адаптируются в системах автоматизации. Желательно, чтобы в обесточенном состоянии они пропускали воду, а при подаче энергии перекрывали ее. Наиболее популярными стали краны с электроприводами, которые могут заменить стандартный.

Поворотные электроприводы устанавливаются на действующий кран. Крепление у них обычно универсальное.

Достоинства прибора от Сяоми

прибор от Сяоми

Китайская компания создала очередное простое и в то же время отлично работающее устройство, которое помогает обезопасить дом и сократить возможные расходы при возникновении проблемы с водопроводом.

Преимуществами этого датчика являются:

  • беспроводной тип подключения, использующий продвинутый протокол вместо Wi-Fi;
  • продолжительный период автономной работы от устанавливаемой батареи;
  • простота монтажа — достаточно поместить гаджет под ванну, за туалетом или в кухне под раковиной, не нужно дополнительного подключения или иных действий, не требуются кабели или подведение электросети;
  • небольшой размер помогает разместить устройство даже в наиболее труднодоступных зонах;
  • эстетичный внешний вид;
  • простота настройки, подключения и интерфейса. Прописать сценарий может даже новичок;
  • надежная пыле — и влагозащита;
  • возможность работы с разными вариантами устройств для перекрытия влаги.

Подобная покупка помогает сократить ущерб от возможных аварий и обезопаситься от претензий соседей.
Следует помнить, что при слишком большом удалении от шлюза прибор может утратить связь с ним. О том, что такое произошло, сообщит приложение, где иконка окажется серого цвета. Однако устранить такую неполадку не составит труда.

Возможные проблемы с Xiaomi Aqara и их решение

Смартфон

Одной из частых сложностей с прибором является отсутствие режима сопряжения. Обычно такая неприятность случается, когда датчик пытаются повторно подключить к шлюзу. Даже удержание кнопки не решает вопроса. Наблюдается световая индикация определенной периодичности, а когда пользователь отпускает кнопку, она гаснет.

У прибора не предусматривается кнопки сброса, потому пользователи нередко не понимают, что делать в сложившихся обстоятельствах.

Чаще всего разгадкой является запоминание датчиком ZigBee-сети. Как только прибор ее засекает, он отказывается переходить в режим сопряжения.

Чтобы подключить девайс повторно, нужно выполнить определенные действия:

  • шлюз отключается от электропитания — это позволяет устранить ZigBee-сеть;
  • на корпусе прибора зажимается центральная кнопка. Не обнаружив сеть, датчик перейдет в режим сопряжения, о чем скажет частая индикация. Однако отпускать кнопку рано;
  • активность режима – двадцать секунд. Требуется в этот период подключить шлюз и подождать, пока он произведет инициализацию, затем войти в приложение MiHome и провести добавление девайса стандартным способом.

Отпустить кнопку устройства нужно в тот момент, когда таймер сопряжения возникнет на экране смартфона. Простой порядок действий помогает интегрировать датчик в сеть.

Еще одним вариантом, который позволяет избавиться от проблемы, станет изъятие батареи. Продержать устройство без элемента питания нужно не менее двух часов. Если же и это не дало никакого эффекта, рекомендуют также отключить все устройства, использующие протокол ZigBee и подключить их повторно, первым синхронизировав с сетью именно сенсор протечки.

Если все же были зафиксированы ложные срабатывания устройства, рекомендуется помещать его на салфетку. Так можно обеспечить замыкание контактов только в том случае, когда утечка действительно стоит внимания.

Подводя итог, следует отметить, что китайский концерн предлагает отличное дополнение к системам «умного дома», благодаря которому существенно повышается безопасность и проще контролировать происходящее. Даже если случилась авария, негативных последствий легко избежать.

Опять про BLE, температуру и датчики Xiaomi

Не так давно, удалось мне обзавестись известными датчиками температуры и влажности от Xiaomi. Эти датчики заслуженно приобрели широкую известность, так как при своей достаточно низкой цене, достаточно удобны в использовании, а также умеют передавать свои показания по протоколу BLE в тот же Mi Home. К тому же весь Интернет завален вариантами подключения этих сенсоров к Home Assistant, MajorDoMo и другим системам.

Но мне этого показалось мало и захотелось все сделать по-своему (не спрашивайте меня зачем и почему, просто захотелось). А именно, захотелось прочитать данные с датчиков, которые развешены по всему дому и как-нибудь интересно с ними поработать. Потому я покопался в своих электронных закромах и нашел там модуль ESP32.

Быстрое гугление показало: ESP32 — это то, что мне нужно. Он умеет Bluetooth и WiFi, программируется из Arduino IDE и позволит мне получить показания с датчика и отправить их по WiFi куда нужно (хоть на домашний сервер, хоть в облако). К тому же, очень быстро нашелся простой и понятный туториал, который как раз решал мою задачу. Но как выяснилось, не все так просто.

Первые проблемы

Как часто бывает с примерами из Интернета, код не заработал. А ведь так хотелось… Очевидно, что нужно разбираться с этим дальше.

Не смотря на то, что у меня в закромах лежат всякие ESP32, по основному роду деятельности я прикладной разработчик. Ковыряюсь с железками (как и многие, я полагаю) только в качестве хобби. Потому достаточно быстро пришло понимание того, что без закапывания в детали дальше продвинуться не получится. Потому пришлось изучить код, немного спецификацию BLE и понять как это устроено. По результатам разбирательств пришло некоторое понимание того, как оно работает, ну и сразу же захотелось этим с кем-нибудь поделиться.

Как оно работает

Обычно устройства BLE умеют работать в 2-х режимах. Назовем их широковещательный (discover mode) и подключенный (connection mode). В широковещательном режиме устройство может рассылать пакеты, позволяющие другим Bluetooth устройствам обнаружить его и установить соединение при необходимости. При дальнейшем установлении соединения устройства могут обмениваться данными и командами. Некоторые устройства упаковывают какие-то данные о себе прямо в широковещательные пакеты. Это некоторым образом упрощает взамодействие с устройством, а также в числе прочих средств позволяет экономить энергию.

Сенсор Xiaomi умеет работать в двух режимах, и в Интернетах можно найти примеры работы как с широковещательными пакетами так и в режиме соединения. В найденном ранее руководстве используется вариант подслушивания широковещательных пакетов. Достаточно просто чтобы можно было быстро разобраться. Осталось только выяснить, что же не так.

Так что все-таки сломалось?

Код примера работает достаточно просто. При старте устройства инициализируется процесс сканирования устройств и устанавливается класс, функции которого будут вызываться при получении пакетов от устройств (advertising пакеты).

Пакеты от устройств обрабатываются в этой функции:

Очевидно, проблема где-то здесь.

Основное действие в этом коде происходит в конструкции switch, где проверяется значение 11го байта в service data массиве. Проблема только в том, что в моем случае массив данных был меньше 11 байт. Осталось выяснить почему.

Каждый advertising пакет помимо информации о возможности соединения с устройством может содержать пакет данных (payload). Этот пакет содержит расширенные данные об устройстве, также данные о сервисах, которые поддерживает устройство. В одном пакете может быть информация о нескольких сервисах. Типичный payload моих устройств выглядит так (это отдельные байты в шестнадцатиричной системе счисления):

Информация здесь кодируется достаточно просто. Первый байт (в примере 0x02) задает размер блока в байтах. За ним следует байт, который указыает назначение блока (подробно о типах блоков здесь). Затем следуют данные в зависимости от типа блока. Ну и дальше все повторяется (опять появляется длина блока) пока не закончится пакет данных.

Нас больше всего интересют блоки с типом 0x16, которые отвеают за service data, т. е. за данные, описывающие отдельные функции устройства. В нашем примере таких блоков 2:

Если присмотреться поближе, то можно заметить, что 11й байт в первом блоке очень похож, на тот, что ожидает наш switch (0x0A). А второй блок как раз похож на тот, слишком короткий блок, на который мы ссылались в начале. Похоже здесь и порылась собака. Похоже, что наш код ожидает видеть первый блок, а получает второй.

Почему так вышло?

Может у нас какие-то не такие устройства, а может у автора кода другие, но факт остается фактом, у нас оно так не работает. Самое время посмотреть в исходники библиотеки ESP32 для Arduino. Не будем вдаваться в подробности, но по этому коду видно, что getServiceData должен иметь параметр с индексом блока данных, который найден в пакете. Т. е. в библиотеке предусмотрена возможность того, что payload может содержать несколько блоков service data. Однако, не все так просто. Оказывается, что эта ветка изменений на момент написания этой заметки еще не опубликована (текущая версия релиза 1.0.4). И просто так скачав в Arduino IDE все необходимое для ESP32 через Boards Manager будет получена более старая версия библиотеки. И как раз в этой версии функция getServiceData() всегда возвращает последний блок service data. Это не очень приятно, но всегда можно использовать последнюю версию библиотеки. Главное, что мы смогли понять в чем была проблема.

Финальный код

С новой библиотекой решить проблему можно будет очень просто. Но не очень хочется создавать зависимость от новой версии библиотеки. Мы можем добавить простой код, который сделает то, что нужно нам нужно и так. Для этого нам нужен код, который в payload найдет нужный нам блок service data (в примере ниже функция findServiceData).

Вывод

Вся проделанная работа в очередной раз показыает, что не всегда код из Интернета хорошо работает. Будь-то пример для ESP32 или кусок кода со StackOverflow, крайне желательно все же понимать как оно работает. Всегда могут появиться не самые стандартные случаи, которые заставят код развалиться. Хорошо, когда это происходит в хобби-проектах, но, очевидно, никому не хотелось бы наталкиваться на подобные случаи в боевом коде. Давайте будем осторожны с использованием чужого кода, ну или по крайней мере попытаемся в нем разбираться.

Как-то длинновато получилось, но надеюсь, что кому-то это будет полезно. Со своей же стороны, надеюсь, что этому эксперименту будет продолжение, и данные температуры все же будут отправлены дальше.