ИКЕА ВИНДРИКТНИНГ это датчик качества воздуха, который измеряет концентрацию 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, это теперь точно каша из топора :)
Спасибо за внимание, всем добра!
Комментарии (21)
Kill_Voice
13.11.2023 12:10Занятно, но в большей части ради фана, у Икеи же есть датчик который уже из коробки работает с зигби, понятно дело, что в России он не продается, но это не проблема
belokobylskiy
13.11.2023 12:10+4Предлагаю ваш PDF на гитхабе заменить на исходный отсюда https://en.gassensor.com.cn/Product_files/Specifications/LED Particle Sensor PM1006K Specification.pdf
(погуглил просто по словам на заглавной странице)
Anonym
13.11.2023 12:10+2Для PM1006 в даташите указан запрос
11 02 0B 01 E1
Такой используется например в коде esphome и работает
Для PM1006K указан запрос
11 01 02 EC
Не нашел у вас на гитхабе исходников. Вы уверены, что во всех икеевких датчиках используется один и тот же модуль?
13werwolf13
13.11.2023 12:10никогда не рассматривал IKEA VINDRIKTNING к покупке, но натыкался на него в сети несколько раз и почему-то мне запомнилось что он из коробки умеет zigbee (или ble, чем дольше пытаюсь вспомнить тем больше сомневаюсь).. может быть были разные версии?
Kill_Voice
13.11.2023 12:10Есть 2 версии, новая как раз таки с дисплеем и zigbee, но её в России только через форвардеров можно купить
13werwolf13
13.11.2023 12:10да, уже после того как написал комментарий со второй попытки нагуглил эту информацию, а так же нагуглил кучу отзывов на разных ресурсах о том что эта балалайка показывает погоду на юпитере а не реальные данные.. интересно насколько именно всё плохо конечно, но в целом желание рассмотреть к покупке уже отбито.
Kill_Voice
13.11.2023 12:10Сложно верить в чудо, при стоимости хорошего датчика 40-50 долларов, а тут за все устройство 5-10 долларов. Аналогичная история и с устройствами измерения CO2
tklim
13.11.2023 12:10Главный вопрос, что этот датчик даёт?
У меня во всех комнатах есть датчики со2 - там понятно, нужно или окно открыть или ещё что-то думать глобально с вентиляцией и ее автоматизацией. Есть VOC, есть HCHO - эти ловят химию или глинтвейн через две закрытых двери.
Датчики частиц есть тоже. Один работает постоянно. Ну он показывал превышения в новогоднюю ночь из-за фейерверков и ещё пару раз когда дым от каминного "отопления" стелился по земле. Но это все визуально понятно или нос чувствует.
NutsUnderline
что то я так и не понял - на чем сделан датчик в оригинале? не хватает фотки с подписью "это оригинальная материнская плата датчика...". zigbee я так понимаю тут своей платой добавлено?
Berkseo Автор
В оригинале, датчик просто индикатор, без какой либо передачи куда либо.
foxyrus
А какой датчик? и точность
Понравилась такая картинка из отзывов
Berkseo Автор
Там стоит pm1006k
Alfair
Это он сразу после включения может показать и красный и оранжевый. Потом стабилизируется.
Tirarex
Не может а показывает, зеленый, оранжевый, красный, потом уже переходит на реальные показатели воздуха.
WondeRu
Если он сделан на esp, то по дефолту же в вайфай умеет?
Berkseo Автор
В оригинале только микра которая читает сенсор pm1006k и выводит цветовую индикацию.