В статье представлен наш опыт разработки решения по мониторингу качества воздуха в поселках с помощью сети эко-датчиков и предоставления информации пользователям в режиме реального времени на основе технических решений компании 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, где уже обрабатываются сервером приложений.
В качестве LoRa-шлюза мы используем устройство WISE-6610, производимое филиалом Advantech в Чехии. Это довольно компактное устройство, монтируемое на DIN-рейку или стену, с разъемами для подключения внешней антенны, локальной сети и питания. Из четырех контактов разъема питания по факту используются только два: красный (+) и черный (-). По умолчанию шлюз работает в режиме роутера и его LoRa-модуль выключен. Для активации устройства необходимо подключиться к нему через Ethernet-кабель и в адресной строке браузера указать адрес, через который доступен веб-интерфейс настройки шлюза:
http://192.168.1.1
На запрос авторизации указываем параметры по умолчанию (логин: root, пароль: root) и попадаем в интерфейс, представленный на рисунке.
Здесь наибольший интерес представляет пункт “User Modules”, через который можно настроить LoRa-шлюз и локальный сервер Node-RED. Заходим в настройки LoRa-шлюза, где имеем возможность включить LoRa-модуль, указать частоты радиоканалов LoRa-шлюза, задать параметры работы network-сервера и настроить передачу сообщений на MQTT-брокер, указав хост, порт, имя пользователя и пароль.
Остается только привязать эко-датчики к LoRa-шлюзу. Для этого мы используем метод ABP (Activation-by-personalisation). Заходим в панель настройки network-сервера:
https://192.168.1.1:8443
выбираем пункт “Devices-Activated (Nodes)”, нажимаем на кнопку “+ Create” и в появившемся окне указываем три параметра: NwkSKey (ключ сети), AppSKey (ключ приложения), DevAddr (адрес датчика). Эти же параметры указываем в настройках эко-датчика.
Для подключения WISE-6610 к локальной сети необходимо его перевести в режим DHCP-клиента. После этого устройство будет само обнаруживать DHCP-сервер в локальной сети для получения IP-адреса и подключения к сети интернет. Это осуществляется через основной веб-интерфейс: выбираем пункт меню “Configuration-LAN” и в поле “DHCP Client” указываем “enabled”.
Цифровая платформа WISE-PaaS
На начало этого года известно более 150 цифровых платформ интернета вещей. У каждой из них есть свои особенности, преимущества и недостатки. Использование платформы WISE-PaaS позволяет решать задачу сбора данных сенсорной сети и их визуализации.
Обработка данных с датчиков на цифровой платформе WISE-PaaS осуществляется в несколько этапов:
- получение JSON-сообщений от LoRa-шлюза MQTT-брокером и их пересылка прикладному приложению;
- прием JSON-сообщений Python-скриптом, обработка данных и их запись в базу данных;
- запись, хранение и предоставление данных средствами СУБД PostgreSQL;
- визуализация данных с помощью WISE-PaaS/Dashboard;
При создании нового виртуального пространства на 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. Затем создаются таблицы базы данных и контролируется процесс записи данных с датчиков с помощью веб-интерфейса.
Средства визуализации информации
В состав цифровой платформы WISE-PaaS входит WISE-PaaS/Dashboard, который позволяет создавать графические панели, содержащие произвольное количество блоков с различными вариантами отображения. Это может быть текст, графики, диаграммы, карты и многое другое.
Настройка блоков осуществляется через меню «Edit». Источником отображаемых данных является SQL-запрос к базе данных. Кроме того, для настройки отображения в меню “Edit” существуют различные настраиваемые параметры.
Для более тонкой настройки можно использовать «panel JSON», позволяющий редактировать настройки в JSON-формате. Это бывает, порой, необходимо, так как все параметры невозможно отредактировать через панель «Edit».
У каждой панели существуют общие настройки. Тут можно задать имя панели, описание, назначить теги, осуществить настройки времени, сменить фон.
Кроме того в WISE-PaaS/Dashboard есть общие настройки для всех панелей. Тут можно добавить источник данных, управлять группами и пользователями, управлять плагинами (добавить, активировать, удалить), загружать изображения и многое другое.
Заключение
Использование системы мониторинга качества воздуха в коттеджном поселке позволяет оперативно выявлять источники загрязнений, планировать уборку улиц и, в конечном счете, улучшить качество жизни людей. Интеграция данной системы с системами видеонаблюдения, контроля и управления доступом, уличного освещения позволяет создавать “умные” цифровые решения, повышающие эффективность эксплуатации коттеджного поселка.
Статья подготовлена командой (В.В. Чукин, Т.А. Липатов, А.Ю. Ермаков) из MeteoLab по итогам работ в рамках конкурса Advantech AIoT Developer InnoWorks 2019. Авторы статьи всегда рады ответить на вопросы и рассмотреть предложения через форму обратной связи, а также применить полученный опыт работы с платформой Advantech WISE-PaaS в проектах по цифровой трансформации производства и повышении квалификации персонала.