ESP32 и AI-агент ASI Biont: полное руководство по интеграции через MQTT и WebSocket для умного дома и IoT

Введение

Микроконтроллер ESP32 стал де-факто стандартом для DIY-проектов, умного дома и промышленного IoT. Его низкая стоимость (около $5), встроенный Wi-Fi/Bluetooth и поддержка различных протоколов сделали его незаменимым для прототипирования. Однако управление ESP32 в реальных сценариях часто требует написания сложного кода, настройки MQTT-брокеров, интеграции с облачными сервисами и автоматизации. AI-агент ASI Biont решает эту задачу: он подключается к ESP32 через MQTT или WebSocket, анализирует данные с датчиков, принимает решения и управляет исполнительными устройствами — всё через простой диалог в чате без написания кода вручную.

В этой статье мы на примере сборки ESP32 + DHT22 + реле покажем, как настроить интеграцию, написать автоматизацию и управлять умным домом голосом или по расписанию.

Почему ESP32?

Согласно отчёту IoT Analytics за 2025 год, ESP32 занимает более 35% рынка микроконтроллеров для IoT-проектов благодаря:
- Двум ядрам Tensilica LX6 (240 МГц)
- 4 MB Flash и 520 KB SRAM
- Встроенному Wi-Fi 802.11 b/g/n и Bluetooth 4.2/5.0
- Поддержке MQTT, HTTP, WebSocket, CoAP
- Низкому энергопотреблению (глубокий сон ~5 мкА)

Для интеграции с AI-агентом ESP32 подходит как целевое устройство: он может отправлять показания датчиков, принимать команды и выполнять их локально.

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

ASI Biont поддерживает несколько способов подключения, но для ESP32 наиболее эффективны:

Способ Протокол Когда использовать
MQTT (paho-mqtt) TCP/IP Удалённое управление, облачный брокер, масштабирование
WebSocket (aiohttp) TCP/IP Низкая задержка, двусторонняя связь
COM-порт (Hardware Bridge) Serial Отладка, локальное управление через USB
SSH (paramiko) TCP/IP Управление через ESP32-сервер (ESP32 как веб-сервер)

В нашем сценарии используем MQTT — он де-факто стандарт для IoT, поддерживается ESP32 из коробки и позволяет ASI Biont подписываться на топики датчиков и публиковать команды реле.

Сценарий: умный термостат с AI-аналитикой

Проблема: Офисное помещение (50 м²) имеет нестабильную температуру из-за старой системы отопления. Сотрудники жалуются на духоту или холод, но регулировать вручную некому.

Решение: Собираем ESP32 с датчиком DHT22 (температура/влажность) и реле, которое управляет электрообогревателем. Подключаем ESP32 к MQTT-брокеру (например, Mosquitto на Raspberry Pi). ASI Biont подписывается на топик с данными датчика, анализирует тренды, и при выходе за границы (18°C–24°C) публикует команду включения/выключения реле.

Шаг 1. Прошивка ESP32

Устанавливаем PlatformIO или Arduino IDE. Загружаем скетч, который:
- Читает DHT22 каждые 10 секунд
- Публикует данные в топик office/temperature и office/humidity
- Подписывается на топик office/heater для управления реле

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

#define DHTPIN 4
#define DHTTYPE DHT22
#define RELAYPIN 5

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
const char* mqtt_server = "192.168.1.100"; // IP брокера

WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  pinMode(RELAYPIN, OUTPUT);
  digitalWrite(RELAYPIN, LOW);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
  dht.begin();
}

void callback(char* topic, byte* payload, unsigned int length) {
  String message = "";
  for (int i = 0; i < length; i++) message += (char)payload[i];
  if (String(topic) == "office/heater") {
    digitalWrite(RELAYPIN, message == "ON" ? HIGH : LOW);
  }
}

void loop() {
  if (!client.connected()) {
    client.connect("ESP32_Office");
    client.subscribe("office/heater");
  }
  client.loop();

  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (!isnan(t) && !isnan(h)) {
    client.publish("office/temperature", String(t).c_str());
    client.publish("office/humidity", String(h).c_str());
  }
  delay(10000);
}

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

Пользователь в чате ASI Biont пишет:

«Подключись к MQTT-брокеру по адресу 192.168.1.100, порт 1883. Подпишись на топик office/temperature. Если температура выходит за пределы 18–24°C, опубликуй в топик office/heater команду ON или OFF. Также отправляй уведомление в Telegram каждые 30 минут с текущими показаниями.»

AI-агент генерирует Python-скрипт, который выполняется в sandbox-окружении ASI Biont:

import paho.mqtt.client as mqtt
import requests
import time

BROKER = "192.168.1.100"
PORT = 1883
TOPIC_TEMP = "office/temperature"
TOPIC_HEATER = "office/heater"
TELEGRAM_TOKEN = "your_token"
CHAT_ID = "your_chat_id"

def on_message(client, userdata, msg):
    temp = float(msg.payload.decode())
    if temp < 18:
        client.publish(TOPIC_HEATER, "ON")
        requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
                      json={"chat_id": CHAT_ID, "text": f"Температура {temp}°C — включаю обогрев"})
    elif temp > 24:
        client.publish(TOPIC_HEATER, "OFF")
        requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
                      json={"chat_id": CHAT_ID, "text": f"Температура {temp}°C — выключаю обогрев"})

mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect(BROKER, PORT, 60)
mqtt_client.subscribe(TOPIC_TEMP)
mqtt_client.loop_start()

# Ждём 30 минут и отправляем сводку (для примера — 10 итераций по 3 секунды)
for _ in range(10):
    time.sleep(3)

Этот код выполняется в sandbox (таймаут 30 секунд), поэтому для длительной работы нужно настроить периодическое выполнение через industrial_command с помощью schedule или использовать встроенный планировщик ASI Biont.

Шаг 3. Автоматизация и голосовое управление

ASI Biont поддерживает AI-конструктор сценариев без программирования. Например, можно создать правило:

  • Триггер: Новое сообщение в топике office/temperature со значением > 24°C
  • Действие: Опубликовать OFF в office/heater и отправить Telegram-уведомление

Также через WebSocket можно реализовать голосовое управление: произнести «Включи обогрев в офисе» — AI-агент распознаёт команду и публикует ON в соответствующий топик.

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

Экономия времени: Вместо написания интеграционного кода (MQTT-клиент, парсинг, логика, уведомления) пользователь просто описывает задачу на естественном языке. AI-агент генерирует и выполняет код за секунды.

Гибкость: Поддерживаются любые протоколы (MQTT, Modbus, OPC-UA, HTTP, WebSocket) и любые устройства — не нужно ждать обновления прошивки или выхода нового драйвера.

Масштабирование: Можно управлять сотнями ESP32-устройств из одного чата, создавать сложные цепочки автоматизации (например, если температура в офисе > 25°C и влажность < 30%, включить увлажнитель и отправить отчёт в Google Sheets).

Пример другого сценария: ESP32-CAM + компьютерное зрение

ESP32-CAM — камера на базе ESP32. ASI Biont подключается к ней через HTTP-сервер (ESP32-CAM запускает веб-сервер с MJPEG-потоком). AI-агент использует aiohttp для получения кадров, запускает модель компьютерного зрения (например, YOLOv8 через torch или onnxruntime) и детектирует объекты.

Пример запроса в чате:

«Подключись к ESP32-CAM по адресу 192.168.1.101, порт 80. Получай кадры каждые 5 секунд и проверяй, есть ли на них человек. Если человек обнаружен, отправь фото в Telegram и включи реле на GPIO 2.»

AI-агент генерирует код с aiohttp, opencv-python-headless и torch — всё выполняется в sandbox.

Заключение

Интеграция ESP32 с AI-агентом ASI Biont открывает безграничные возможности для автоматизации: от простого термостата до сложных систем видеоаналитики. Вам не нужно писать интеграционный код — достаточно описать задачу в чате, и AI-агент сам подключится к устройству, соберёт данные и реализует логику.

Попробуйте прямо сейчас: заходите на asibiont.com, подключайте ваш ESP32 и управляйте умным домом с помощью AI.

← Все статьи

Комментарии

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

7 промтов для RAG-систем: индексация, поиск и генерация в 2026 году

14 июля 2026

Как подключить VGA output (ESP32 + DAC) к AI-агенту ASI Biont: практический гайд по интеграции дисплеев с нейросетью

14 июля 2026

Освойте веб-безопасность с ИИ: предотвратите SQL-инъекции, XSS и создавайте безопасные приложения — обзор курса Asibiont

14 июля 2026

Освойте ИИ в 2026 году: почему «Нейронные сети для начинающих» — ваш ключ к ChatGPT, Midjourney и Claude

14 июля 2026

Как AI-агент ASI Biont автоматизирует 70% задач HubSpot CRM: анализ бенчмарков 2026 года

14 июля 2026

Почему Performance per Watt — главный показатель эффективности AI-инфраструктуры

14 июля 2026

Как заставить Claude перестать говорить «load-bearing»: решение на 2026 год

14 июля 2026

Как AI-агент ASI Biont автоматизирует модерацию и уведомления в Discord: пошаговое руководство без кода

14 июля 2026

15 ТБ пикселей: Как устроен крупнейший доступный мир Minecraft и при чём тут Vibe Coding

14 июля 2026