Продвинутая система мониторинга качества воздуха в помещениях на Arduino и IoT
Компоненты и материалы
| Arduino Yun Shield | 1 |
| Arduino Leonardo | 1 |
| Arduino Yun | 1 |
| Arduino MKR GSM 1400 | 1 |
| Arduino MKR WAN 1300 | 1 |
| Seeed Grove - Gas Sensor (MQ2) | 1 |
| Seeed Grove - Air quality sensor v1.3 | 1 |
| Android-устройство | 1 |
Приложения и онлайн-сервисы
| Thinger.io Platform |
О проекте
Введение
Загрязнение воздуха в помещениях последовательно ранжируется Агентством по охране окружающей среды США (EPA) и его Научным советом среди пяти главных экологических рисков для общественного здоровья. Средний человек проводит около 90% времени в помещениях, поэтому плохое качество воздуха в помещениях (IAQ) представляет существенный риск для здоровья. Плохой воздух может вызывать кратковременные проблемы — утомляемость и тошноту, — а также хронические заболевания дыхательных путей, сердечно-сосудистые заболевания и рак лёгких. Оценки годовых затрат и потерь производительности в США от «синдрома больного здания» составляют от 10 до 20 миллиардов долларов. Этот синдром описывает острые проблемы со здоровьем и дискомфорт, связанные с плохим качеством воздуха и временем пребывания в здании.
В этом проекте представлена система мониторинга качества воздуха в помещениях. Система подключена к интернету, поэтому любой может удалённо просматривать индекс качества воздуха из любой точки мира.


Возможные области применения
- Дома и офисы
- Промышленность
- Дистанционный мониторинг для пожарных
- Наука и сельское хозяйство
- Больницы и клиники
- Отделения интенсивной терапии
Необходимые компоненты
- Широкий спектр IoT-плат с WiFi (MKR1000, Yún Rev2) и GSM/узкополосным подключением (MKR FOX 1200, MKR WAN 1300, MKR GSM 1400). Для прототипа использован Arduino Leonardo с Yun Shield
- Газовые датчики (MQ-2, MQ-3, MQ-7)
- Датчик качества воздуха (MQ-135)
- Android-устройство
- Платформа разработки мобильных приложений
- IoT-облако
- Перемычки
- Навыки программирования
- Arduino IDE / Arduino Web IDE
- Солнечная панель для «зелёного» питания
Схема подключения

Датчик качества воздуха: VCC → 5V Arduino, GND → GND, SIG → A3
MQ-2: VCC → 5V, GND → GND, SIG → A2
MQ-3: VCC → 5V, GND → GND, SIG → A1
Загрузка прошивки
Скачайте прошивку (исходный код) и загрузите её в Arduino. Перед загрузкой убедитесь, что все библиотеки подключены. О подключении Arduino Yun к интернету см. соответствующие руководства.
Git-репозиторий:
https://github.com/Mohammadsalahuddin/indoor_air_quality_monitoring.git
Подключение к облаку
Документация по подключению к thinger.io: https://docs.thinger.io/arduino
***Внимание***
Следуйте инструкциям по безопасности при работе с электроникой и датчиками газа.
Демонстрация

Планы на будущее
- Добавить индикатор на плате для отображения индекса качества воздуха
- Звуковой сигнал (зумер) при обнаружении высокого загрязнения
- Push-уведомления для предупреждения пользователей об опасной ситуации
Источники
- US Environmental Protection Agency (USEPA). Indoor air quality tools for schools Communications guide. https://www.epa.gov
- H.S. Brightman and N. Moss. Sick building syndrome studies and the compilation of normative and comparative values. Indoor Air Quality Handbook. Editors: J. D. Spengler, J. F. McCarthy, and J. M. Samet, New York: McGraw-Hill, 2001.
- J.-J. Kim, S.K. Jung, and J.T. Kim. Wireless monitoring of indoor air quality by a sensor network. Indoor and Built Environment, 19:1:145-150, 2010.
- thinger.io
- Arduino Yun
- Arduino.cc
- Grove- air quality sensor
- Grove gas sensor
Код
Исходный код для Arduino YunArduino
// Air Quality monitoring
#include <YunClient.h>
#include <ThingerYun.h> // Thinger.io cloud
#define USERNAME "YOUR_USER_NAME"
#define DEVICE_ID "YOUR_DEVICE_ID"
#define DEVICE_CREDENTIAL "YOUR_CREDENTIAL"
ThingerYun thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
// initialize bridge
Bridge.begin();
// resource output example (reading sensor value)
thing["LPG"] >> outputValue(analogRead(A0));
thing["CO2"] >> outputValue(analogRead(A1));
thing["CO"] >> outputValue(analogRead(A2));
thing["AIRQ"] >> outputValue(analogRead(A3));
// more details at https://docs.thinger.io/arduino/
}
void loop() {
thing.handle();
}
Пользовательские детали и корпуса
Git-репозиторий проекта
Содержит APK, исходники и другое.
https://github.com/Mohammadsalahuddin/indoor_air_quality_monitoring.git
Схемы
Схема подключения

Производственный процесс
- Крошечные датчики PM2.5 и VOC обеспечивают мониторинг личного качества воздуха в реальном времени
- Измерение качества воздуха с OpenSensors: руководство по Arduino и Python
- Система мониторинга качества воздуха Smart City на базе LoRa
- IoT-датчики революционизируют мониторинг загрязнения воздуха и охрану общественного здоровья
- IoT-мониторинг качества воздуха: безопасность, продуктивность и устойчивое развитие
- Использование IoT для построения передовых систем мониторинга качества воздуха в помещениях
- Промышленный IoT-мониторинг качества воздуха: повышение продуктивности и снижение затрат
- Как системы кондиционирования автомобиля обеспечивают прохладу и комфорт
- Пневмоподвеска (Air Suspension): устройство, виды пневмобаллонов, принцип работы, плюсы и минусы
- Системы впрыска воздуха: снижение выбросов в выхлопе