Введение: почему умный газоанализатор на базе AI — это не роскошь, а необходимость
Сенсоры семейства MQ-* — это не просто компоненты для хобби-проектов. MQ-2, MQ-7 и MQ-135 — одни из самых популярных датчиков для детекции угарного газа (CO), метана, пропана, дыма и аммиака. Согласно данным ВОЗ, загрязнение воздуха внутри помещений ежегодно становится причиной 3,2 миллиона преждевременных смертей, а утечки бытового газа — одна из главных причин пожаров. Однако подключить такой сенсор к облачной системе — лишь полдела. Настоящая ценность — в автоматизации: когда AI не просто собирает данные, а анализирует тренды, сравнивает показания с порогами и самостоятельно принимает решения. ASI Biont делает это без единой строки кода со стороны пользователя. Достаточно описать задачу в чате — и AI-агент сам напишет скрипт интеграции, подключится к вашему оборудованию и настроит логику.
Как ASI Biont подключается к MQ-сенсорам: от ESP32 до COM-порта
ASI Biont поддерживает несколько способов интеграции с газовыми датчиками. Выбор зависит от того, как именно вы считываете данные с MQ-сенсора. Ниже — сводная таблица реально поддерживаемых способов.
| Способ подключения | Устройство на стороне пользователя | Интерфейс | Что делает AI |
|---|---|---|---|
| Hardware Bridge + COM-порт | Arduino/ESP32 подключен по USB к ПК | RS-232 через bridge.py | Читает сырые аналоговые значения (ADC), калибрует, отправляет команды |
| MQTT | ESP32 с Wi-Fi и MQTT-клиентом | paho-mqtt в execute_python | Подписывается на топики с данными, публикует команды |
| execute_python (любой API) | ESP32 с HTTP-сервером | aiohttp/requests | Опрашивает REST API датчика, анализирует JSON |
Почему MQTT — оптимальный выбор для MQ-сенсоров? Современные микроконтроллеры ESP32 с прошивкой на MicroPython или Arduino IDE легко поднимают MQTT-клиент. Это даёт двустороннюю связь: датчик публикует показания, а AI-агент может отправлять команды (например, включить вентиляцию или сирену).
Сценарий 1: ESP32 + MQ-135 → AI-мониторинг качества воздуха с уведомлением в Telegram
Задача: Установить датчик MQ-135 в квартире или офисе. При превышении уровня CO₂ или обнаружении дыма AI отправляет предупреждение в Telegram и включает реле для принудительной вентиляции.
Шаг 1. Прошивка ESP32
Пользователь загружает на ESP32 следующий код на MicroPython (этот код можно сгенерировать прямо в чате с ASI Biont, описав задачу):
import network
import time
from machine import Pin, ADC
import ujson
from umqtt.simple import MQTTClient
# Настройки
WIFI_SSID = "home_network"
WIFI_PASS = "your_password"
MQTT_BROKER = "test.mosquitto.org"
CLIENT_ID = "mq135_sensor_01"
TOPIC_DATA = "home/air_quality"
# Инициализация сенсора
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB) # диапазон 0-3.3V
# Подключение к Wi-Fi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
while not wlan.isconnected():
time.sleep(1)
client = MQTTClient(CLIENT_ID, MQTT_BROKER)
client.connect()
while True:
raw_value = adc.read() # 0-4095
voltage = raw_value * 3.3 / 4095
# Простейшая калибровка: ppm = (voltage - 0.1) * 100 (не точная, только для демонстрации)
ppm_estimate = max(0, (voltage - 0.1) * 100)
payload = ujson.dumps({"raw": raw_value, "voltage": round(voltage, 2), "ppm": round(ppm_estimate, 1)})
client.publish(TOPIC_DATA, payload)
time.sleep(10)
Шаг 2. Подключение к ASI Biont через MQTT
Пользователь открывает чат с AI-агентом и пишет:
«Подключись к MQTT-брокеру test.mosquitto.org, подпишись на топик home/air_quality. Получай данные с датчика MQ-135. Если значение ppm превышает 400 — отправь мне уведомление в Telegram через мой бот. Если ppm > 700 — опубликуй в топик home/ventilation команду ON.»
AI-агент генерирует и выполняет следующий скрипт в sandbox-окружении:
import paho.mqtt.client as mqtt
import requests
import json
import time
TELEGRAM_TOKEN = "ваш_токен"
TELEGRAM_CHAT_ID = "ваш_chat_id"
def on_message(client, userdata, msg):
try:
data = json.loads(msg.payload.decode())
ppm = data.get("ppm", 0)
if ppm > 400:
text = f"⚠️ Внимание! Уровень загрязнения: {ppm} ppm"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text})
if ppm > 700:
client.publish("home/ventilation", "ON")
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": "🔴 Критический уровень! Вентиляция включена."})
except Exception as e:
print(f"Ошибка обработки: {e}")
mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect("test.mosquitto.org", 1883, 60)
mqtt_client.subscribe("home/air_quality")
mqtt_client.loop_start()
time.sleep(600) # работаем 10 минут
mqtt_client.loop_stop()
Результат: через 10 секунд после запуска AI уже мониторит воздух. При первом же превышении порога в 400 ppm приходит Telegram-уведомление. Всё — без ручного написания API-запросов и настройки триггеров.
Сценарий 2: Arduino + MQ-2 через Hardware Bridge (COM-порт)
Если ESP32 нет, а есть классическая Arduino Uno с датчиком MQ-2 (детекция метана, пропана, дыма), подключение идёт через Hardware Bridge. Пользователь скачивает bridge.py из дашборда ASI Biont (раздел Devices → Create API Key) и запускает на своём ПК:
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=9600
Далее в чате пользователь пишет:
«Подключись к bridge, устройство на COM3, baud 9600. Каждые 30 секунд читай аналоговый пин A0 с Arduino. Если значение > 500 — отправь в Telegram предупреждение о задымлении.»
AI использует industrial_command с serial:// протоколом:
industrial_command(protocol="serial://COM3", command="read_adc", data="524541440a")
Bridge отправляет hex-строку в порт, Arduino отвечает значением ADC, AI анализирует его и при необходимости отправляет уведомление.
Почему это выгодно: AI-агент вместо ручного кодирования
Традиционный подход требует от разработчика: написать прошивку для ESP32, настроить MQTT-клиент, написать парсер данных, реализовать отправку в Telegram, настроить триггеры. С ASI Biont всё это делает AI-агент за секунды. Пользователь лишь описывает задачу естественным языком. Это особенно важно для промышленных сценариев, где время на настройку автоматизации критично — например, при детекции утечки газа на производстве или в лаборатории.
Практические выводы и рекомендации
- Для бытового мониторинга (квартира, гараж) — используйте ESP32 + MQTT + ASI Biont. Это даёт полную автоматизацию и уведомления в Telegram.
- Для лабораторных и промышленных задач — подключайте Arduino/промышленный контроллер через COM-порт и Hardware Bridge. AI получает сырые данные и может управлять исполнительными механизмами.
- Калибровка — ключ к точности. MQ-сенсоры требуют прогрева (24-48 часов) и калибровки по чистому воздуху. AI может автоматически выполнять калибровку при старте, если вы опишете алгоритм.
- Безопасность превыше всего. В сценариях с детекцией утечек газа обязательно настраивайте несколько уровней оповещения: предупреждение, критический уровень, аварийное отключение.
Заключение
Интеграция MQ-сенсоров с AI-агентом ASI Biont — это не просто «умный датчик», а полноценная система автоматизированного мониторинга и реагирования. Вы больше не пишете код для каждого триггера и не настраиваете вручную уведомления. Достаточно описать задачу в чате — и AI сам подключается к вашему оборудованию, анализирует данные и принимает решения. Попробуйте интеграцию на asibiont.com и убедитесь, что AI-автоматизация промышленных и бытовых сценариев доступна каждому.
Комментарии