DustDuino – используем Arduino для мониторинга качества окружающей среды
Жителям крупных городов и городов с заводским производством желательно знать уровень качества воздуха в определенный момент, чтобы, например, решить, стоит ли сейчас гулять или нет. Долговременное нахождение в загрязненной атмосфере может негативно сказаться на организме человека и вызвать онкологические заболевания. Пагубное влияние загрязненной атмосферы приводит к более 3,2 миллионам преждевременных смертей ежегодно. Сегодня уже можно купить анализатор состояния атмосферы, но такое устройство будет стоить недешево.
Но такой анализатор можно сделать своими руками на основе популярной платы Arduino, что будет, безусловно, дешевле покупного варианта. Причем, такой проект уже реализован и называется он DustDuino.
DustDuino основан на Arduino и датчике Shinyei PPD42NS. PPD42NS представляет собой оптический датчик пыли, способный улавливать мелкодисперсные частицы класса PM2.5 и PM10. В его составе имеется светодиод и линза, чтобы определить концентрацию пыли в частично закрытой камере, которая втягивает воздух из окружающей среды. Датчик подключается по трем проводам: питание, земля и информационный провод. Информация с датчика в Arduino передается посредством ШИМ-сигналов. Выход датчика в нормальном состоянии находится в высоком логическом уровне, но становится низким пропорционально концентрации частиц в окружающей атмосфере. Для проверки датчика на работоспособность можно попрыскать вокруг него из аэрозольного баллона.
Для сборки DustDuino помимо платы Arduino и датчика Shinyei PPD42NS потребуется шилд для беспроводной связи Arduino Wireless Proto Shield, WiFi-модуль Sparkfun Roving Networks RN-XV WiFi module, источник питания 9В (для автономного питания можно использовать батарейку), соединительные провода и USB-кабель для программирования Arduino.
Все подключается довольно просто. На Arduino сверху прикрепляется шилд Arduino Wireless Proto Shield, в специальный разъем которого вставляется WiFi-модуль Sparkfun Roving Networks RN-XV. Датчик Shinyei PPD42NS, как правило, поставляется с трехпроводным кабелем. Черный (земля) подключите к линии GND на шилде, красный (питание) к линии 5V, а оставшийся провод (информационный выход) подключите к линии 8. Shinyei PPD42NS также может измерять частицы класса PM10. Для получения данных об этих частицах нужно подпаять провод ко второму выводу разъема датчика, и этот провод подключить к линии 9 шилода.
Все данные с DustDuino для обеспечения визуальной информативности и легкого доступа будут поступать на сервис xively.com, который позиционирует себя как публичное облако для устройств Интернета вещей. На этом сайте можно зарегистрировать бесплатный аккаунт с поддержкой до 30 каналов с пяти устройств. После регистрации нужно создать устройство с четырьмя каналами: PM10, PM10count, PM25, PM25count. Каналы PM10count и PM25count будет хранить количество частиц PM10 и PM2.5, полученное с датчика, а каналы PM10 и PM25 будут хранить массовую концентрацию этих частиц, рассчитанную в коде DustDuino. Запишите также идентификационный номер устройства (Feed ID) и ключ API (API key). Они понадобятся в программе для Arduino.
Скетчи для Arduino можно скачать с официального сайта проекта dustduino.org. Найдите в скетче #define FEEDID, #define APIKEY и #define USERAGENT и вместо этих переменных подставьте идентификационный номер устройства, ключ API и имя устройства. После этого DustDuino начнет отправлять данные о загрязнении окружающей среды на облачный сервис.