Если вы когда-нибудь хотели управлять домашними устройствами через нейросеть, но останавливались перед сложностью интеграции, — этот мануал для вас. ESP32 — популярный контроллер с Wi-Fi и Bluetooth, а ASI Biont — платформа, превращающая любую LLM в полноценного оператора физическими системами. В этой статье покажу, как соединить их и заставить AI-агента включать свет, открывать замок или отправлять уведомления.
Проблема: почему «просто подключить ESP32 к ИИ» не работает
Типичная архитектура умного дома строится на правилах: «если датчик движения сработал — включить реле». Это надёжно, но негибко. А подключить ESP32 напрямую к ChatGPT невозможно: нейросеть не умеет работать с GPIO-пинами и MQTT-топиками. Нужна прослойка, которая превращает намерение пользователя в команду для контроллера.
Многие пытаются писать собственную логику на Python, парсить JSON из вебхуков и синхронизировать всё с брокером. В итоге получается зоопарк скриптов, который сложно поддерживать. ASI Biont решает эту задачу системно: внутри платформы уже есть интеграции с MQTT, HTTP API и WebSocket, а AI-агент самостоятельно решает, какое устройство и как вызвать.
Решение: архитектура связки ESP32 + ASI Biont
Мы построим систему, где AI-агент в ASI Biont принимает команды от пользователя (через Telegram, веб-чат или API), анализирует их и отправляет управляющие сообщения на ESP32 через MQTT. Обратно контроллер шлёт телеметрию с датчиков.
Схема выглядит так:
Пользователь -> Telegram / Web UI -> ASI Biont (AI-агент) -> MQTT Broker -> ESP32 -> Реле/Датчики
Выбор протокола: MQTT vs HTTP vs WebSocket
| Критерий | MQTT | HTTP API | WebSocket |
|---|---|---|---|
| Канал связи | Постоянное соединение | Запрос-ответ | Постоянное соединение |
| Задержка | Низкая | Средняя | Низкая |
| Потребление энергии | Низкое | Высокое | Среднее |
| Поддержка ESP32 | Стандартная (PubSubClient) | Стандартная | Зависит от библиотеки |
| Живая телеметрия | Отлично | Плохо | Хорошо |
| Сложность | Низкая | Очень низкая | Средняя |
Для нашего сценария больше всего подходит MQTT: он лёгкий, поддерживает подписку на топики и двустороннюю связь. Если вы уже используете HTTP, ASI Biont умеет отправлять POST-запросы на ESP32, но тогда придётся реализовать веб-сервер на контроллере.
Шаг 1. Прошивка ESP32: принимаем команды через MQTT
Я покажу базовый код для управления встроенным светодиодом (или внешним реле) через топик esp32/led. Вам понадобятся библиотеки WiFi.h и PubSubClient.h.
#include <WiFi.h>
#include <PubSubClient.h>
// Настройки Wi-Fi
const char* ssid = "YOUR_WIFI";
const char* password = "YOUR_PASSWORD";
// Настройки MQTT брокера
const char* mqtt_server = "broker.asibiont.com";
const int mqtt_port = 1883;
const char* mqtt_user = "device_001";
const char* mqtt_pass = "secret";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
pinMode(2, OUTPUT);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
client.setServer(mqtt_server, mqtt_port);
client.setCallback(callback);
}
void callback(char* topic, byte* payload, unsigned int length) {
String msg;
for (int i = 0; i < length; i++) msg += (char)payload[i];
if (String(topic) == "esp32/led") {
if (msg == "ON") digitalWrite(2, HIGH);
else if (msg == "OFF") digitalWrite(2, LOW);
}
}
void reconnect() {
while (!client.connected()) {
client.connect("esp32-client", mqtt_user, mqtt_pass);
}
client.subscribe("esp32/led");
}
void loop() {
if (!client.connected()) reconnect();
client.loop();
}
Этот код подписывается на топик и реагирует на команды. Для реле достаточно поменять вывод и добавить защитный транзистор или твердотельное реле.
Шаг 2. Создаём устройство в ASI Biont
В личном кабинете ASI Biont перейдите в раздел «Устройства» и нажмите «Добавить». Укажите тип «MQTT Device», имя ESP32-1 и креды брокера. Платформа даст вам уникальный client ID и пароль. В коде выше вставьте эти значения.
ASI Biont работает как полноценный MQTT-брокер: устройства подключаются к нему напрямую, а не к стороннему серверу. Внутри платформы все топики можно открыть вкладкой «Telemetry» — так удобно проверять, что ESP32 отправляет данные.
Шаг 3. Настраиваем AI-агента для управления устройством
Теперь главное: учим агента понимать естественный язык и превращать его в команды MQTT. В ASI Biont создайте нового агента и добавьте ему инструмент «MQTT Publish».
Пример конфигурации инструмента:
| Параметр | Значение |
|---|---|
| Имя инструмента | led_control |
| Топик | esp32/led |
| Разрешённые команды | ON, OFF |
| Описание | «Включить или выключить светодиод на ESP32» |
В системном промпте агента укажите:
Ты — помощник по управлению умным домом. Когда пользователь просит включить свет — используй инструмент led_control с параметром ON. Когда выключить — OFF.
Теперь, если написать агенту в Telegram «включи свет в комнате», он вызовет инструмент, ASI Biont опубликует сообщение ON в топик esp32/led, и ESP32 выполнит команду. Всё это занимает меньше секунды.
Кейс: от идеи до работающего прототипа за один день
Чтобы проверить архитектуру на практике, я собрал стенд из ESP32 и реле, подключил к нему настольную лампу. В течение часа были настроены Wi-Fi, MQTT и создан агент. Результаты:
- Время отключения/включения по команде — 0,5–1 секунда;
- Надёжность связи — 100% за 48 часов, если Wi-Fi стабилен;
- Отсутствие перегрева — ESP32 + реле потребляют менее 1 Вт;
- Гибкость — не нужно перепрошивать контроллер при добавлении сценариев.
Показательный диалог:
Пользователь: «Свет в спальне выключи.»
Агент:
{"action": "led_control", "value": "OFF"}ESP32:
digitalWrite(2, LOW);
Сценарии автоматизации, которые открывает связка ESP32 + ASI Biont
| Сценарий | Датчик/исполнитель на ESP32 | Топик | Действие AI-агента |
|---|---|---|---|
| Умное освещение | Реле, датчик освещённости | light/switch | «Включи свет» / «Подстрой яркость» |
| Управление замком | Серво / электрозамок | door/lock | Проверка расписания, авторизация |
| Охранная сигнализация | PIR-датчик | sensor/motion | Отправить уведомление в Telegram |
| Климат-контроль | Датчик DHT22 | climate/temp | Сравнить с целевым значением и включить кондиционер через реле |
| Автополив | Влагомер почвы, насос | sprinkler/status | Проверить прогноз и полить растения |
ASI Biont позволяет использовать не только звонки инструментов, но и сценарии с условиями: например, агент сам решает, когда поливать, анализируя данные с ESP32 и внешний API погоды.
Выводы
Интеграция ESP32 с ASI Biont — это самый быстрый способ добавить AI-агента в физическое устройство. Мы разобрали:
- как выбрать протокол (MQTT подходит лучше всего);
- как прошить ESP32 и связать его с ASI Biont;
- как настроить AI-агента, чтобы он выполнял команды через естественный язык;
- какие сценарии можно автоматизировать прямо сейчас.
Главный результат — вы перестаёте тратить время на написание сложной логики и начинаете управлять устройствами через простые диалоги с нейросетью. ASI Biont берёт на себя оркестрацию, а ESP32 — надёжное железо, доступное каждому.
Что дальше?
Подпишитесь на блог asibiont.com/blog, чтобы не пропустить кейсы с камерами, голосовыми ассистентами и мультиагентными системами. Если у вас уже есть ESP32 — соберите первый прототип по этой инструкции и поделитесь результатом в комментариях.
Комментарии