Как стать автором
Обновить

IKEA VINDRIKTNING теперь на Zigbee

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров21K
Приветствую всех читателей Habr. Сегодня хочу поделиться с вами своим очередным проектом по доработке датчика качества воздуха ИКЕА ВИНДРИКТНИНГ. Хаков этого датчика на основе esp на просторах интернета достаточно много, мой проект по модернизации датчика ИКЕА работает на протоколе Zigbee. Сейчас проект поддерживает помимо сенсора PM1006 (PM2.5, PM1, PM10) так же и дополнительные сенсоры, такие как SGP40, SCD40 (VOC, СO2, температура, влажность воздуха).




ИКЕА ВИНДРИКТНИНГ это датчик качества воздуха, который измеряет концентрацию 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, это теперь точно каша из топора :)





Спасибо за внимание, всем добра!
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 23: ↑21 и ↓2+19
Комментарии25

Публикации

Истории

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург