ИКЕА ВИНДРИКТНИНГ это датчик качества воздуха, который измеряет концентрацию PM2.5.
Что такое РМ2.5
Это воздушный загрязнитель, мелкодисперсные взвешенные частицы, в состав которого входят как твердые микрочастицы, так и мельчайшие капельки жидкостей. И те, и другие размером примерно от 10 нм до 2,5 мкм.
Все эти частицы и капельки размером меньше 2,5 мкм находятся в воздухе во взвешенном состоянии. Они есть и в лесу, и на море, но именно в городе представляют наибольшую опасность. Во-первых, обычно их в городе намного больше, а во-вторых, химический состав мелкодисперсного аэрозоля в городе опаснее, чем на природе.
По типу источника частицы РМ2.5 делятся на:
Искусственные (антропогенные)
Главный антропогенный источник частиц — транспорт. Двигатели внутреннего сгорания и промышленные процессы со сжиганием твердых видов топлива (уголь, бурый уголь, нефть), строительство, добыча полезных ископаемых, многие виды производства (особенно производство цемента, керамики, кирпича, плавильное производство), в городах источником может быть эрозия дорожного покрытия и стирание тормозных колодок и шин. Даже сельское хозяйство – источник аммиака, из которого могут образоваться вторичные РМ2.5.
Природные (неантропогенные)
Источники: эрозия почвы в засушливых районах и органические испарения.
источник: https://airkaz.org/pm25.php
Я спроектировал небольшой адаптер zigbee, который подключается к питанию 5в, от самого датчика ИКЕА ВИНДРИКТНИНГ, и одной ножкой подключившись к serial слушает линию tx. Получив данные, отправляет их в сеть zigbee.

В начале статьи хочу сразу объявить о розыгрыше в моей телеграм группе DIYDEV пяти готовых zigbee адаптеров.
Добавляйтесь в мою группу, через неделю, 20 ноября будет проведен розыгрыш между новыми участниками, случайным образом будут выбраны 5 победителей, которым будут высланы zigbee адаптеры для ИКЕА ВИНДРИКТНИНГ.
Так же приглашаю читателей обсудить это и любые другие устройства, прошивки и прочий софт, работающий с Zigbee, в самое большое русскоязычное сообщество в Телеграм — Вокруг да около Zigbee.
История с этим проектом началась неожиданно в конце октября 2023 года, на Яндекс Маркете были замечены датчики ИКЕА ВИНДРИКТНИНГ по очень привлекательной цене, что-то в районе 500 рублей.

Мысль его модернизировать появилась сразу, в памяти всплыли старые статьи о хаках этого датчика на ESP.
Пока датчик ехал, я собрал немного информации в интернете, статьи, даташиты на сенсор PM, посмотрел проекты на гитхаб. Так что когда мне доставили датчик, я уже хорошо представлял, что находится внутри корпуса и что мне нужно делать.
Начал проект с софта, так как разнообразных платок от своих проектов на cc2530 у меня много, то решил разработку платы оставить на потом. С zigbee частью особых проблем не было, разве что пришлось под данные pm1 и pm10 добавить пользовательские атрибуты 0x00C8 и 0x00C9 в кластер PM2.5 measurement.
Что касается данных pm1 и pm10, то их наличие для меня оказалось полной неожиданностью. Во время сбора информации о сенсоре используемом в датчике ИКЕА ВИНДРИКТНИНГ нигде из доступных источников не упоминалось об этом, да и в даташите который я нашел так же не было информации об этом.
Подключив сенсор к логическому анализатору я сразу обратил внимание, что есть еще 2 группы байтов значения которых изменяется.

После этого я пошел в интернет и начал снова искать документацию на этот сенсор PM1006. На сайте производителя нашел версию даташита четвертой ревизии, и там уже я нашел информацию о данных pm1 и pm 10.

Скачать даташит на сайте производителя нельзя, они отдают документацию только по запросу от компании. Пришлось сохранить каждую страничку даташита и через онлайн-сервис конвертации в pdf собрать их все в единый файлик, он выложен на моем github, в репо проекта. И еще мне показалось странным, что ни в одном проекте которые я смотрел ни pm1 ни pm10 не реализовывались.
Подключение к материнской плате датчика очень простое. Нужно подпаяться к контактным площадкам 5в, GND и Rest (линия tx). После этого весьма простого действия нужно просто собрать корпус и подключить кабель usb.

Датчик не имеет кнопок, поэтому реализацию входа в сеть и выхода из сети, я сделал как в лампочках или любых других устройствах с установкой в трудно обслуживаемых местах. Для джойна необходимо открыть сеть для приема новых устройств и подать питание на датчик. Он сделает сканирование всех zigbee каналов и найдя открытую для входа сеть сделает попытку входа. Для выхода из сети нужно 4 раза сбросить питание у датчика (отключить от кабеля) с интервалами между отключениями в 8 секунд.
Из дополнительного функционала решил добавить работу с кластером OnOff и биндингом. На основе этого добавил датчику функционал контроллера уровня PM (не знаю как назвать коротко, то же самое что и термостат, только опирается на данные об уровне PM2.5). Датчик можно привязать к абсолютно любому реле, розетке или любому другому исполнительному устройству работающем с кластером OnOff. После привязки установить верхний и нижние уровни PM. После привязки и настройки уровней датчик начнет управлять реле, оправляя на реле команды включения и отключения. Этот функционал будет работать даже без координатора сети и сервера умного дома, так как команды отправляются напрямую.

После того как с софтом было всё сделано, сел за разводку платы для этого проекта. Плата получилась совсем маленькая, радиомодуль, стабилизатор напряжения на 3.3в и светодиод. Гербер файлы для заказа плат доступны на моем github. Платы хотелось получить быстро, поэтому заказ на производство плат разместил в Резоните суперcрочным заказом, через 3 дня курьер доставил посылку с заказом. Плат пришлось заказать больше чем мне нужно, так как цена что на 5, что на 20 плат практически одинаковая. На плате дополнительно вывел i2c и 3в на будущее.


Впрочем, будущее наступило примерно через 2 недели после того как я собрал себе этот датчик. Решил добавить в проект сенсор VOC. Кандидатом стал сенсор sgp40. Так через 2 недели появилась вторая версия с pm2.5, pm1, pm10 и VOC.

Прошивки для обеих версий доступны на моем github. Собраны прошивки для энд девайса, для энд девайса с усилителем, для роутера и для роутера с усилителем.

Для прошивки платы необходимо подключить ее к SmartRF04EB и прошить через программу SmartRF Flash Programmer.

На данный момент проект поддерживается в zigbee2mqtt, zha, spruthub (на гитхаб готовый шаблон, но фидбека пока нет), вероятно будет в sls и homed… или не будет. C яндекс хабом всё печально.
Еще не знаю закончен ли этот проект или будет продолжение.


Почти готов DIY ИКЕА ВИНДРИКТНИНГ III, это теперь точно каша из топора 🙂


Спасибо за внимание, всем добра!
ссылка на оригинал статьи https://habr.com/ru/articles/773546/

Добавить комментарий