Введение
MQTT (Message Queuing Telemetry Transport) — один из самых востребованных протоколов для интернета вещей. Он был разработан в 1999 году компанией IBM для телеметрии на нефтепроводах, а сегодня его используют все крупные облачные платформы: AWS IoT Core, Azure IoT Hub, Google Cloud IoT. Брокеры Mosquitto и EMQX стали стандартом в отрасли, обеспечивая передачу данных от датчиков к системам управления. Но поток сырых данных не приносит пользы, пока его некому проанализировать и превратить в действия. Именно здесь появляется AI-агент ASI Biont.
ASI Biont — это агент, который подключается к внешним устройствам через диалог на естественном языке. Вместо сложных панелей управления и ручного написания интеграций вы просто описываете задачу в чате, а агент сам генерирует и запускает Python-код. Для MQTT это означает, что подключение брокера занимает минуту, а не день. В статье мы разберём архитектуру подключения, сравним Mosquitto и EMQX, покажем пример кода и объясним, как автоматизация умного дома и производства становится делом нескольких сообщений.
Зачем подключать AI-агент к MQTT-брокеру?
MQTT работает по модели publish-subscribe: устройства публикуют сообщения в тематические каналы (топики), а подписчики получают эти сообщения в реальном времени. Это позволяет строить гибкие распределённые системы. Однако классический подписчик — это либо человек, либо скрипт с фиксированной логикой. AI-агент добавляет слой интеллекта:
- Мониторинг и аномалии. Агент анализирует значения датчиков, выявляет отклонения и может отправить уведомление через Telegram (например, с помощью requests.post к api.telegram.org).
- Автоматизация. Объединяя данные из нескольких топиков, агент принимает контекстные решения: «если температура в комнате выше 25 °C, а окно закрыто — включи кондиционер».
- Голосовое и текстовое управление. Написав «выключи свет на кухне», вы получите действие, которое агент выполнит публикацией в топик
lights/kitchen/setзначенияfalse.
Всю логику пишет AI, а не разработчик. Причём ASI Biont делает это не через готовый плагин, а генерируя код под конкретный сценарий.
Как ASI Biont подключается к MQTT-брокеру
Для MQTT ASI Biont использует стандартную Python-библиотеку paho-mqtt (документация: paho-mqtt.readthedocs.io). Подключение происходит через чат: вы описываете адрес брокера, порт, топики и параметры аутентификации, а агент пишет и выполняет скрипт в sandbox. Никаких предварительно встроенных коннекторов — каждый раз создаётся новый код под вашу задачу. Это даёт гибкость: можно переключаться между Mosquitto и EMQX, менять QoS, добавлять TLS, не меняя общую архитектуру.
Важно: для MQTT не требуется Hardware Bridge (bridge.py), так как это Ethernet-протокол. Hardware Bridge используется только для COM-портов (RS-232/RS-485) и скачивается из дашборда ASI Biont. Для MQTT достаточно IP-адреса и порта.
Архитектура подключения
Система с MQTT и ASI Biont строится по следующей схеме:
+----------------+ publish +------------------+ subscribe +----------------+
| Датчики/ | ----------------> | MQTT Broker | <------------- | ASI Biont |
| Устройства | | (Mosquitto/ | | AI-агент |
+----------------+
| /EMQX) | +----------------+
+------------------+
Устройства публикуют данные в топики, а ASI Biont подписывается на них. После анализа агент может публиковать команды в топики управления. Плюс такой схемы — устройство никогда не «знает» об интеллектуальном агенте. Это позволяет заменять оборудование, добавлять новые датчики и масштабировать систему без остановки.
Для надёжной доставки сообщений используется три уровня QoS (Quality of Service): 0 — максимум один раз, 1 — как минимум один раз, 2 — ровно один раз. В производственных сценариях рекомендуют QoS 1, а для критически важных команд — QoS 2.
Пример кода: умный дом на Mosquitto
Рассмотрим сценарий: датчик температуры публикует данные в топик sensors/temperature, а ASI Biont должен включить реле вентилятора в топике actuators/relay, если температура выше 25 °C. Ниже — Python-код, который генерирует агент для выполнения в песочнице. Здесь нет бесконечного цикла — скрипт завершается за установленный таймаут.
import paho.mqtt.client as mqtt
import time
BROKER = "192.168.1.50"
PORT = 1883
TOPIC_TEMP = "sensors/temperature"
TOPIC_RELAY = "actuators/relay"
def on_message(client, userdata, msg):
try:
temp = float(msg.payload.decode())
if temp > 25:
client.publish(TOPIC_RELAY, "ON", qos=1)
else:
client.publish(TOPIC_RELAY, "OFF", qos=1)
except ValueError:
pass
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC_TEMP)
client.loop_start()
time.sleep(10) # ожидание в пределах таймаута sandbox
client.loop_stop()
client.disconnect()
Это упрощённая версия. В реальности ASI Biont добавляет обработку ошибок, проверку соединения и логирование в чат. Но главное — вы видите, как мало кода нужно для полноценной интеграции.
Сравнение Mosquitto и EMQX
Выбор брокера зависит от вашего масштаба. Ниже сравнительная таблица на основе официальных сайтов mosquitto.org и emqx.io.
| Критерий | Mosquitto | EMQX |
|---|---|---|
| Лицензия | EPL-2.0 / BSD | Apache 2.0 (open source) |
| Язык реализации | C | Erlang/OTP |
| Максимальное число подключений | до 100 000 на узел | миллионы в кластере |
| Поддержка MQTT 5.0 | Да | Да |
| Кластеризация | Ограниченная, ручная | Встроенная, автоматическая |
| Расширяемость | Плагины на C | Правила, Data Integration, Webhooks |
| Потребление RAM | от 5–10 МБ | от 200 МБ и выше |
| Сложность развёртывания | Низкая | Средняя |
| Типовые сценарии | Умный дом, Edge-тесты | Промышленный IoT, большие телеметрии |
Вывод прост. Для домашнего проекта или лабораторного стенда Mosquitto запускается одной командой и потребляет минимум ресурсов. Для производственного уровня с потоком миллионов сообщений лучше подходит EMQX с его встроенной кластеризацией и мониторингом. Оба брокера отлично работают с ASI Biont, потому что агент общается через стандартный MQTT.
Автоматизация производства: ещё один сценарий
Связка MQTT + AI-агент применяется не только в жилых домах. На производстве станки публикуют в топики данные о вибрации, температуре подшипников, времени работы. ASI Biont подписывается на factory/cnc_1/status и работает как прогнозирующий аналитик. Если уровень вибрации резко вырос, агент публикует emergency_stop в топик factory/cnc_1/control и уведомляет персонал в Telegram через HTTP API. Это позволяет реализовать предиктивное обслуживание без дорогой SCADA-системы.
Как подключить MQTT-брокер к ASI Biont за пять шагов
- Перейдите на asibiont.com и создайте нового агента.
- В чате напишите: «Подключись к MQTT-брокеру по адресу 192.168.0.5:1883, подписка на топик plant/telemetry».
- Агент уточнит параметры: логин, пароль, тип данных, необходимость TLS.
- После уточнения ASI Biont сгенерирует Python-скрипт с
paho-mqttи запустит его в sandbox. - Вы увидите поток сообщений в чате — агент начнёт анализировать данные и отвечать на вопросы.
Никаких панелей управления, файлов конфигурации или кнопок «Добавить устройство». Всё делается через диалог.
Универсальная интеграция через execute_python
Важная особенность ASI Biont — поддержка универсального метода execute_python. Это значит, что агент может подключиться к любому устройству и протоколу, если для него существует Python-библиотека. Нужно просто описать в чате параметры подключения: IP-адрес, порт, baud rate, API-ключ или путь к устройству. AI-агент сам выберет подходящую библиотеку: pyserial, paramiko, paho-mqtt, pymodbus, aiohttp, opcua-asyncio и т.д. Такой подход избавляет от ожидания, когда разработчики добавят официальную интеграцию для вашего устройства. Подключайте что угодно прямо сейчас.
Полезные советы при настройке
- Для локальной разработки разрешите анонимный доступ в Mosquitto:
allow_anonymous true,listener 1883. Для продакшена обязательно используйте логин/пароль и TLS. - Если брокер работает по WebSocket (порт 8080/8083), ASI Biont также сможет подключиться через клиент
paho-mqttс параметромtransport="websockets". - При использовании QoS 1 не забывайте обрабатывать дубликаты сообщений в коде, который генерирует AI.
- Для долгосрочных задач ASI Biont может запускать скрипты периодически по расписанию, а не держать постоянное соединение.
Почему это будущее интеграций
Традиционная интеграция IoT-устройства занимает дни: нужно написать код, протестировать, задеплоить. AI-агент делает это в чате, подстраиваясь под конкретный брокер и устройство. Вы можете изменить топик, сменить брокера, добавить новое правило — достаточно описать это агенту. Он перепишет логику за секунды. Комбинируя MQTT с HTTP API, базами данных и другими источниками, ASI Biont становится «мозгом» вашей IoT-инфраструктуры. Всё это уже работает на платформе asibiont.com.
Заключение
MQTT — это стандартный «язык» умных устройств. AI-агент ASI Biont превращает его в полноценного помощника, который слушает датчики, анализирует данные и управляет исполнительными механизмами. Благодаря прямой поддержке paho-mqtt и универсальному execute_python, вы можете подключить к агенту любой MQTT-брокер — будь то лёгкий Mosquitto для умного дома или мощный EMQX для промышленного IoT. Интеграция больше не требует команды разработчиков: просто опишите задачу в чате на asibiont.com, и через минуту вы получите работающую автоматизацию.
Попробуйте сами: зайдите на asibiont.com, создайте агента и попросите его подключиться к вашему MQTT-брокеру. Через минуту вы увидите, как AI-агент начнёт следить за данными и принимать решения. Это уже не будущее — это инструмент, доступный сегодня.
Комментарии