Введение
Представьте: у вас на заводе или в умном доме сотня датчиков температуры, давления, влажности. Они шлют данные через MQTT-брокер — Mosquitto или EMQX. Обычно вы ведёте логи, рисуете графики в Grafana, настраиваете алерты вручную. А если нужно не просто смотреть, а анализировать в реальном времени, предсказывать отказы, автоматически управлять реле и кондиционерами? Традиционные панели управления (SCADA, Home Assistant) требуют ручного конфигурирования каждого сценария. ASI Biont решает эту задачу иначе: AI-агент сам пишет код интеграции, подписывается на топики MQTT, анализирует данные и принимает решения — без единой кнопки «добавить устройство».
MQTT (Message Queuing Telemetry Transport) — это лёгкий протокол publish/subscribe, созданный IBM в 1999 году для нефтепроводов. Сегодня он стал стандартом IoT: по данным Eclipse Foundation, 38% разработчиков выбирают MQTT для своих проектов. Mosquitto и EMQX — два самых популярных брокера с открытым исходным кодом. EMQX кластеризуется до миллионов подключений, Mosquitto прост и надёжен для малого бизнеса.
Как ASI Biont подключается к MQTT? Через execute_python: AI пишет Python-скрипт с библиотекой paho-mqtt, который выполняется в облачном sandbox ASI Biont. Вы просто описываете в чате: «Подключись к моему Mosquitto на 192.168.1.100:1883, подпишись на топик sensor/temperature и каждые 10 секунд анализируй данные». AI генерирует код, запускает его и начинает общение с брокером. Никаких дашбордов, никаких кнопок — только диалог.
Как это работает: архитектура интеграции MQTT с ASI Biont
MQTT-брокер (Mosquitto или EMQX) работает на вашем сервере, Raspberry Pi или в облаке. ASI Biont запускает Python-скрипт в sandbox-окружении (Railway), который подключается к брокеру через TCP. Для публикации команды AI использует industrial_command с protocol='mqtt' и command='publish', но для сложной логики (подписка с анализом) пишет полноценный скрипт.
Сценарий: ESP32 с датчиком DHT22 отправляет температуру и влажность каждые 5 секунд в топик sensor/dht22. ASI Biont подписывается на этот топик, проверяет, не превышает ли температура 30 °C, и если да — публикует команду в топик relay/control для включения вентилятора. Дополнительно AI отправляет уведомление в Telegram через requests.post к api.telegram.org.
Вот как выглядит запрос пользователя в чате:
«Подключись к MQTT-брокеру Mosquitto на 192.168.1.100:1883, без пароля. Подпишись на топик sensor/dht22. Если температура больше 30 °C, опубликуй в топик relay/control сообщение "ON", иначе "OFF". Также отправь мне уведомление в Telegram, если температура превысила 35 °C. Мой Telegram bot token: 123456:ABC, chat_id: 987654.»
AI генерирует следующий Python-скрипт и выполняет его в execute_python:
import paho.mqtt.client as mqtt
import requests
import json
import time
BROKER = "192.168.1.100"
PORT = 1883
TOPIC_SENSOR = "sensor/dht22"
TOPIC_RELAY = "relay/control"
TELEGRAM_TOKEN = "123456:ABC"
TELEGRAM_CHAT_ID = "987654"
def on_message(client, userdata, msg):
try:
data = json.loads(msg.payload.decode())
temperature = data.get("temperature", 0)
humidity = data.get("humidity", 0)
print(f"Получены данные: температура={temperature}, влажность={humidity}")
if temperature > 30:
client.publish(TOPIC_RELAY, "ON")
print("Опубликована команда ON в relay/control")
else:
client.publish(TOPIC_RELAY, "OFF")
print("Опубликована команда OFF в relay/control")
if temperature > 35:
msg_text = f"⚠️ Авария! Температура {temperature}°C превысила 35°C!"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": msg_text})
print("Отправлено уведомление в Telegram")
except Exception as e:
print(f"Ошибка обработки: {e}")
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC_SENSOR)
print("Подключились к брокеру, ожидаем сообщения...")
client.loop_start()
time.sleep(30) # sandbox ограничен 30 секундами
client.loop_stop()
client.disconnect()
print("Сессия завершена")
Важно: sandbox ASI Biont имеет таймаут 30 секунд, поэтому бесконечные циклы (while True) недопустимы. Для длительного мониторинга AI запускает сессию по расписанию (например, каждые 5 минут) или использует webhook-подход.
Реальный кейс: управление теплицей с ESP32, Mosquitto и ASI Biont
Проблема: Владелец небольшой теплицы на 50 м² использует ESP32 с датчиками DHT22 и реле для управления вентиляцией и поливом. Данные отправляются по MQTT на локальный Mosquitto. Раньше он вручную смотрел показания в MQTT Explorer и включал/выключал реле через веб-интерфейс ESP32. Это отнимало 2–3 часа в день, а при отъезде растения гибли.
Решение с ASI Biont: Пользователь описал задачу в чате:
«ESP32 шлёт JSON в топик greenhouse/sensors: {"temp": 28.5, "hum": 60, "soil": 40}. Мне нужно: если temp > 30 — включить вентилятор (топик greenhouse/actuators, сообщение "fan_on"), если temp < 20 — выключить. Если soil < 30 — включить полив на 10 секунд ("pump_on"), затем выключить. Также логируй все данные в CSV и раз в час присылай сводку в Telegram.»
AI сгенерировал скрипт, который подписывается на топик, анализирует каждое сообщение, публикует команды и сохраняет историю в CSV. Через час пользователь получил в Telegram отчёт:
📊 Сводка за последний час
Средняя температура: 27.3°C
Макс температура: 34.1°C (в 14:22 — включён вентилятор)
Средняя влажность: 55%
Полив: включён 3 раза по 10 секунд
Результаты:
- Ручное управление сокращено с 3 часов до 5 минут в день (проверка отчётов).
- Температура ни разу не превысила 35 °C (против 4 раз за предыдущую неделю).
- Расход воды снизился на 20% благодаря точному поливу по влажности почвы.
- Пользователь может уехать на неделю, не беспокоясь — AI управляет теплицей.
Сравнение с традиционными панелями управления
| Параметр | Традиционная SCADA / Home Assistant | ASI Biont + MQTT |
|---|---|---|
| Настройка сценария | Ручное программирование правил (Node-RED, YAML) | Описание на естественном языке в чате |
| Время развёртывания | Часы — дни | 30 секунд (AI пишет код) |
| Гибкость | Требуется установка новых интеграций | Любой Python-код — любые алгоритмы |
| Уведомления | Настройка через UI | AI сам выбирает канал (Telegram, email, Slack) |
| Обновление логики | Правка правил вручную | Изменить описание в чате — AI перепишет код |
| Стоимость лицензий | Тысячи долларов (SCADA) | Бесплатно (только подписка на AI) |
Как подключить MQTT-брокер к ASI Biont: пошаговая инструкция
- Зарегистрируйтесь на asibiont.com и войдите в дашборд.
- Откройте чат с AI-агентом.
- Опишите задачу, например: «Подключись к Mosquitto на 10.0.0.5:1883, username: iot, password: secret. Подпишись на топик factory/temperature. Если значение больше 80, опубликуй в топик factory/alarm сообщение "OVERHEAT" и отправь email на admin@example.com через SMTP.»
- AI сгенерирует код и выполнит его. Вы увидите логи в чате.
- При необходимости измените сценарий — просто напишите: «Добавь ещё условие: если влажность ниже 30, включи увлажнитель». AI обновит код.
Важно: Для защиты брокера используйте логин/пароль или TLS. ASI Biont поддерживает username/password и SSL/TLS через параметры paho-mqtt.
Почему это выгодно?
- Экономия времени: Не нужно изучать документацию paho-mqtt, писать и отлаживать код. AI делает это за секунды.
- Гибкость: Хотите анализировать данные с помощью numpy и строить графики matplotlib? Просто попросите AI — он добавит это в скрипт.
- Масштабирование: Один AI-агент может одновременно управлять сотнями MQTT-топиков, десятками ESP32 и Raspberry Pi.
- Безопасность: Код выполняется в изолированном sandbox без доступа к вашей локальной сети (кроме TCP-соединения к брокеру).
Заключение
MQTT — это кровеносная система IoT, а ASI Biont — мозг, который анализирует данные и принимает решения. Интеграция через execute_python с библиотекой paho-mqtt позволяет AI-агенту подключаться к любому MQTT-брокеру (Mosquitto, EMQX, HiveMQ) без дополнительных мостов и плагинов. Вы просто описываете задачу на русском языке, и AI сам пишет код, подписывается на топики, анализирует телеметрию и управляет устройствами.
Попробуйте сами: зайдите на asibiont.com, откройте чат и напишите: «Подключи мой Mosquitto и управляй умным домом». Увидите, как AI за 30 секунд напишет интеграцию, на которую у обычного разработчика ушёл бы день.
Комментарии