[Кейс] Мониторинг качества атмосферного воздуха в коттеджном поселке

5ld9fwcehuzsqkhlfzg2mvxw6ns.png

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

Умные города и проблема загрязнения атмосферного воздуха


Более 74% населения России живет в крупных городах и рост численности горожан продолжается. Высокая плотность населения и производств сопровождаются ухудшением качества атмосферного воздуха. Основными источниками являются: промышленность, теплоэнергетика и автомобильный транспорт. Согласно данным Всемирной организации здравоохранения, наиболее опасным загрязняющим веществом является мелкодисперсная пыль, так как она попадает при дыхании в легкие и не выводится из организма в течении жизни.

По данным исследований НАФИ в 2019 г. около 71% горожан считают экологическую обстановку неблагополучной и связывают это с выбросами автотранспорта и промышленности. Проблема заключается в своевременном выявлении локальных источников загрязнения.

Одной из задач Национального проекта «Цифровая экономика» на 2019–2024 гг. является преобразование приоритетных отраслей экономики и социальной сферы, включая городское хозяйство, посредством внедрения цифровых технологий и платформенных решений, преимущественно отечественной разработки. В рамках данного проекта 04.03.2019 г. Министерством строительства и жилищно-коммунального хозяйства утвержден стандарт «Умный город», содержащий перечень мероприятий, реализуемых в рамках цифровизации городского хозяйства.

Стандарт предполагает внедрение решений в городах с населением более 100 тысяч человек по 28 направлениям, среди которых выделяется направление «Система онлайн-мониторинга атмосферного воздуха», предполагающее мероприятия, ведущие к повышению уровня экологической безопасности, обеспечению контроля за состоянием качества воздуха, администрированию доходов бюджета города в части охраны окружающей среды, повышению уровня привлекательности города для проживания граждан.
В рамках национального проекта «Экология», паспорт которого утвержден решением президиума Совета при Президенте Российской Федерации по стратегическому развитию и национальным проектам 24.12.2018 г., реализуется федеральный проект «Чистый воздух», направленный на улучшение качества атмосферного воздуха в 12 промышленных центрах со снижением степени загрязнения атмосферы до уровня «повышенное», определяемого в соответствии с рекомендациями РД 52.04.667–2005.

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

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


Размещение эко-датчиков на объектах инфраструктуры населенного пункта и в местах массового отдыха позволяет обеспечить контроль качества воздуха, повысить уровень экологической безопасности за счет информирования жителей, органов местного самоуправления и контрольно-надзорных органов. Использование цифровой платформы WISE-PaaS позволяет осуществлять сбор данных эко-датчиков, анализ их изменчивости и прогноз рисков загрязнения атмосферного воздуха. Все это ведет к повышению качества жизни и привлекательности населенного пункта для жителей и гостей.
Сами датчики являются, по сути, связующим звеном между реальным миром и его цифровым двойником, реализуемым с помощью технических средств Advantech. Они измеряют содержание пыли в воздухе, его температуру, формируют пакеты сообщений и отправляют их по беспроводному каналу в диапазоне 868 МГц, в соответствии с протоколом LoRaWAN, на базовую станцию, где данные упаковываются в текстовые JSON-сообщения и далее по MQTT-протоколу отправляются на цифровую платформу WISE-PaaS, где уже обрабатываются сервером приложений.

3mib1bqieoa2npcfqeyqjjuckw4.png

В качестве LoRa-шлюза мы используем устройство WISE-6610, производимое филиалом Advantech в Чехии. Это довольно компактное устройство, монтируемое на DIN-рейку или стену, с разъемами для подключения внешней антенны, локальной сети и питания. Из четырех контактов разъема питания по факту используются только два: красный (+) и черный (-). По умолчанию шлюз работает в режиме роутера и его LoRa-модуль выключен. Для активации устройства необходимо подключиться к нему через Ethernet-кабель и в адресной строке браузера указать адрес, через который доступен веб-интерфейс настройки шлюза:

http://192.168.1.1


На запрос авторизации указываем параметры по умолчанию (логин: root, пароль: root) и попадаем в интерфейс, представленный на рисунке.

umzfjbugn6snur0cilkv8x-6-ug.png

Здесь наибольший интерес представляет пункт «User Modules», через который можно настроить LoRa-шлюз и локальный сервер Node-RED. Заходим в настройки LoRa-шлюза, где имеем возможность включить LoRa-модуль, указать частоты радиоканалов LoRa-шлюза, задать параметры работы network-сервера и настроить передачу сообщений на MQTT-брокер, указав хост, порт, имя пользователя и пароль.

dp5hxlfldh8dsopamlaulcmvnio.png

Остается только привязать эко-датчики к LoRa-шлюзу. Для этого мы используем метод ABP (Activation-by-personalisation). Заходим в панель настройки network-сервера:

https://192.168.1.1:8443


выбираем пункт «Devices-Activated (Nodes)», нажимаем на кнопку »+ Create» и в появившемся окне указываем три параметра: NwkSKey (ключ сети), AppSKey (ключ приложения), DevAddr (адрес датчика). Эти же параметры указываем в настройках эко-датчика.

iwlqbtkf1ueyflxf-nfivlbkvxu.png

Для подключения WISE-6610 к локальной сети необходимо его перевести в режим DHCP-клиента. После этого устройство будет само обнаруживать DHCP-сервер в локальной сети для получения IP-адреса и подключения к сети интернет. Это осуществляется через основной веб-интерфейс: выбираем пункт меню «Configuration-LAN» и в поле «DHCP Client» указываем «enabled».

u5bcvhsnykhhso5aw1mtfwguw50.png

Цифровая платформа WISE-PaaS

На начало этого года известно более 150 цифровых платформ интернета вещей. У каждой из них есть свои особенности, преимущества и недостатки. Использование платформы WISE-PaaS позволяет решать задачу сбора данных сенсорной сети и их визуализации.
Обработка данных с датчиков на цифровой платформе WISE-PaaS осуществляется в несколько этапов:

  1. получение JSON-сообщений от LoRa-шлюза MQTT-брокером и их пересылка прикладному приложению;
  2. прием JSON-сообщений Python-скриптом, обработка данных и их запись в базу данных;
  3. запись, хранение и предоставление данных средствами СУБД PostgreSQL;
  4. визуализация данных с помощью WISE-PaaS/Dashboard;


yxanr6be2wa_mgff3bpai0qot_w.png

При создании нового виртуального пространства на WISE-PaaS MQTT-брокер RabbitMQ запущен по умолчанию и виден в списке доступных сервисов. Параметры брокера (хост, порт, имя пользователя, пароль) можно получить через веб-интерфейс.

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

Создаем рабочий каталог:

mkdir ~/wisepaas/


Переходим в него:

cd ~/wisepaas/


Клонируем пример с Github для получения данных по MQTT и записи данных в базу данных PostgreSQL:

git clone https://github.com/WISE-PaaS/example-py-iothub-postgresql.git


Подготовка исполняемого приложения index.py заключается в изменении значений нескольких параметров на фактические значения, указанные в Панели управления WISE-PaaS.

…
# MQTT(rabbitmq)
service_name = 'p-rabbitmq-innoworks'
…
# Postgresql
service_name = 'postgresql-innoworks'
…
schema = 'projectname'
table = 'tablename'
group = 'groupname'
…
def on_connect(client, userdata, flags, rc):
	client.subscribe("#")
…


В файле manifest.yml указываются параметры приложения: имя, размер доступной оперативной памяти, дисковая квота, команда запуска приложения, список используемых сервисов.

---
applications:
  - name: py-postgresql-meteolab
    memory: 256MB
    disk_quota: 256MB
    buildpack: python_buildpack
    command: python index.py
services:
  - rabbitmq


Подключение пользователя user с паролем password к серверу api.wise-paas.io с помощью клиента CloudFoundry:

cf login -a api.wise-paas.io -u user@advantech.com -p password


Проверка подключения клиента к CloudFoundry:

cf target


Копирование приложения на сервер без запуска:

cf push py-postgresql-meteolab --no-start


Привязка приложения к базе данных с указанием группы:

cf bs py-postgresql-meteolab postgresql -c '{\"group\":\"groupname\"}'


Привязка приложения к MQTT-брокеру:

cf bs py-postgresql-meteolab rabbitmq


Запуск приложения на сервере:

cf start py-postgresql-meteolab


Контроль работы приложения осуществляется путем проверки журнала выполнения приложения:

cf logs py-postgresql-meteolab --recent


Удобным является копирование всех переменных окружения приложения в локальный JSON-файл:

cf env py-postgresql-meteolab > env.json


Сервер PostgreSQL также запущен по умолчанию при создании виртуального пространства. Поскольку в WISE-PaaS нет веб-интерфейса для управления базами данных, то поэтому необходимо установить какой-либо клиент, например, pgAdmin. Затем создаются таблицы базы данных и контролируется процесс записи данных с датчиков с помощью веб-интерфейса.

7tosozwdaintudsirxy5clhnxok.png

Средства визуализации информации

В состав цифровой платформы WISE-PaaS входит WISE-PaaS/Dashboard, который позволяет создавать графические панели, содержащие произвольное количество блоков с различными вариантами отображения. Это может быть текст, графики, диаграммы, карты и многое другое.

jp3opuvmvwbqog3bktzks0sk0b0.png

Настройка блоков осуществляется через меню «Edit». Источником отображаемых данных является SQL-запрос к базе данных. Кроме того, для настройки отображения в меню «Edit» существуют различные настраиваемые параметры.

p2ua0diml_dngd9c5hp6xcliluc.png

741qbivldz3qffr04whsao84gr8.png

Для более тонкой настройки можно использовать «panel JSON», позволяющий редактировать настройки в JSON-формате. Это бывает, порой, необходимо, так как все параметры невозможно отредактировать через панель «Edit».

pgn-pyyxx3fiiyyot7e_fmhgce4.png

У каждой панели существуют общие настройки. Тут можно задать имя панели, описание, назначить теги, осуществить настройки времени, сменить фон.

cfpddewibpt8qw-i4-v7s8tnmsc.png

Кроме того в WISE-PaaS/Dashboard есть общие настройки для всех панелей. Тут можно добавить источник данных, управлять группами и пользователями, управлять плагинами (добавить, активировать, удалить), загружать изображения и многое другое.

udt85evbclnn0gz1h7zssqyrb3q.png

Заключение


Использование системы мониторинга качества воздуха в коттеджном поселке позволяет оперативно выявлять источники загрязнений, планировать уборку улиц и, в конечном счете, улучшить качество жизни людей. Интеграция данной системы с системами видеонаблюдения, контроля и управления доступом, уличного освещения позволяет создавать «умные» цифровые решения, повышающие эффективность эксплуатации коттеджного поселка.
Статья подготовлена командой (В.В. Чукин, Т.А. Липатов, А.Ю. Ермаков) из MeteoLab по итогам работ в рамках конкурса Advantech AIoT Developer InnoWorks 2019. Авторы статьи всегда рады ответить на вопросы и рассмотреть предложения через форму обратной связи, а также применить полученный опыт работы с платформой Advantech WISE-PaaS в проектах по цифровой трансформации производства и повышении квалификации персонала.

© Habrahabr.ru