ESP32 — один из самых популярных микроконтроллеров для IoT и умного дома. Но его программирование требует времени: нужно писать прошивку, настраивать Wi-Fi, MQTT, обработку команд. А что, если вы сможете управлять ESP32 через обычный чат, просто описав задачу словами? Именно это делает ASI Biont — AI-агент, который сам пишет код интеграции и подключается к вашему устройству. Никаких панелей управления, никаких кнопок «добавить устройство» — только диалог с AI.
В этой статье мы разберём два основных способа подключения ESP32 к ASI Biont: через MQTT (наиболее гибкий) и через Hardware Bridge (для прямого управления по COM-порту). Покажем реальные сценарии и код, который AI генерирует за секунды.
Как ASI Biont подключается к ESP32?
ASI Biont не требует установки агента на само устройство. AI работает в облаке и общается с ESP32 через один из поддерживаемых протоколов. Для ESP32 наиболее актуальны:
| Способ | Описание | Подходит для |
|---|---|---|
| MQTT | AI использует execute_python с библиотекой paho-mqtt для публикации и подписки на топики. ESP32 должен быть подключён к тому же MQTT-брокеру (например, Mosquitto, HiveMQ Cloud). |
Умный дом, удалённый мониторинг, системы сбора данных |
| Hardware Bridge | Пользователь запускает bridge.py на ПК, который соединяется с ASI Biont через WebSocket. AI отправляет команды serial_write_and_read через COM-порт, к которому подключён ESP32 по USB-UART. |
Быстрые эксперименты, отладка, управление без Wi-Fi |
| HTTP API | Если на ESP32 запущен веб-сервер, AI может отправлять HTTP-запросы через aiohttp или requests (в execute_python). |
Управление через REST, интеграция с облачными сервисами |
В этой статье мы сосредоточимся на MQTT — наиболее универсальном и надёжном варианте.
Сценарий 1: Управление светодиодом через MQTT
Представьте, что у вас есть ESP32 с подключённым светодиодом на GPIO2. Микроконтроллер уже прошит базовой прошивкой, которая подписывается на топик esp32/led и включает/выключает светодиод по командам ON или OFF. Задача: попросить AI-агента включить светодиод.
Пользователь пишет в чат ASI Biont:
Подключись к моему MQTT-брокеру по адресу
mqtt.example.com:1883, отправь командуONв топикesp32/led.
AI-агент автоматически генерирует и выполняет следующий Python-код в своём sandbox-окружении:
import paho.mqtt.client as mqtt
broker = "mqtt.example.com"
port = 1883
topic = "esp32/led"
message = "ON"
client = mqtt.Client()
client.connect(broker, port, 60)
client.publish(topic, message)
client.disconnect()
Код выполняется, и светодиод загорается. Всё — никакой ручной настройки, AI сам написал скрипт и подключился к брокеру.
Что нужно от пользователя?
Только параметры подключения: адрес брокера, порт, топик. Если брокер требует логин и пароль — просто укажите их в чате. AI использует paho-mqtt с поддержкой аутентификации и TLS.
Сценарий 2: Сбор данных с датчика DHT22 и уведомления в Telegram
Допустим, ваш ESP32 с датчиком DHT22 раз в 10 секунд публикует температуру и влажность в топик esp32/sensor. Вы хотите, чтобы AI-агент следил за показаниями и отправлял вам уведомление в Telegram, если температура превышает 30°C.
Пользователь описывает задачу:
Подпишись на топик
esp32/sensorмоего MQTT-брокераmqtt.example.com, читай JSON-сообщения. Если температура больше 30, отправь мне уведомление в Telegram. Мой Telegram bot token:123456:ABC, chat_id:987654.
AI генерирует код:
import paho.mqtt.client as mqtt
import json
import requests
BROKER = "mqtt.example.com"
TOPIC = "esp32/sensor"
BOT_TOKEN = "123456:ABC"
CHAT_ID = "987654"
def on_message(client, userdata, msg):
data = json.loads(msg.payload)
temperature = data.get("temperature")
if temperature and temperature > 30:
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": f"⚠️ Температура превысила 30°C: {temperature}°C"}
)
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC)
client.loop_start() # Асинхронный loop, не блокирует sandbox (таймаут 30 сек)
# Примечание: в реальном sandbox таймаут 30 секунд, но loop_start работает в фоне
AI сразу запускает скрипт, подписывается на топик и начинает мониторинг. Как только температура превышает порог — вы получаете сообщение в Telegram.
Сценарий 3: Прямое управление через Hardware Bridge (COM-порт)
Если у вас нет Wi-Fi, или вы хотите управлять ESP32 напрямую через USB-UART, используйте Hardware Bridge. Пользователь скачивает bridge.py из дашборда ASI Biont и запускает:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
Bridge подключается к облаку через WebSocket. Теперь в чате можно отправлять команды, например:
industrial_command(protocol='serial://COM3', command='serial_write_and_read', params={"data": "LED_ON\n"})
AI преобразует это в hex-строку и отправляет на bridge. Bridge пишет в COM-порт и читает ответ. ESP32, прошитый для приёма команд по UART, включает светодиод и отвечает OK.
Пользователю не нужно знать hex или протокол — он просто пишет: «Включи светодиод на ESP32, который висит на COM3 с baud 115200». AI сам формирует команду.
Почему это выгодно?
- Время: интеграция занимает секунды вместо часов ручного кодирования.
- Гибкость: вы можете комбинировать ESP32 с любыми другими устройствами — умными розетками, контроллерами, датчиками — в единой системе под управлением AI.
- Безопасность: код выполняется в sandbox, bridge использует WebSocket с токеном, MQTT-подключения защищены паролями.
- Без знаний программирования: достаточно описать задачу на естественном языке.
Начните прямо сейчас
Подключите свой ESP32 к ASI Biont — просто зайдите на asibiont.com, зарегистрируйтесь и опишите в чате, какое устройство и как подключить. AI сам напишет код и выполнит интеграцию. Никаких панелей, только диалог.
Попробуйте — и вы удивитесь, насколько быстро AI может управлять вашим железом!
Комментарии