К нашему проекту можно подключиться собрав устройство самостоятельно, используя доступные в розничной и Интернет-торговле платы контроллеров и сенсоры. Список совместимых и рекомендованных компонентов со ссылками на интернет-магазины и описание приведен ниже. Приведенные ссылки актуальны на момент публикации материала, поэтому рекомендуем пользоваться поиском на сайтах интернет-магазинов для получения более свежей информации.
Перечень компонентов
Минимальный комплект состоит из модуля контроллера, сенсора пыли и сенсора погодных параметров.
Платы контроллера семейства ESP8266
NodeMCU ESP8266 (v3) | Aliexpress | Bangood |
Wemos D1 Mini | Aliexpress | Bangood |
Датчики пыли
PMS5003 | Aliexpress | Bangood |
PMS7003 | Aliexpress | Bangood |
SDS011 | Aliexpress | Bangood |
Датчики погоды (температура/влажность/давление)
BME280 (температура, влажность, давление) | Aliexpress | Bangood |
HTU21/Si7021 (температура, влажность) | Aliexpress | Bangood |
SHT30 (температура, влажность) | Aliexpress | Bangood |
Другие датчики и модули
DS1820 (температура) | Aliexpress | БелЧип |
DHT12/22 (температура, влажность) | Aliexpress | БелЧип |
MH-Z19 (CO2) | Aliexpress | Bangood |
CCS811/HDC1080 (eCO2, VOC, температура, влажность) | Aliexpress | Bangood |
SenseAir S8 (CO2) | Aliexpress | |
SSD-1306 OLED-экран | Aliexpress | БелЧип |
WS2812 (NeoPixel) Светодиод RGB | Aliexpress | БелЧип |
Шнур 40PIN | Белчип |
Соединение и подключение
Соединять микропроцессорный модуль с датчиками удобно при помощи набора монтажных проводов.
Схема подключения к плате NodeMCU | Схема подключения к плате Wemos D1 Mini |
Открыть во весь экран | Открыть на весь экран |
Для питания собранной схемы можно использовать стандартное зарядное устройство от большинства мобильных телефонов и кабель с разъемом microUSB.
Настройка и программирование
Для подключения к платформе AirMQ необходимо загрузить в модуль прошивку на базе открытого проекта ESPEasy. В приложенном ниже архиве содержится готовый двоичный образ, включающий в себя драйверы всех сенсоров, поддерживаемых системой. После загрузки прошивки устройство можно сконфигурировать и зарегистрировать при помощи мобильного приложения AirMQ.
Процедура настройки:
1. Скачайте архив с программой для первоначальной прошивки модуля и файлами прошивки Flasher.zip на локальный компьютер (Windows 32/64). Распакуйте файлы из архива на диск компьютера.
2. Подключите модуль NodeMCU или Wemos к компьютеру при помощи кабеля USB. На этом этапе датчик пыли должен быть отсоединен.
3. Запустите файл ESP.Easy.Flasher.exe
Убедитесь, что программа обнаружила СОМ-порт модуля
4. Выберите из списка Firmware файл прошивки
5. Нажмите кнопку
Начнется процесс загрузки файла во флэш-память модуля, сопровождающийся частым миганием синего светодиода. Примерное время загрузки будет указано в синем окне статуса.
6. После успешной загрузки прошивки светодиод перестанет мигать, и в окне статуса появится сообщение об успешном окончании:
7. Модуль перезагрузится и будет доступен для конфигурации при помощи мобильного приложения
Регистрация датчика
После успешной прошивки можно подключить датчики по одной из схем, затем подключить кабель USB к блоку питания и продолжить настройку при помощи мобильного приложения AirMQ по стандартной инструкции.
В дальнейшем при помощи мобильного приложения можно выполнить следующие действия:
- сброс настроек датчика, подключение к домашней сети WiFi
- регистрация нового датчика на карте
- загрузка новой прошивки и обновление конфигурации
HTTP API для публикации данных сенсоров
Адрес сервера – https://api-post.airmq.cc
На текущий момент доступны две точки входа HTTP API для публикации данных сенсоров:
- /api/v1 – для подключения устройств, использующих прошивку airrohr проекта sensor.community.
Для настройки сенсора необходимо отметить в конфигурационном интерфейсе сенсора “Send data to custom API” в разделе “APIs”, указать адрес (api-post.airmq.cc), путь (/api/v1) и порт (80)
- /api/v2 – упрощенный API для кастомных устройств
Публикация осуществляется HTTP методом POST, заголовок запроса должен содержать поле ‘Content-Type: application/json’. Тело запроса должно содержать JSON объект следующего формата:
{
"deviceId": "57:1F:D2:52:FE:79",
"PM1": 5,
"PM25": 8.3,
"PM10": 10.1,
"Temp": 4.75,
"Hum": 64.51,
"Press": 989.44
}
В качестве идентификатора устройства (deviceId) можно использовать MAC-адрес устройства либо т.н. сhip_id, который представляет собой три последних октета MAC-адреса, преобразованных в целое десятичное значение.
Поддерживаемые метрики:
- PM1 – измеренное значение частиц PM1, мкГ/м3
- PM25 – измеренное значение частиц PM2.5, мкГ/м3
- PM10 – измеренное значение частиц PM10, мкГ/м3
- Temp – измеренное значение температуры, °С
- Hum – измеренное значение влажности, %
- Press – измеренное значение атмосферного давления, гПа
- Count – измеренное значение фоновой радиоактивности, имп/мин
- redRg – измеренное значение фоновой радиоактивности, мкР/ч