Введение
Современный промышленный IoT — это не просто сбор данных с датчиков, а интеллектуальная обработка телеметрии в реальном времени. Однако классическая схема требует ручного написания кода для каждого устройства: нужно настроить MQTT-брокер, написать скрипт подписки, реализовать логику триггеров, интегрировать уведомления… На всё это уходят дни.
AI-агент ASI Biont меняет правила игры. Теперь вы просто описываете в чате, какие датчики у вас есть (температура, влажность, давление), к какому MQTT-брокеру их подключить, и какие реакции нужны (уведомления в Telegram, запись в базу данных, включение вентиляции). AI самостоятельно пишет Python-код, выполняет его в защищённом sandbox-окружении и начинает мониторинг. Никаких панелей управления, кнопок «добавить устройство» — только диалог с AI.
В этой статье на примере умного склада разберём, как подключить датчики Sensors & telemetry к ASI Biont через MQTT, настроить автоматическую реакцию на аномалии и почему это в десятки раз быстрее традиционного подхода.
Почему MQTT — лучший протокол для датчиков на складе
MQTT (Message Queuing Telemetry Transport) — это лёгкий протокол publish/subscribe, разработанный для IoT-устройств с ограниченными ресурсами. Он работает поверх TCP/IP и требует минимального трафика, что идеально для батарейных датчиков. По данным Eclipse Foundation, MQTT используется в 70% промышленных IoT-проектов (источник: Eclipse IoT Developer Survey 2025).
Для умного склада, где десятки датчиков передают показания каждые 30-60 секунд, MQTT обеспечивает:
- Низкую задержку — сообщения доставляются за миллисекунды.
- Надёжность — три уровня QoS (0, 1, 2).
- Масштабируемость — один брокер может обслуживать тысячи устройств.
- Безопасность — поддержка TLS и аутентификации.
ASI Biont подключается к MQTT-брокеру двумя способами:
1. execute_python — AI пишет Python-скрипт с библиотекой paho-mqtt и запускает его в облачном sandbox. Скрипт может подписываться на топики, публиковать команды, анализировать данные и вызывать внешние API (Telegram, базы данных).
2. industrial_command — для быстрой проверки: AI может отправить единичную команду publish, чтобы, например, включить реле.
В нашем сценарии используем execute_python, так как нужен постоянный мониторинг и автоматизация.
Сценарий: умный склад с контролем температуры и влажности
Оборудование
- ESP32 с датчиком DHT22 (температура и влажность) — отправляет данные по MQTT в топик
warehouse/sensor1/temperatureиwarehouse/sensor1/humidity. - ESP32 с датчиком BMP280 (давление) — топик
warehouse/sensor1/pressure. - MQTT-брокер — например, Mosquitto, работающий на сервере с IP 192.168.1.100, порт 1883 (без TLS для простоты).
- ASI Biont — AI-агент, развёрнутый в облаке (Railway), который выполняет скрипты в sandbox.
Что нужно сделать пользователю
Пользователь открывает чат с ASI Biont и пишет примерно так:
«Подключись к MQTT-брокеру 192.168.1.100:1883, подпишись на топики warehouse/sensor1/#, читай данные температуры, влажности и давления. Если температура превышает 30°C или влажность падает ниже 40%, отправь уведомление в Telegram-бота (токен: 123456:ABC-DEF, chat_id: 987654). Также записывай все сырые данные в PostgreSQL базу warehouse_data (host: 192.168.1.200, user: iot, password: pass, database: iot_db). Выполни скрипт сразу.»
AI агент анализирует запрос, генерирует Python-код и выполняет его. Весь процесс занимает 5–10 секунд.
Пример сгенерированного кода
import paho.mqtt.client as mqtt
import requests
import psycopg2
import json
from datetime import datetime
# Настройки MQTT
BROKER = "192.168.1.100"
PORT = 1883
TOPIC = "warehouse/sensor1/#"
# Telegram
TG_TOKEN = "123456:ABC-DEF"
TG_CHAT_ID = "987654"
def send_telegram(message):
url = f"https://api.telegram.org/bot{TG_TOKEN}/sendMessage"
requests.post(url, json={"chat_id": TG_CHAT_ID, "text": message})
# PostgreSQL
conn = psycopg2.connect(host="192.168.1.200", user="iot", password="pass", dbname="iot_db")
cursor = conn.cursor()
# Глобальные переменные для последних значений
last_temp = None
last_hum = None
def on_message(client, userdata, msg):
global last_temp, last_hum
topic = msg.topic
payload = msg.payload.decode()
# Запись в БД
cursor.execute(
"INSERT INTO sensor_data (topic, value, timestamp) VALUES (%s, %s, %s)",
(topic, payload, datetime.now())
)
conn.commit()
# Парсинг значений
if "temperature" in topic:
last_temp = float(payload)
elif "humidity" in topic:
last_hum = float(payload)
# Проверка аномалий
if last_temp is not None and last_temp > 30.0:
send_telegram(f"⚠️ Температура превышена: {last_temp}°C (порог 30°C)")
if last_hum is not None and last_hum < 40.0:
send_telegram(f"⚠️ Влажность упала: {last_hum}% (порог 40%)")
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC)
client.loop_start()
# Держим скрипт активным 25 секунд (sandbox таймаут - 30 сек)
import time
time.sleep(25)
client.loop_stop()
cursor.close()
conn.close()
Комментарий: код не содержит бесконечных циклов, используется loop_start() в отдельном потоке и time.sleep(25) для удержания скрипта в пределах таймаута sandbox. При необходимости более длительного мониторинга AI может развернуть скрипт как микросервис через HTTP API или запланировать повторный запуск.
Результат
- Каждое сообщение от датчиков записывается в PostgreSQL.
- При превышении температуры выше 30°C или падении влажности ниже 40% в Telegram приходит мгновенное уведомление.
- Все действия выполняются без ручного написания кода — AI сделал интеграцию за секунды.
Альтернативные сценарии для Sensors & telemetry
1. Оповещение о давлении с использованием Modbus
Если датчик давления подключён к промышленному контроллеру по Modbus/TCP, AI может использовать industrial_command с протоколом modbus для чтения регистров:
industrial_command(protocol='modbus', command='read_registers', params={'host': '192.168.1.50', 'port': 502, 'slave': 1, 'address': 0, 'count': 2})
Далее AI анализирует полученное значение и публикует его в MQTT или отправляет уведомление.
2. Локальное подключение через Hardware Bridge
Если датчики подключены к Arduino по COM-порту (например, аналоговый датчик давления), AI использует bridge.py. Пользователь запускает bridge на своём ПК, указывает порт COM3 и baud 115200, а затем в чате пишет:
«Прочитай данные с COM3, распарсь как два float: температура и давление, если давление выше 1013 гПа — включи светодиод на пине 13.»
AI отправляет serial_write_and_read(data="READ\n") через industrial_command, получает ответ и анализирует.
3. Веб-панель для визуализации
AI может сгенерировать HTML-дашборд на основе данных из PostgreSQL и развернуть его через статический файл. Пользователь просто просит:
«Создай веб-страницу с графиками температуры и влажности за последние 24 часа.»
AI использует matplotlib для построения графиков и сохраняет HTML-файл, который можно открыть в браузере.
Почему это выгодно
Традиционная интеграция MQTT + датчики + уведомления требует:
- Написания Python-скрипта (минимум 50-100 строк).
- Настройки PostgreSQL (создание таблиц, пользователей).
- Настройки Telegram-бота (получение токена, тестирование).
- Поиска багов в логике триггеров.
Всё это занимает от 2 до 8 часов. С ASI Biont — 5 секунд на описание задачи и ещё 5 секунд на выполнение. AI уже знает все типовые паттерны: как парсить JSON, как экранировать SQL, как обрабатывать ошибки соединения.
Более того, ASI Biont подключается к любому устройству через execute_python — не нужно ждать, пока разработчики добавят поддержку нового датчика. Вы просто описываете протокол (MQTT, Modbus, HTTP, OPC UA) и параметры, AI сам пишет код интеграции.
Заключение
MQTT-интеграция с AI-агентом ASI Biont превращает сбор телеметрии с датчиков в интуитивно понятный процесс. Вместо того чтобы тратить часы на программирование, вы формулируете задачу на естественном языке — и AI реализует её за секунды.
Умный склад, мониторинг холодильных камер, контроль чистых помещений — любой сценарий Sensors & telemetry теперь доступен без единой строки кода.
Попробуйте сами: перейдите на asibiont.com, создайте API-ключ, скачайте bridge.py из дашборда и подключите свои датчики прямо сейчас.
Дополнительные материалы:
- Eclipse IoT Developer Survey 2025 — статистика использования MQTT.
- Документация paho-mqtt: pypi.org/project/paho-mqtt.
- Примеры интеграции ASI Biont с другими протоколами — в блоге asibiont.com/blog.
Комментарии