MQTT (Mosquitto, EMQX) и ASI Biont: AI-агент для телеметрии IoT без кода

Введение

MQTT — один из самых популярных протоколов для IoT. Mosquitto и EMQX используют для сбора данных с тысяч датчиков, управления умными домами и промышленными системами. Но что, если вы хотите не просто собирать телеметрию, а автоматически анализировать её в реальном времени, отправлять оповещения при аномалиях или управлять устройствами через Telegram? Для этого нужен AI-агент, который понимает данные и может действовать. ASI Biont подключается к любому MQTT-брокеру через paho-mqtt, пишет код интеграции сам и запускает его в облаке. Всё, что нужно — описать задачу в чате.

Как ASI Biont подключается к MQTT

ASI Biont использует execute_python — AI пишет Python-скрипт с библиотекой paho-mqtt, который выполняется в sandbox-окружении на сервере. Пользователь указывает адрес брокера, порт, логин и пароль (если требуется), топики для подписки и публикации. AI генерирует код, подключается к брокеру, подписывается на нужные топики, получает сообщения, анализирует их и при необходимости публикует команды обратно. Для быстрой проверки связи AI использует industrial_command с командой publish.

Почему именно execute_python?

  • Не нужно устанавливать ничего на своём ПК — код выполняется в облаке.
  • AI автоматически обрабатывает ошибки подключения, таймауты и переподключение.
  • Можно комбинировать MQTT с другими протоколами (HTTP, Telegram, базы данных) в одном скрипте.
  • Пользователь просто описывает задачу словами, AI пишет весь код.

Сценарий: ESP32 + DHT22 + Mosquitto + ASI Biont

Представьте: у вас есть ESP32 с датчиком температуры и влажности DHT22. Данные публикуются в топик home/temperature и home/humidity на локальном Mosquitto. Вы хотите, чтобы AI-агент:
- Подписался на эти топики.
- При каждом новом значении проверял, не вышла ли температура за пределы 18–30°C.
- Если температура выше 30°C — отправлял уведомление в Telegram и публиковал команду на включение вентилятора в топик home/fan.

Шаг 1. Настройка ESP32

ESP32 публикует данные через MQTT. Пример кода на Arduino:

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>

const char* mqtt_server = "192.168.1.100";
const char* topic_temp = "home/temperature";
const char* topic_hum = "home/humidity";

WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(4, DHT22);

void setup() {
  Serial.begin(115200);
  WiFi.begin("SSID", "password");
  while (WiFi.status() != WL_CONNECTED) delay(500);
  client.setServer(mqtt_server, 1883);
  dht.begin();
}

void loop() {
  if (!client.connected()) client.connect("ESP32Client");
  client.loop();
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (!isnan(t) && !isnan(h)) {
    client.publish(topic_temp, String(t).c_str());
    client.publish(topic_hum, String(h).c_str());
  }
  delay(5000);
}

Шаг 2. Подключение ASI Biont к Mosquitto

Пользователь пишет в чате: «Подпишись на home/temperature и home/humidity на брокере mqtt://192.168.1.100:1883. Если температура > 30°C, отправь мне в Telegram сообщение и опубликуй "ON" в home/fan».

AI генерирует и выполняет следующий Python-скрипт:

import paho.mqtt.client as mqtt
import requests
import json

BROKER = "192.168.1.100"
PORT = 1883
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"

def on_message(client, userdata, msg):
    topic = msg.topic
    value = float(msg.payload.decode())
    if topic == "home/temperature" and value > 30.0:
        # Отправка уведомления в Telegram
        text = f"⚠️ Температура {value}°C превысила 30°C!"
        requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
                      json={"chat_id": CHAT_ID, "text": text})
        # Публикация команды на включение вентилятора
        client.publish("home/fan", "ON")

mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect(BROKER, PORT, 60)
mqtt_client.subscribe("home/temperature")
mqtt_client.subscribe("home/humidity")
mqtt_client.loop_forever()

Важно: код не содержит бесконечного цикла while True — loop_forever() корректно обрабатывается sandbox с таймаутом 30 секунд. Для долгоживущих подписок AI использует асинхронный подход с asyncio.

Шаг 3. Проверка и автоматизация

После выполнения скрипта AI сообщает: «Подключение установлено. При превышении 30°C вы получите уведомление и вентилятор включится». Можно сразу проверить, нагрев датчик феном или рукой.

Реальные подводные камни

  • Таймаут sandbox: execute_python выполняется максимум 30 секунд. Для постоянного мониторинга AI использует циклические задачи или внешние триггеры (например, webhook от EMQX).
  • Безопасность: пароли от брокера и Telegram передаются в скрипт — не используйте публичные брокеры без TLS.
  • Формат данных: AI ожидает числовые значения в топиках. Если данные в JSON, нужно указать: «данные в формате {"temp": 25.5}».

Почему это выгодно

  • Не нужно писать код вручную: AI генерирует рабочий скрипт за секунды.
  • Мгновенная интеграция: не ждать обновлений от разработчиков платформы.
  • Гибкость: можно менять логику одной фразой: «Добавь лог в Google Sheets» или «Отправляй данные в InfluxDB».
  • Поддержка любых брокеров: Mosquitto, EMQX, HiveMQ, AWS IoT Core — AI подключается к любому MQTT 3.1.1/5.0.

Другие сценарии с MQTT

  • EMQX + промышленные датчики: AI подписывается на топики с вибрацией и температурой оборудования, анализирует тренды и предсказывает отказы.
  • Умный дом + Mosquitto: AI управляет освещением, климатом и жалюзи по голосовым командам через Telegram.
  • AWS IoT Core: AI подключается к облачному брокеру, собирает данные с тысяч устройств и визуализирует в Grafana.

Заключение

Интеграция MQTT с ASI Biont — это простой способ добавить AI-аналитику в вашу IoT-систему без программирования. Опишите задачу в чате, и AI сам подключится к любому брокеру, подпишется на топики, будет анализировать телеметрию и управлять устройствами. Попробуйте прямо сейчас на asibiont.com — создайте AI-агента и подключите свой первый MQTT-брокер за 5 минут.

← Все статьи

Комментарии

Читайте также

Двойная бронь: как гонка в записи была поймана и закрыта EXCLUDE-констрейнтом

1 августа 2026

Как я три года пилю свой музыкальный сервер: первая часть — хроника долгостроя, который работает

20 июля 2026

ERP и SAP — корпоративные системы управления ресурсами: как обучение на AI-платформе Asibiont открывает двери в мир крупного бизнеса

14 июля 2026

Почему многие цифровые трансформации терпят неудачу — и как курс «Цифровая трансформация — Бизнес-цифровая трансформация» готовит лидеров к успеху

30 июля 2026

DevOps и облачные технологии: как получить +35% к зарплате в 2026 году и стать востребованным инженером

13 июля 2026

Интеграция счётчиков энергии (Energy meters) с AI-агентом ASI Biont: снижаем счета за электроэнергию с помощью искусственного интеллекта

28 июля 2026

Роботы готовятся к своему моменту ChatGPT: стартап из Кремниевой долины переосмысляет ИИ в физическом мире

9 июля 2026

Промпт против скилла: я прогнал библиотеку промптов Anthropic и скилл grill-me — вот что работает на практике

5 июля 2026

15 промтов для Java-разработчика: от легаси-кода до высоконагруженных микросервисов

28 августа 2026