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

Введение

ESP32 — один из самых популярных микроконтроллеров для IoT-проектов: он имеет Wi-Fi, Bluetooth, низкое энергопотребление и стоит около $3–5. С его помощью можно мониторить температуру и влажность (DHT22), управлять реле, светодиодами, моторами и датчиками — всё это классика умного дома и промышленной автоматизации. Однако написание кода для каждого сценария, настройка MQTT-брокера и обработка данных в реальном времени требуют времени и навыков программирования.

AI-агент ASI Biont решает эту проблему: вы просто описываете в чате, какое устройство (ESP32) используете, какой протокол (MQTT, HTTP, COM-порт через Hardware Bridge) и какие данные нужно собирать или команды отправлять. AI сам пишет Python-код, подключается к устройству и начинает работу — никаких панелей управления, кнопок «добавить устройство» или ручного кодинга. В этой статье мы разберём, как подключить ESP32 с датчиком DHT22 и реле к ASI Biont через MQTT, и покажем реальные примеры кода на MicroPython для ESP32 и Python для AI-агента.

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

ASI Biont поддерживает несколько способов подключения к устройствам. Для ESP32 оптимальны два варианта:

  1. MQTT (через execute_python) — AI пишет скрипт на Python с библиотекой paho-mqtt, который подключается к MQTT-брокеру (например, Mosquitto или HiveMQ Cloud). ESP32 публикует данные с датчиков в топики (например, esp32/temperature), а AI подписывается на них и анализирует. Также AI может публиковать команды в топик esp32/command, а ESP32 их принимает и выполняет (включить реле, светодиод). Этот способ подходит для удалённого мониторинга и управления из любой точки мира.

  2. Hardware Bridge + COM-порт — если ESP32 подключён к компьютеру по USB (через UART-USB-преобразователь), вы запускаете bridge.py на своём ПК, который соединяется с ASI Biont через WebSocket. AI отправляет команды через industrial_command(protocol='serial', command='serial_write_and_read', data='...'), bridge передаёт их в COM-порт, ESP32 отвечает. Этот способ удобен для локальной отладки и прямого управления GPIO без Wi-Fi.

В этой статье мы сосредоточимся на MQTT, так как это наиболее универсальный и масштабируемый вариант для IoT.

Сценарий: мониторинг температуры и управление реле через Telegram

Допустим, у вас есть ESP32 с датчиком DHT22 (температура и влажность) и реле, которое управляет освещением или вентилятором. Вы хотите:
- Получать данные о температуре каждые 10 минут.
- Если температура превышает 30°C, автоматически включать реле (вентилятор).
- Получать уведомление в Telegram при выходе за пределы нормы.
- Иметь возможность написать в чат ASI Biont «включи вентилятор» — и AI отправит команду на ESP32.

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

Загрузите на ESP32 прошивку MicroPython (последняя версия — micropython.org/download/ESP32_GENERIC/). Затем загрузите следующий код, который подключается к Wi-Fi, MQTT-брокеру и обрабатывает команды:

import network
import time
import dht
import machine
from umqtt.simple import MQTTClient

# Конфигурация
WIFI_SSID = "your_wifi"
WIFI_PASS = "your_password"
MQTT_BROKER = "test.mosquitto.org"  # или ваш брокер
MQTT_TOPIC_DATA = b"esp32/data"
MQTT_TOPIC_CMD = b"esp32/command"

# Инициализация
dht_pin = machine.Pin(4)
dht_sensor = dht.DHT22(dht_pin)
relay_pin = machine.Pin(5, machine.Pin.OUT, value=0)
led = machine.Pin(2, machine.Pin.OUT, value=0)

def connect_wifi():
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    wlan.connect(WIFI_SSID, WIFI_PASS)
    while not wlan.isconnected():
        time.sleep(0.5)
    print("WiFi connected")

def mqtt_callback(topic, msg):
    if topic == MQTT_TOPIC_CMD:
        if msg == b"RELAY_ON":
            relay_pin.value(1)
            print("Relay ON")
        elif msg == b"RELAY_OFF":
            relay_pin.value(0)
            print("Relay OFF")
        elif msg == b"LED_ON":
            led.value(1)
        elif msg == b"LED_OFF":
            led.value(0)

def main():
    connect_wifi()
    client = MQTTClient("esp32_client", MQTT_BROKER)
    client.set_callback(mqtt_callback)
    client.connect()
    client.subscribe(MQTT_TOPIC_CMD)
    print("MQTT connected")

    while True:
        try:
            dht_sensor.measure()
            temp = dht_sensor.temperature()
            hum = dht_sensor.humidity()
            msg = f"{{\"temp\":{temp},\"hum\":{hum}}}"
            client.publish(MQTT_TOPIC_DATA, msg)
            print("Published:", msg)
            client.check_msg()  # проверяем входящие команды
            time.sleep(600)  # 10 минут
        except OSError as e:
            print("Error:", e)
            time.sleep(5)

main()

Этот код использует библиотеку umqtt.simple, которая входит в стандартную прошивку MicroPython. Если ваш брокер требует аутентификации, добавьте параметры user и password в конструктор MQTTClient.

Шаг 2. Подключение ASI Biont через MQTT (execute_python)

Теперь, когда ESP32 публикует данные в топик esp32/data и слушает команды в esp32/command, мы можем настроить AI-агента. Вам не нужно писать код вручную — просто опишите задачу в чате ASI Biont:

«Подключись к MQTT-брокеру test.mosquitto.org, подпишись на топик esp32/data, каждые 10 минут проверяй температуру. Если температура > 30°C, опубликуй в esp32/command команду RELAY_ON. Также отправляй мне уведомление в Telegram при каждом превышении».

AI сам сгенерирует и выполнит следующий Python-скрипт (вы можете его увидеть и отредактировать):

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

# Конфигурация
MQTT_BROKER = "test.mosquitto.org"
MQTT_PORT = 1883
TOPIC_DATA = "esp32/data"
TOPIC_CMD = "esp32/command"
TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"

def on_message(client, userdata, msg):
    try:
        data = json.loads(msg.payload.decode())
        temp = data["temp"]
        hum = data["hum"]
        print(f"Received: temp={temp}, hum={hum}")

        if temp > 30:
            # Включаем реле
            client.publish(TOPIC_CMD, "RELAY_ON")
            print("Published RELAY_ON")
            # Отправляем уведомление в Telegram
            text = f"⚠️ Температура превысила 30°C: {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 processing message: {e}")

client = mqtt.Client()
client.on_message = on_message
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.subscribe(TOPIC_DATA)
client.loop_start()

# Держим скрипт активным 30 секунд (максимум для sandbox)
time.sleep(30)
client.loop_stop()

Шаг 3. Управление через чат

После выполнения скрипта вы можете просто написать в чат ASI Biont:

«Выключи реле на ESP32»

AI отправит команду RELAY_OFF в топик esp32/command, и ESP32 выключит реле. Если вы хотите получать данные по запросу, напишите:

«Какая сейчас температура на ESP32?»

AI опубликует команду GET_DATA (если вы добавите её обработку в прошивку) или, если ESP32 публикует данные раз в 10 минут, AI может прочитать последнее сохранённое значение из переменной.

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

  • Ноль ручного кодинга: вам не нужно писать сложные интеграционные скрипты на Python — AI делает это за секунды.
  • Гибкость: вы можете менять логику управления (пороги, команды, получателей уведомлений) простым текстом в чате.
  • Масштабируемость: один AI-агент может управлять сотнями ESP32, анализировать данные и принимать решения.
  • Безопасность: код выполняется в изолированном sandbox-окружении, а для доступа к локальным устройствам используется Hardware Bridge с токеном.

Альтернативный способ: Hardware Bridge + COM-порт

Если ваш ESP32 подключён к компьютеру по USB, вы можете использовать Hardware Bridge. Для этого:

  1. Скачайте bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
  2. Установите зависимости: pip install pyserial requests websockets.
  3. Запустите bridge: python bridge.py --token=YOUR_TOKEN --ports=COM3 --baud 115200.
  4. В чате ASI Biont напишите: «Подключись к COM3 на 115200, отправь команду HELP».

AI отправит industrial_command(protocol='serial', command='serial_write_and_read', data='48454c500a') (HEX для HELP+\n), bridge запишет это в COM-порт и вернёт ответ ESP32. Этот способ идеален для отладки, когда ESP32 ещё не имеет Wi-Fi.

Реальные сценарии использования

Сценарий ESP32 + датчик/актуатор Действие AI
Умный термостат DHT22 + реле на вентилятор Включает вентилятор при t>30°C, уведомляет в Telegram
Автополив Датчик влажности почвы + реле на насос Поливает, если влажность <30%
Охранная система PIR-датчик движения + зуммер Отправляет фото с камеры (если есть) и сигнал тревоги
Мониторинг серверной DHT22 + реле на кондиционер Включает кондиционер при t>25°C, логирует данные в CSV

Все эти сценарии реализуются без написания кода — только через диалог с AI.

Заключение

ESP32 — мощный и дешёвый микроконтроллер, который в связке с AI-агентом ASI Biont превращается в полностью автоматизированное IoT-решение. Вы можете мониторить температуру, управлять реле, светодиодами и получать уведомления в Telegram — и всё это без написания кода интеграции. AI сам пишет и выполняет Python-скрипты, подключается по MQTT, HTTP или через Hardware Bridge.

Попробуйте интеграцию прямо сейчас на asibiont.com — создайте API-ключ, скачайте bridge, подключите ESP32 и опишите задачу в чате. Умный дом на AI — это реально и доступно каждому.

← Все статьи

Комментарии

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

Китайская компания LimX Dynamics представила гуманоидного робота Оли для домашних дел: что это значит для рынка AI и автоматизации

18 июля 2026

Как автоматизировать ProtonMail с помощью ИИ-агента: руководство по безопасным почтовым рабочим процессам без кода

18 июля 2026

Оптимизация управления электронной почтой с помощью интеграции Gmail в AI-агент ASI Biont

18 июля 2026

Подключите Яндекс к ИИ-агентам: автоматизируйте музыку, такси и еду без кода

18 июля 2026

Освойте экологический менеджмент с курсом ISO 14001 на Asibiont: AI-обучение для реальных навыков

18 июля 2026

Как экологические датчики и автоматизация с ИИ-агентом сокращают затраты на соблюдение нормативов на 30%: пример умного завода

18 июля 2026

Прогностическое управление проектами: как ИИ-агент ASI Biont интегрируется с Monday.com для автоматизации задач без кода

18 июля 2026

Как подключить ЧПУ-станок (GRBL/Marlin) к AI-агенту ASI Biont: удалённое управление, мониторинг шпинделя и голосовые команды

18 июля 2026

Курс Web Security (OWASP Top 10): как AI-обучение помогает освоить защиту от XSS, SQLi и CSRF на asibiont.com

18 июля 2026