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

Всем привет!

Сегодня расскажу про мини-проект по сборке датчика мелкодисперсной пыли и подключению его к мировой сети таких же датчиков.

Sensors Map

Сеть датчиков Luftdaten.Info начиналась как небольшой любительский проект Яна Латца по измерению мелкой пыли в воздухе в одном из самых грязных городов Германии — Штутгарте.
Ян и возглавляемый им хак-спейс OK Lab Stuttgart были сильно недовольны официальными данными по загрязнению в Неккарторе, одном из районов Штутгарта, расположенном рядом с оживленной трассой. Они сначала разработали, а затем популяризировали простой и относительно дешевый датчик, который можно собрать недорого и буквально «на коленке». Организовали семинары, на которых можно было собрать его любому. Фонд Открытых Знаний (Open Knowledge Foundation), филиалом которого является OK Lab Stuttgart., проспонсировал детали для 300 первых датчиков.

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

О чем все это? Мелко-дисперсная пыль PM10 (частицы от 10мкм до 2.5мкм) и PM2.5 (от 10 нм до 2,5 мкм) — аэрозоль из частичек почвы, топлива, пыльцы и прочих загрязнителей, постоянно присутствующий в воздухе, которым мы дышим.

Есть предельно-допустимые нормы на мелко-дисперсную пыль PM2.5 и PM10, установлены постановлением  N 165 Главного государственного санитарного врача РФ от 22 декабря 2017 года «ГН 2.1.6.3492-17 Предельно допустимые концентрации (ПДК) загрязняющих веществ в атмосферном воздухе городских и сельских поселений»:

PM10

  • Максимальная разовая — 0.3мг/м3 (300 мкг/м3)
  • Среднесуточная концентрация — 0.06 мг/м3 (60 мкг/м3)
  • Среднегодовая концентрация — 0.04 мг/м3 (40 мкг/м3)

PM2.5

  • Максимальная разовая — 0.16мг/м3 (160 мкг/м3)
  • Среднесуточная концентрация — 0.035 мг/м3 (35 мкг/м3)
  • Среднегодовая концентрация — 0.025 мг/м3 (25 мкг/м3)

Показатели пересчитаны из мг/м3 (так в постановлении) в мкг/м3 — это цифра, которую показывает датчик.

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

Оригинальный вариант корпуса мне понравился не очень — два канализационных уголка как-то не вписывались в понятие «красиво». Поиск альтернатив привел меня к интересному проекту на базе распаечной коробки Hensel DK-400G и напечатанных на 3d-принтере деталей. Распаечную коробку нашел в магазине электротоваров, болтики — в строймаге:

  • M3x10 с потайной головкой — 9 шт,
  • M3x30 с потайной головкой — 2 шт,
  • M3x10 с круглой плоской головой — 6 шт.

Датчики и управляющие платы заказывались на Aliexpress:

  1. Управляющая плата LUA NodeMCU v3 (по сути — Ардуино с WiFi на борту)
  2. Датчик мелкодисперсной пыли SDS011
  3. Датчик температуры/влажности/давления BME280

В дополнение — нужен блок питания на 5В >1A (я взял от старого сотового телефона) и электролитический конденсатор на 470-1000мкФ >12В (можно заказать на Али, можно купить в любом радио-электронном магазине, можно выпаять из старой материнской платы) — поставить как фильтр, чуть ниже напишу, зачем и куда припаять. 

Пока ждал посылку из далекого Китая, распечатал детали внутрянки:

Пришел пакет с датчиками, выбрал время и начал сборку:

Сначала помещаем внутрь пластиковый поддон для датчика пыли и прикручиваем его к корпусу:

Затем располагаем внутрь датчик SBS011, прорезаем отверстия в мембранах коробки под «носик» — напечатанный выносной блок с решетками входа/выхода воздуха и местом под датчик температуры/влажности, примеряем всю конструкцию. У меня носик отломался при примерке (печатал его хрупким пластиком SBS, надо нейлоном или чем-то помягче) — не беда, нашел обрезок шланга диаметром 8мм, обрезал по месту:

Когда все на месте — прикручиваем сверху крышку сенсора, не забывая проверить, надежно ли закреплен шлейф на датчике — а то потом до него сложно добраться будет.
Припаиваем шлейф к датчику BME280 (можно отдельные провода, но у меня лежит рулон многожильного шлейфа для подобных задач) и размещаем его в «носике», проводим провода внутрь коробки:

Да, где-то в перерывах, или прямо сейчас нужно скачать драйвера и прошивальщик с сайта разработчиков (luftdaten.info/en/construction-manual/. Инструкция по ссылке — на английском, есть на немецком и нескольких других европейских языках. На русском нет, к сожалению, может спасти google-переводчик. Ну или прямые ссылки:
Драйвера для моей платы (Windows, CH430G) : www.wch.cn/downloads/file/5.html
Прошивальщик: luftdaten.info/flashtool/luftdaten-tool.zip
Выбираю свою конфигурацию (на скриншоте плата не подключена, в поле Board должна быть более вменяемая надпись), жмем Upload… …и некоторое время мучаемся. 🙂 Потому как плата дешевая = очень капризная. Пришлось перебрать 3-4 провода, пока подобрал тот, с которого она прошилась успешно.

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

Подпаиваем шлейфы по схеме с сайта, BME280 — с раздела FAQ. Неудобненько, поэтому вот сведенная схема:

 

Далее нужно решить задачу питания.

Поскольку датчик будет висеть снаружи на балконе, а источника электричества там у меня нет — нужно дотянуть провода от розетки. Немцы упрощают задачу, предлагая купить провод microUSB длинной в пару метров, но для меня это не выход — негде его протащить, а дверью балкона его пережмёт. Но, для питания нужно 5В, поэтому провод может быть тоненьким (по итогу, купил в Леруа Мерлен моток тонкого провода для слаботочки).

Просверлил тонким сверлом порог балкона, протащил насквозь провод, дотянул до места расположения датчика, изнутри — до розетки. Блок питания взял от какого-то старого телефона, провод припаял напрямую. На плате питание завел на ноги Vin и Grnd, конденсатор на 1000мкФ 12В припаял прямо к плате там же. 

Будете повторять — обратите внимание, блок нужен не менее 1А, там в датчике вентилятор стоит, при запуске может сбрасывать плату, если блок питания маломощный (я в первой попытке ошибся, помучился немного, пытаясь понять, что происходит). И конденсатор — выстраданное решение 🙂  Когда после первых суток работы датчик перестал реагировать, а после отключения из розетки и обратного включения показал, что сброшены параметры WiFi — я даже не знал что думать. Уже злых хакеров заподозрил. Но, подумав еще, пришел к выводу, что нестабильность питания приводит «нежную» плату управления к сбросу. Электролитический конденсатор на 470 — 1000мкФ на 12В (можно больше — 25В, например), впаянный между «-» и «+» питания, проблему решил. 

Прикручиваем на место (на фото провода питания нет еще):

 

На этом механическо/электрические работы закончены. Вставляем блок питания в розетку, достаем телефон и ищем вновь появившуюся WiFi-сеть под названием Feinstaubsensor-ID, где ID — некий уникальный номер счетчика (запоминаем, а лучше записываем этот номер — пригодится!). Подключаемся к этой сети, заходим в браузере на http://192.168.4.1/. Там видим список увиденных датчиком сетей, выбираем нужную или вбиваем свою, если она в режиме невидимости (как у меня, например). Жмем «Сохранить и перегрузить». Если все введено правильно, то на WiFi-роутере можно увидеть подключившийся датчик. Его данные через пару минут появятся на сайтах:

Найти свой датчик в массе можно через поиск по записанному чуть ранее ID. Осталась самая малость — зарегистрировать датчик. Идем на сайт https://meine.luftdaten.info/, регистрируемся, вносим данные сенсора в список — параметры, адрес (можно только город, страну и улицу), указываем на карте точку, где установлен датчик, сохраняем. Вуаля, мы в системе:

И теперь на карте https://maps.luftdaten.info/ можно любоваться на данные своего датчика и датчиков соседей. Очень интересно наблюдать, как в районе появляются (жаль редко) новые.  

Еще один плюс — если, находясь в своей домашней сети WiFi (с телефона, например) в браузере зайти на внутренний IP датчика, то можно видеть его текущие показания. Я вот так теперь температуру и влажность за окном смотрю. 🙂

Из интересных наблюдений:

  • у нас еще очень ничего воздух (мысль при взгляде на карту Европы)
  • недавнее резкое похолодание осадило пыль очень резко — показания падали прям на глазах 

Присоединяйтесь!

Ваш Питрофф.

P.S.: Да, немцы предусмотрительно следят за датчиками, и если он перестанет работать — пришлют заботливое письмо, мол, «перезагрузи датчик, дорогой, или напиши, что ты его сломал и выкинул — мы его из базы исключим.». 

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

Добавил aircms.online — проект российских разработчиков с ориентацией на локальные проблемы (дым от сжигания мусора, например). Также вводят на карту любопытные параметры — видно направление ветра и статистику, сколько за прошедший месяц датчик был online/offline. 

Поделиться

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.