Введение
ESP32 — один из самых популярных микроконтроллеров для IoT: встроенный Wi-Fi, Bluetooth, низкое энергопотребление и цена около $5 делают его идеальным для умного дома и промышленного мониторинга. Но настройка интеграции с AI-агентами традиционно требует написания кода вручную, настройки MQTT-брокера и написания скриптов обработки данных. ASI Biont решает эту проблему: AI-агент сам пишет код интеграции, подключается к ESP32 и управляет им через диалог в чате. Никаких панелей управления — просто опишите задачу, и AI сделает всё за секунды.
В этой статье мы разберём конкретный сценарий: подключение датчика температуры и влажности DHT22 к ESP32, передача данных через MQTT в ASI Biont, автоматическая отправка алертов в Telegram при выходе за пределы нормы и включение вентилятора через реле. Всё — без серверного кода.
Как ASI Biont подключается к ESP32
ESP32 поддерживает несколько протоколов связи. Для нашего сценария мы используем MQTT — лёгкий протокол pub/sub, идеальный для IoT-устройств с ограниченными ресурсами. ASI Biont подключается к MQTT-брокеру (например, Mosquitto или HiveMQ Cloud) через библиотеку paho-mqtt, которая доступна в sandbox-окружении. AI сам пишет Python-скрипт, который подписывается на нужный топик (например, sensor/temperature), получает данные, анализирует их и при необходимости публикует команды (например, actuator/fan).
Пользователь описывает в чате: «Подключись к ESP32 через MQTT, брокер — test.mosquitto.org, порт 1883, топик sensor/temperature». AI генерирует код и выполняет его. Всё подключение — за один диалог.
Сценарий: мониторинг микроклимата с алертами и автоматизацией
Шаг 1. Прошивка ESP32
На ESP32 загружается прошивка на MicroPython или Arduino C, которая:
- Подключается к Wi-Fi
- Читает данные с DHT22 каждые 10 секунд
- Публикует их в MQTT-топик sensor/temperature в формате JSON: {"temp": 24.5, "hum": 60.2}
Пример прошивки на MicroPython:
import network
import time
import dht
import machine
from umqtt.simple import MQTTClient
# Настройки
WIFI_SSID = "YourWiFi"
WIFI_PASS = "YourPassword"
MQTT_BROKER = "test.mosquitto.org"
TOPIC = "sensor/temperature"
# Подключение к Wi-Fi
sta = network.WLAN(network.STA_IF)
sta.active(True)
sta.connect(WIFI_SSID, WIFI_PASS)
while not sta.isconnected():
time.sleep(1)
# Инициализация датчика
d = dht.DHT22(machine.Pin(4))
# MQTT клиент
client = MQTTClient("esp32", MQTT_BROKER)
client.connect()
while True:
d.measure()
payload = '{"temp": %s, "hum": %s}' % (d.temperature(), d.humidity())
client.publish(TOPIC, payload)
time.sleep(10)
Шаг 2. Интеграция с ASI Biont через MQTT
Пользователь пишет в чате ASI Biont:
«Подключись к MQTT-брокеру test.mosquitto.org, подпишись на топик sensor/temperature. Если температура выше 30°C или влажность ниже 30% — отправь мне алерт в Telegram (токен бота: XXX, chat_id: YYY). Если температура выше 30°C — опубликуй команду в топик actuator/fan со значением "on". Запусти мониторинг с интервалом 10 секунд.»
AI генерирует и выполняет следующий код (выполняется в sandbox ASI Biont):
import paho.mqtt.client as mqtt
import requests
import json
import time
# Настройки
BROKER = "test.mosquitto.org"
PORT = 1883
TOPIC_SENSOR = "sensor/temperature"
TOPIC_ACTUATOR = "actuator/fan"
TELEGRAM_TOKEN = "XXX"
TELEGRAM_CHAT_ID = "YYY"
def on_message(client, userdata, msg):
data = json.loads(msg.payload.decode())
temp = data.get("temp", 0)
hum = data.get("hum", 0)
if temp > 30 or hum < 30:
text = f"⚠️ Алерт! Температура: {temp}°C, Влажность: {hum}%"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text})
if temp > 30:
client.publish(TOPIC_ACTUATOR, "on")
mqtt_client = mqtt.Client()
mqtt_client.on_message = on_message
mqtt_client.connect(BROKER, PORT, 60)
mqtt_client.subscribe(TOPIC_SENSOR)
mqtt_client.loop_forever() # не while True, а блокирующий loop
Шаг 3. Результаты
- Автоматизация: вентилятор включается при превышении температуры 30°C — без участия человека.
- Уведомления: Telegram-алерты приходят мгновенно при выходе параметров за норму.
- Гибкость: пользователь может в любой момент изменить логику через чат (например, «добавь условие: если влажность > 80%, включи осушитель»).
Почему это выгодно
Традиционный подход требует:
- Написания кода на Python для подписки на MQTT
- Настройки логики обработки данных
- Интеграции с Telegram API
- Тестирования и отладки
С ASI Biont весь процесс занимает 1–2 минуты диалога. AI сам пишет код, используя проверенные библиотеки (paho-mqtt, requests), выполняет его в sandbox и поддерживает работу. Не нужно ждать обновлений от разработчиков — подключайте любые устройства через execute_python.
Другие сценарии интеграции ESP32 с ASI Biont
| Сценарий | Протокол | Что делает AI |
|---|---|---|
| Мониторинг температуры | MQTT | Читает данные, строит графики (matplotlib), отправляет отчёты |
| Управление реле через HTTP | HTTP API | Включает/выключает нагрузку по расписанию |
| Сбор данных с нескольких датчиков | MQTT | Агрегирует данные, анализирует тренды, предсказывает отказы |
| GPS-трекинг через COM-порт | Hardware Bridge (COM) | Парсит NMEA-строки, строит маршруты |
Заключение
ESP32 — мощный и дешёвый микроконтроллер, который с ASI Biont превращается в полностью управляемый AI-агент. MQTT-интеграция позволяет за минуты настроить мониторинг, алерты и автоматизацию без единой строки серверного кода. Попробуйте сами: опишите в чате ASI Biont вашу задачу — и AI сделает всё остальное.
👉 Попробуйте интеграцию на asibiont.com
Комментарии