Собираем и устанавливаем датчик пыли: руководство Hardwareluxx

Опубликовано:

feinstaubsensor-diy-logoНаше новое руководство посвящено сборке и установке датчика пыли, который позволит узнать, насколько безопасно содержание взвешенных частиц в вашем окружении. Кроме того, датчик интегрируется в открытую глобальную информационную карту. В статье мы пошагово проведем через все этапы по сборке и установке датчика пыли.

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

Здесь весьма интересен пример Германии. С 2000 года Федеральное правительство стало проводить по всей стране регулярные измерения запыленности воздуха частицами PM10 (с аэродинамическим диаметром 10 мкм или меньше). А с 2008 года проводятся измерения с частицами PM2.5. То же самое мы сделаем и с нашим датчиком пыли. С 2005 года в Германии допускается содержание частиц пыли PM10 не больше 50 мкг на кубический метр (мкг/м³), которое может быть превышено, максимум, 35 дней в году. Превышение ПДК 50 мкг/м³ наблюдается, как правило, рядом с оживленными трассами. В России среднесуточный ПДК PM10 составляет 60 мкг/м³.

Наш проект базируется на инициативе Luftdaten.info и проекте "Гражданская наука", в рамках которой энтузиасты предоставляют результаты измерений из разных уголков мира.

Но перейдем к сборке датчика пыли.

Все необходимые компоненты мы заказали через AliExpress и в магазине электрики. Конечно, все компоненты можно купить локально, но при этом придется смириться с завышенными ценами. Если вы готовы подождать 30-45 дней, то гораздо выгоднее воспользоваться AliExpress.

Список покупок следующий:

Цена всех компонентов составила 25-30€. Самым дорогим был датчик пыли - около 15€, все остальное обошлось в считанные евро. Распределительную коробку OBO Bettermann T 60 IP66 мы купили в магазине электрики за 5€, но вы можете воспользоваться любой другой.

Основным компонентом является плата NodeMCU ESP8266 с установленной SoC и модулем WLAN. SoC под названием ESP8266 дополнена 128 кбайт оперативной памяти и 4 Мбайт флэш-памяти. Операционная система под названием XTOS адаптирована под работу с датчиком пыли.

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

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

Диапазон измерения SDS011 составляет от 0 до 999,9 мкг/м³. Датчик может определять частицы диаметром 0,3 мкм и крупнее. В том числе категории PM2.5 и PM10 с погрешностью 10%. Датчик забирает воздух через вентиляционные отверстия, после чего выдает результат через несколько секунд. Но мы считывали показания каждые 145 с. Диапазон рабочих температур составляет от -20 до +50 °C.

Результаты датчика пыли зависят от температуры и влажности, поэтому для интерпретации правильных значений необходимо измерять и их тоже. Мы использовали датчик влажности и температуры DHT 22.

Датчик определяет влажность в диапазоне от 0 до 100% с погрешностью 2-5%. Температура определяется в диапазоне от -40 до +80 °C с погрешностью 0,5 °C. Теоретически сенсор может выдавать результат каждые две секунды. Но мы опрашивали сенсор каждые 145 с.

Программное обеспечение и установка прошивки

Сначала на плату следует установить прошивку. Ниже мы привели инструкции для macOS. Впрочем, те же самые операции можно выполнить под Windows и Linux.

Для работы с ESP8266 следует установить драйвер usb2serial. Мы скачали его с репозитория GitHub. При установке macOS High Sierra предупредила об инсталляции расширения ядра. Поэтому соответствующую опцию следует активировать в настройках безопасности macOS. Впрочем, при установке драйвера пользователю все равно придется пройти через данные настройки. После перезагрузки macOS расширения ядра будет активно, операционная система теперь может работать с NodeMCU ESP8266.

Затем следует скачать окружение разработчика Arduino. В Arduino IDE следует внести ряд настроек. В поле "Additional Board Manager URLs" следует указать http://arduino.esp8266.com/stable/package_esp8266com_index.json

Через пункт Tools/ Board/ Board Administrator следует выбрать "esp8266". Затем будет установлен пакет "esp8266 by ESP8266 Community".

Также в пункте Tools / Port следует установить устройство usb2serial. Важно запомнить адрес порта USB за "wchusbserial", то есть "1a1210" в нашем случае, поскольку нам нужно будет устанавливать прошивку на правильное USB-устройство. Затем Arduino IDE можно закрывать.

Прошивку можно скачать здесь. Сначала NodeMCU ESP8266 подключается через USB. Затем в macOS High Sierra должно появиться устройство NodeMCU ESP8266.

Откройте терминал macOS и введите следующую команду: ~/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/cu.wchusbserial1a1210 -cf Pfad/zur/heruntergeladenen/Firmware/latest_en.bin

Здесь важно указать правильный порт cu.wchusbserial1a1210.

Затем будет запущен процесс прошивки, на что будет указывать быстро мигающий синий LED на NodeMCU ESP8266. Прошивка объемом 460 кбайт устанавливается за 2-3 минуты. Затем плату можно отключать от компьютера.

Сборка компонентов

Теперь можно приступать к сборке компонентов. Сначала нужно оснастить контактным площадками точки пайки GPIO на плате NodeMCU ESP8266. Соответствующая работа будет по плечу всем пользователям, кто умеет обращаться с паяльником. Иначе можно попросить более опытных друзей. На сайте Luftdaten.info имеется полезная схема.

Схема верна для SDS011 и DHT22. Отличий из-за разных версий нет. Но вот в случае контактов GPIO платы NodeMCU ESP8266 все стоит дважды проверить. Дело в том, что у разных версий положение контактов может меняться. На нашей плате контакты земли (GND) и входа 5 В располагались в другом месте. Конечно, помогает маркировка на контактах.

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

Перейдем к установке датчика пыли.

Установка датчика пыли

После подключения питания USB к плате NodeMCU ESP8266 она загрузится и будет пытаться подключиться через WLAN. Поскольку параметры нашей домашней сети плата не знает, через какое-то время она сама запустит хотспот WLAN. К нему следует подключиться, после чего через web-сервер настроить NodeMCU ESP8266. Интерфейс располагается по адресу 192.168.4.1.

Мы получили web-интерфейс, показанный выше. Никаких сложных дополнительных настроек вносить не требуется, нужно лишь научить NodeMCU ESP8266 подключаться к домашней WLAN. Для этого укажите соответствующий SSID в списке в верхней части, после чего укажите пароль.

Также важен ID датчика пыли (см. в верхней части web-интерфейса - в нашем случае 1354793). Данный ID также входит в название SSID хотспота WLAN. Впрочем, после перезагрузки плата уже не будет запускать хотспот, поскольку она подключится к домашней сети. Поэтому следует записать ID.

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

Через примерно 10 минут начнут поступать первые результаты измерений. Корректность данных сенсора можно проверить на данной странице. Там следует найти нужный ID (в нашем случае 1354793), после чего можно открыть статистику. Также доступна статистика сигнала WLAN.

В статистике приведены результаты измерений PM10 и PM2.5 за последние 24 часа, за неделю, месяц и год. Также приводится среднее значение за семь дней.

Теперь статистика будет отсылаться на сайт Luftdaten.info, но чтобы она была включена в официальную часть, следует отослать на почту Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. дополнительную информацию:

Затем ваш сенсор станет частью открытой сети Luftdaten.info. И через некоторое время он появится на карте.

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

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

Мы прикрепили датчик пыли под небольшим навесом и обеспечили питание. Теперь сенсор работает и собирает данные.

Заключение

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

Сборка датчика очень простая, хотя потребуется умение работать с паяльником. В остальном никаких сложностей нет.

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