Система мониторинга качества московского воздуха

в 20:41, , рубрики: arduino, diy или сделай сам, xbee, воздух, Геоинформационные сервисы, кикстартер, Москва, пыль, пыльца, метки: , , , , , , ,

В этом посте рассказывается о созданной в форме кикстартеровского проекта системе мониторинга качества московского воздуха vozduh.msk.ru. Сначала будет несколько слов о том, почему воздух интересно мониторить и почему для этого недостаточно существующих систем. Потом будет рассказ о сборе средств на проект (с цифрами). Потом будет рассказ об архитектуре системы, её характеристиках, сильных сторонах и ограничениях.

От берёзы до arduino

Система мониторинга качества московского воздуха

26 апреля 2012 года Москву накрыло плотное желто-зелёное облако. Вместе с облаком поползли слухи о каком-то якобы взорвавшемся заводе по производству удобрений. Но скоро стало ясно, что для конспирологии места нет: этой весной случилось уникально бурное цветение берёзы. Зелёное облако состояло из пыльцы. Друзья-аллергики сидели дома, плотно закрыв створки стеклопакетов.

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

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

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

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

Как мониторится воздух на западе

В мире широко используется интегральный показатель качества воздуха под названием AQI (Air Quality Index). Он учитывает загрязнение воздуха озоном, угарным газом, двуокисью серы, двуокисью азота и твердыми частицами. У нас AQI не публикуется, и насколько я понимаю, полных данных для его вычисления нет.

Помимо сети государственных пунктов мониторинга качества воздуха на западе широко развита практика частного, гражданского мониторинга. Наверное самый известный проект в рамках этой активности — «яйцо качества воздуха», Air quality egg.

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

Кикстарт проекта.

В ценовом диапазоне «до 1000$», в котором я решил искать решения, есть два популярных датчика пыли: фирмы Sharp с легко запоминающимся названием GP2Y1010AU0F за 12$ и измеритель DC1100 pro фирмы Dylos за 290$. К достоинствам первого относится его низкая цена. В остальном он уступает Dylos-у, поскольку этот последний умеет измерять отдельные показатели для мелкой (< 2.5 um) и крупной пыли. Это давало надежду на то, что показания прибора удастся привести к общечеловеческому показателю PM2.5, который как раз и используется при вычислении AQI. Забегая вперёд скажу, что этой надежде было не суждено оправдаться.

21 июня 2012 года я объявил в своём ЖЖ, френдфиде и фейсбуке о начале сбора средств на покупку измерителя пыли DC1100. Благодаря помощи друзей за шесть дней удалось собрать даже немного больше, чем требовалось, примерно 420$. На этот избыток был куплен замечательный оптический датчик дождя, потому что казалось вероятным сильное влияние дождя на пыль. Ещё раз забежав вперёд скажу, что сильная связь дождя и уровня пыли подтвердилась.

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

Шестерёнки

Архитектура

Система состоит из трех модулей: измерителя, промежуточного сервера и серверов публикации данных.
Данные с датчиков уровней пыли, дождя, температуры и влажности считываются измерителем на основе arduino и в json-формате пересылаются через Xbee-линк на домашний сервер. Там они логируются и пересылаются для публикации на cosm.com и vozduh.msk.ru.

Измеритель

Система мониторинга качества московского воздуха
Воздух, прогоняемый вентилятором (8) с улицы через трубу (2) проходит через нагревательный элемент (3) для того, чтобы при необходимости снизить относительную влажность воздуха и предотвратить влияние водяного пара на результаты измерений. Ход воздуха показан стрелочками. Схема управления (5) на базе платформы arduino uno, используя данные датчика влажности (6), управляет нагревателем (3) с помощью силового реле (7).

Данные с DC1100 (4) и датчика дождя (не показан на схеме) считываются схемой управления (5) и через карточку XBee передаются на домашний сервер, где проходят первичную обработку и отсылаются для публикации на общедоступный веб-сайт.

Система мониторинга качества московского воздуха Система мониторинга качества московского воздуха Система мониторинга качества московского воздуха
Слева направо: внешний вид блока измерителя, корпус со снятой крышкой и DC1100, датчик дождя во время тестирования. (картинки кликабельны)

Домашний сервер

FreeBSD 9.0 на старом ноуте с разбитым экраном. Сам, без танцев с бубном, увидел ftdi-шную карточку с Xbee модулем, рубёвый скрипт импорта данных крутится в скрине.

Сервер публикации

Система мониторинга качества московского воздуха
Сейчас данные публикуются в двух местах: на cosm.com и на vozduh.msk.ru. Vozduh представляет собой скрипт на ruby-sinatra, графики рисуются с помощью библиотечки dygraphs. Графики выводятся сглаженными на 10-минутных интервалах; те, кому любопытны «сырые» данные, могут их увидеть на соответствующей страничке.
На vozduh-e прикручена минимальная статистика: вычисляются квантили для измерений пыли и тренды в соответствии с линейной моделью. Статистика вычисляется с помощью небольшого скрипта на языке R, напрямую читающего и пишущие данные из базы данных (SQLite).

Заключение, выводы и направления развития проекта

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

Данные по загрязнению атмосферы пылью очень любопытны. Известно, например, что пыльные бури из центральной Африки достигают берегов северной Америки, перемещаясь на расстояния в тысячи километров. Наши измерения говорят о том, что количество мелкой пыли мало меняется при перемещении на расстояния в сотни километров. В один из дней я снял показания последовательно на юго-западе москвы, на МКАД-е и в г. Дубна. Показания были очень близки. При этом с течением времени уровни загрязнения могут меняться быстро, в разы в течении нескольких часов. Это делает значения этого параметра перспективными для интерпретации.
К сожалению, не получилось превратить измерения пыли в общепринятый в этом деле показатель PM2.5. Дело в том, что DC1100 показывает количество пылинок в единице объема воздуха, а PM2.5 — массу пыли в единице объема. Несмотря на то, что делались попытки сконвертировать одно в другое, моё лучшее понимание на текущий момент состоит в том, что корректно это сделать невозможно. Интересующихся вопросом могу адресовать к работе [5].

Дальнейшие планы по развитию проекта включают в себя:

  • Сеть датчиков. Было бы очень любопытно посмотреть, как двигается пыль на существенных расстояниях. Если найдется финансирование для изготовления нескольких точек измерений, то можно будет изучить движение пыли и дождя над Москвой и другими городами.
  • API. Это одна из приоритетных вещей, вскоре появится на сайте.
  • Twitter. Запланирован фид, сообщающий о происходящем в воздухе города. Может быть полезен спортсменам и аллергикам. А может быть всем, кому любопытно, был ли ночью дождь, например.
  • Мобильный клиент. Ещё один этап из списка ближайших.

Буду рад другим идеям по развитию проекта и желающим принять в нём участие.

Ссылки

  1. Сайт проекта: vozduh.msk.ru/
  2. Исходники всего софта: github.com/ati/air-quality
  3. Показатели качества воздуха: sir35.ru/Pokazateli-kachestva-vozduxa.html
  4. Air quality egg, гражданская система мониторинга качества воздуха — www.kickstarter.com/projects/edborden/air-quality-egg
  5. C.N. Davies. Size distribution of atmospheric particles — www.sciencedirect.com/science/article/pii/0021850274900639

Автор: variomap

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js