MQ-* газовые сенсоры + AI-агент ASI Biont: мониторинг воздуха и автоматизация через Telegram
Введение
Газовые сенсоры семейства MQ-* (MQ-2, MQ-3, MQ-4, MQ-5, MQ-6, MQ-7, MQ-8, MQ-9, MQ-135) — одни из самых популярных датчиков в DIY-проектах и промышленной автоматизации. Они детектируют широкий спектр газов: метан, пропан, водород, угарный газ, аммиак, бензол, CO2 и другие. Однако просто «пищать» или выводить показания на LCD-экран — мало. Настоящая ценность появляется, когда данные с MQ-сенсоров попадают в умную систему, способную анализировать, оповещать и управлять исполнительными механизмами.
AI-агент ASI Biont решает эту задачу без единой строки кода, написанной вручную. Достаточно описать в чате, что у вас есть ESP32 с MQ-135, и AI сам сгенерирует прошивку, настроит MQTT-соединение, создаст триггеры для оповещений в Telegram и управления вентиляцией. В этой статье мы разберём, как подключить MQ-* сенсоры к ASI Biont, используя ESP32 и протокол MQTT, и покажем реальный сценарий: детекция утечки газа → оповещение в Telegram + включение вытяжки.
Что такое MQ-* сенсоры и зачем их подключать к AI-агенту?
Семейство MQ-* — это аналоговые газовые сенсоры на основе металлооксидного полупроводника. Каждый тип настроен на определённый газ или группу газов:
| Модель | Обнаруживаемые газы | Типовое применение |
|---|---|---|
| MQ-2 | Метан, пропан, водород | Утечка бытового газа |
| MQ-3 | Этанол, спирт | Алкотестеры |
| MQ-4 | Метан, природный газ | Промышленная безопасность |
| MQ-5 | LPG, природный газ | Детекторы утечек |
| MQ-6 | LPG, пропан | Кухонные детекторы |
| MQ-7 | CO (угарный газ) | Пожарная безопасность |
| MQ-8 | H₂ (водород) | Аккумуляторные комнаты |
| MQ-9 | CO, горючие газы | Котельные |
| MQ-135 | CO₂, аммиак, бензол | Качество воздуха в помещениях |
Подключение к AI-агенту даёт:
- Автоматический анализ — AI интерпретирует показания, выявляет тренды, предсказывает превышение порогов.
- Мгновенные оповещения — Telegram, email, SMS при опасных концентрациях.
- Управление оборудованием — включение вентиляции, клапанов, сигнализации.
- Безопасность 24/7 — AI не спит и не отвлекается.
Как ASI Biont подключается к MQ-* сенсорам?
Для интеграции MQ- сенсоров с ASI Biont используется связка: ESP32 + MQTT + ASI Biont*. Почему именно MQTT?
- Простота — ESP32 легко программируется (Arduino IDE, PlatformIO, MicroPython).
- Лёгкий протокол — MQTT идеален для IoT-устройств с ограниченным питанием.
- Надёжность — даже при обрыве связи данные не теряются (QoS 1/2).
- Совместимость — ASI Biont поддерживает MQTT через execute_python с библиотекой paho-mqtt.
Альтернативный способ — прямое подключение через COM-порт (если ESP32 подключён к ПК по USB). В этом случае используется Hardware Bridge (bridge.py). Но для автономной работы MQTT удобнее.
Пошаговая интеграция: от ESP32 до Telegram-уведомлений
Шаг 1. Прошивка ESP32
Пользователь описывает задачу в чате ASI Biont:
«ESP32 с датчиком MQ-135 на пине GPIO34. Нужно публиковать показания в MQTT каждые 10 секунд. Брокер — test.mosquitto.org, топик — gas/mq135. Используй MicroPython.»
AI генерирует прошивку на MicroPython:
# boot.py — автоматически запускается при старте ESP32
import network
import time
import json
from machine import Pin, ADC
from umqtt.simple import MQTTClient
# Настройка Wi-Fi
SSID = 'your_wifi'
PASSWORD = 'your_password'
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
time.sleep(1)
# Настройка MQTT
MQTT_BROKER = 'test.mosquitto.org'
TOPIC = 'gas/mq135'
client = MQTTClient('esp32_mq135', MQTT_BROKER)
client.connect()
# Настройка ADC для MQ-135
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB) # 0-3.3V
while True:
raw_value = adc.read() # 0-4095
# Простая калибровка: ppm = 116.6020682 * (raw_value/4095.0)^-2.769034857
# (коэффициенты из даташита MQ-135 для CO2)
voltage = raw_value / 4095.0 * 3.3
ppm = 116.6020682 * (voltage)**-2.769034857
payload = json.dumps({'ppm': round(ppm, 1), 'raw': raw_value})
client.publish(TOPIC, payload)
time.sleep(10)
AI также может предложить готовую прошивку на C++ (Arduino) — всё зависит от предпочтений пользователя.
Шаг 2. Настройка ASI Biont для приёма данных
Пользователь говорит:
«Подключись к MQTT брокеру test.mosquitto.org, подпишись на топик gas/mq135 и читай показания каждые 10 секунд.»
AI пишет и выполняет Python-скрипт (через execute_python):
import paho.mqtt.client as mqtt
import json
def on_message(client, userdata, msg):
data = json.loads(msg.payload)
ppm = data['ppm']
print(f'CO2 concentration: {ppm} ppm')
# Здесь AI может анализировать данные, сохранять в БД, отправлять уведомления
if ppm > 1000:
# Превышение порога — отправляем команду на включение вентиляции
client.publish('actuators/exhaust_fan', 'ON')
# Уведомление в Telegram (через отдельный скрипт)
client = mqtt.Client()
client.on_message = on_message
client.connect('test.mosquitto.org', 1883, 60)
client.subscribe('gas/mq135')
client.loop_forever()
Шаг 3. Создание триггеров и уведомлений
Теперь пользователь добавляет логику:
«Если CO2 превышает 1500 ppm — отправь предупреждение в Telegram группу. Если превышает 2000 ppm — отправь команду на включение рекуператора через MQTT.»
AI модифицирует скрипт, добавляя отправку сообщений через Telegram Bot API:
import requests
TELEGRAM_BOT_TOKEN = 'your_bot_token'
TELEGRAM_CHAT_ID = '-1001234567890'
def send_telegram_alert(text):
url = f'https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage'
payload = {'chat_id': TELEGRAM_CHAT_ID, 'text': text}
requests.post(url, json=payload)
# Внутри on_message:
if ppm > 1500:
send_telegram_alert(f'⚠️ CO2 превысил 1500 ppm! Текущее значение: {ppm} ppm')
if ppm > 2000:
client.publish('actuators/rekuperator', 'ON')
Шаг 4. Дополнительная автоматизация
Пользователь может попросить:
«Веди лог показаний в Google Sheets каждые 10 минут.»
«Если концентрация CO2 падает ниже 400 ppm — выключи рекуператор.»
«Отправляй ежедневный отчёт в Telegram в 8 утра.»
AI реализует это через execute_python, используя библиотеки для работы с Google Sheets (gspread), cron-подобные триггеры (через time.sleep) или планировщик (APScheduler, если доступен).
Реальный бизнес-кейс: умная теплица
Проблема: В теплице с огурцами CO2 может подниматься до 2000 ppm (оптимально — 800-1000). Избыток CO2 замедляет фотосинтез и снижает урожайность.
Решение: Установили ESP32 с MQ-135, подключили к ASI Biont через MQTT. AI настроил:
- При CO2 > 1200 ppm — открытие форточки (через сервопривод, управляемый MQTT).
- При CO2 > 1500 ppm — включение приточной вентиляции.
- Telegram-уведомления агроному при аномалиях.
- Ежедневная статистика по CO2, температуре и влажности.
Результат: Урожайность выросла на 12% за счёт поддержания оптимального микроклимата. Время реакции на аварийные ситуации сократилось с часов до секунд.
Почему стоит использовать ASI Biont?
- No-code конфигурация — не нужно писать интеграционный код вручную. Всё делает AI по вашему описанию.
- Универсальность — подключается к любому устройству: ESP32, Raspberry Pi, PLC, Arduino, GPS-трекеру.
- Мгновенная интеграция — от запроса до рабочего скрипта проходит 1-2 минуты.
- Гибкость — вы можете менять логику на лету, просто описывая новые условия в чате.
- Безопасность — данные не уходят на сторонние серверы (если используете локальный MQTT-брокер).
Заключение
Газовые сенсоры MQ-* — это мощный инструмент для мониторинга воздуха, но их потенциал раскрывается только в связке с интеллектуальной системой. ASI Biont превращает «сырые» данные с MQ-135, MQ-2 или MQ-7 в полноценную систему безопасности и автоматизации. Вы получаете:
- Детекцию утечек газа с оповещением в Telegram.
- Управление вентиляцией, клапанами и сигнализацией.
- Анализ трендов и прогнозирование.
- Полный контроль через чат.
Попробуйте сами: подключите ESP32 с MQ-* сенсором к ASI Biont и создайте свою систему мониторинга воздуха за 10 минут. Переходите на asibiont.com и начните интеграцию прямо сейчас.
Комментарии