Интеграция ESP32 с AI-агентом ASI Biont: MQTT, COM-порт и автоматизация без кода
ESP32 — один из самых популярных микроконтроллеров для IoT: встроенный Wi-Fi/Bluetooth, низкая цена, богатая периферия. Но когда проект превращается в десятки устройств с разными протоколами, встаёт задача централизованного сбора данных и умного управления. Традиционно нужно писать собственный бэкенд, разбираться с MQTT-брокерами, вебхуками, парсингом. AI-агент ASI Biont решает эту проблему — вы просто описываете задачу на естественном языке, а нейросеть самостоятельно генерирует код интеграции, подключается к ESP32 и начинает обрабатывать данные.
В этой статье мы разберём два самых распространённых способа подключения ESP32 к ASI Biont:
* MQTT — когда ESP32 обменивается сообщениями через брокер;
* COM-порт (Hardware Bridge) — если ESP32 подключен по USB/UART и вы хотите напрямую читать/писать данные.
Все примеры кода — реальные, проверенные в песочнице ASI Biont. Вы увидите, как AI-агент за секунды создаёт рабочий код, который раньше пришлось бы писать часами.
Почему именно ASI Biont?
ASI Biont — это AI-агент, который выполняет код в облачной песочнице и имеет доступ к десяткам промышленных библиотек (paho-mqtt, pymodbus, paramiko, opcua-asyncio и другим). Вам не нужно устанавливать дополнительное ПО на свой компьютер (кроме bridge.py для COM-порта) — всё делается через чат. Вы пишете:
«Подключись к MQTT-брокеру 192.168.1.100:1883, подпишись на топик esp32/sensor, распарси JSON с температурой и влажностью, и если температура выше 30°C, отправь мне уведомление в Telegram»
ASI Biont сам генерирует скрипт, выполняет его и сообщает результат. Никаких панелей управления, кнопок «добавить устройство» — только диалог.
1. Подключение ESP32 через MQTT
MQTT — стандартный протокол для IoT. ESP32 может отправлять данные с датчиков (DHT22, BME280, DS18B20) и принимать команды на управление реле, светодиодами, сервоприводами.
Как это работает с ASI Biont
- Пользователь запускает на ESP32 прошивку, которая подключается к MQTT-брокеру (например, Mosquitto или HiveMQ Cloud).
- В чате ASI Biont описывает параметры брокера и желаемую логику.
- AI-агент пишет Python-скрипт с библиотекой
paho-mqtt, запускает его в своей песочнице (execute_python). - Скрипт подключается к брокеру, подписывается на нужный топик, обрабатывает данные и выполняет действия (отправка в Telegram, запись в БД, управление другим устройством).
Пример: мониторинг температуры и влажности
Допустим, ESP32 каждые 10 секунд публикует JSON:
{"temp": 25.4, "hum": 60.2}
в топик esp32/sensor. Задача: если температура больше 30°C — отправить уведомление в Telegram.
Пользователь пишет в чат ASI Biont:
«Подключись к MQTT брокеру по адресу test.mosquitto.org:1883, подпишись на топик esp32/sensor, каждые 10 секунд получай данные, парси JSON, проверяй температуру. Если >30, отправь сообщение в Telegram @mybot c текстом «Температура превышена!». Используй execute_python.»
AI-агент генерирует и выполняет следующий код (упрощённо):
import paho.mqtt.client as mqtt
import json
import requests
import time
TELEGRAM_BOT_TOKEN = "123456:ABC-DEF"
TELEGRAM_CHAT_ID = "123456789"
# Эта функция вызывается при получении сообщения
def on_message(client, userdata, msg):
try:
data = json.loads(msg.payload.decode())
temp = data.get("temp")
if temp and temp > 30:
text = f"Температура превышена! {temp}°C"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text})
except Exception as e:
print(f"Error: {e}")
client = mqtt.Client()
client.on_message = on_message
client.connect("test.mosquitto.org", 1883, 60)
client.subscribe("esp32/sensor")
# Ждём сообщений 30 секунд (макс. время работы песочницы)
client.loop_start()
time.sleep(30)
client.loop_stop()
Важно: в песочнице ASI Biont запрещены бесконечные циклы (while True), поэтому код использует time.sleep() с разумным лимитом. Если требуется постоянный мониторинг, AI-агент может запускать скрипт периодически через планировщик (эта возможность пока в разработке) или использовать industrial_command для разовой публикации команд.
Альтернатива: отправка команд на ESP32 через MQTT
Если нужно управлять реле или светодиодом, AI-агент может опубликовать команду в топик esp32/cmd:
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("test.mosquitto.org", 1883, 60)
client.publish("esp32/cmd", '{"relay": 1}')
Это делает industrial_command с протоколом mqtt:
industrial_command(protocol='mqtt', command='publish', host='test.mosquitto.org', port=1883, topic='esp32/cmd', message='{"relay": 1}')
2. Подключение ESP32 через COM-порт (Hardware Bridge)
Если ESP32 подключён к компьютеру по USB (например, для отладки или работы в режиме AT-команд), ASI Biont может взаимодействовать с ним напрямую через Hardware Bridge.
Что такое Hardware Bridge?
Это скрипт bridge.py, который пользователь запускает на своём ПК. Он соединяется с облачным AI-агентом через WebSocket и предоставляет доступ к COM-портам. Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
Установка и запуск bridge
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=115200
После запуска bridge ждёт команд от AI-агента.
Пример: запрос данных с ESP32
Допустим, ESP32 принимает команду READ_TEMP и отвечает строкой Temperature: 25.4. Пользователь пишет в чат:
«Подключись к ESP32 через COM-порт COM3 на скорости 115200, отправь команду READ_TEMP и покажи ответ.»
AI-агент использует industrial_command с протоколом serial:
industrial_command(protocol='serial', command='serial_write_and_read', data='524541445f54454d500a', port='COM3', baud=115200)
Здесь data — это hex-строка команды READ_TEMP + \n. Bridge отправляет её в порт, считывает ответ и возвращает AI-агенту. Пользователь видит результат в чате:
«Ответ от ESP32: Temperature: 25.4»
Обработка ошибок на Windows
Bridge автоматически обрабатывает проблемы с overlapped I/O (CancelIoEx, PurgeComm). Если на Windows запись возвращает 0 байт, bridge переключается на синхронный WriteFile. Это обеспечивает стабильную работу даже с нестандартными USB-UART переходниками.
3. Реальные сценарии автоматизации
CLI-управление ESP32 через ASI Biont
Инженер на производстве: «Каждые 5 минут читай температуру с ESP32 по MQTT, записывай в CSV и отправляй отчёт в Telegram в конце дня.»
AI-агент создаёт комплексный скрипт: подписка на топик, накопление данных, построение графика (matplotlib) и отправка файла.
Умный дом без сервера
«ESP32 с датчиком движения отправляет MQTT-сообщение при обнаружении. Если в доме никого нет (определяю по состоянию выключателя), отправь уведомление на телефон.»
ASI Biont интегрирует данные с нескольких ESP32, анализирует их и принимает решения.
Резервное копирование данных с COM-порта
«Читай все данные, которые приходят на COM3 от ESP32, и сохраняй в Google Sheets через API.»
AI-агент пишет скрипт, который через bridge получает данные, а через execute_python отправляет их в Google Sheets.
Почему это выгодно?
- Экономия времени: AI пишет код за секунды. Ошибки в синтаксисе или логике — AI их сразу исправляет, пока не получит работающий результат.
- Никакой рутины: не нужно настраивать виртуальные окружения, искать документацию по библиотекам, отлаживать подключение — AI делает всё сам.
- Гибкость: подключайте любые устройства — ESP32, Arduino, Raspberry Pi, PLC — через MQTT, Modbus, COM, HTTP. ASI Biont поддерживает десятки протоколов и библиотек.
- Единый интерфейс: все интеграции управляются через чат, не нужно переключаться между дашбордами.
Заключение
ESP32 и AI-агент ASI Biont — идеальная пара для быстрого прототипирования и автоматизации IoT-решений. Вместо того чтобы писать и отлаживать код вручную, просто опишите задачу на русском языке — и нейросеть всё сделает за вас. Попробуйте прямо сейчас: создайте API-ключ в дашборде, скачайте bridge (для COM-порта) или подключитесь по MQTT — и управляйте ESP32 с помощью AI.
Переходите на asibiont.com и начните интеграцию уже сегодня.
Комментарии