Введение
ESP8266 — один из самых популярных микроконтроллеров в мире IoT. Благодаря встроенному Wi-Fi, низкой цене и огромному сообществу, его используют в умных розетках, метеостанциях, системах полива и автоматизации. Однако написание кода для опроса датчиков, настройки MQTT-брокера, создания триггеров и уведомлений — трудоёмкий процесс.
AI-агент ASI Biont решает эту проблему: он подключается к ESP8266 через диалог в чате, сам генерирует код интеграции, собирает телеметрию с датчика DHT22 и управляет исполнительными устройствами (вентиляция, отопление) без ручного программирования. В этой статье мы разберём конкретный сценарий: ESP8266 + DHT22 → ASI Biont → Telegram-уведомления и автоматическое включение вентилятора.
Почему именно MQTT?
ESP8266 — Wi-Fi-микроконтроллер, и для обмена данными с облаком ASI Biont оптимальны два протокола: MQTT и HTTP API. MQTT предпочтительнее по нескольким причинам:
- Постоянное соединение — ESP8266 может в любой момент отправить показания или принять команду.
- Поддержка QoS — гарантия доставки критичных сообщений (например, аварийный сигнал температуры).
- Малое энергопотребление — ESP8266 может спать большую часть времени и просыпаться только для публикации данных.
ASI Biont поддерживает MQTT через библиотеку paho-mqtt. Пользователь указывает в чате параметры брокера (адрес, порт, логин/пароль, если требуется) — AI сам пишет и выполняет Python-скрипт подписки и публикации.
Сценарий: умная теплица на ESP8266 + DHT22
Допустим, у вас есть ESP8266 с датчиком DHT22, измеряющим температуру и влажность. Вы хотите:
1. Получать данные в реальном времени.
2. Получать уведомление в Telegram, если температура превышает 30°C или влажность падает ниже 40%.
3. Автоматически включать реле (вентилятор/обогреватель) через цифровой пин.
Шаг 1. Прошивка ESP8266
На ESP8266 загружается простая прошивка на MicroPython, которая:
- Читает DHT22 каждые 10 секунд.
- Публикует данные в MQTT-топик sensor/teplica в формате JSON.
- Подписывается на топик actuator/teplica/fan для управления реле.
# boot.py — пример кода для ESP8266
import machine
import dht
import ujson
from umqtt.simple import MQTTClient
import time
# Настройка пинов
dht_pin = machine.Pin(4) # GPIO4 (D2)
sensor = dht.DHT22(dht_pin)
relay_pin = machine.Pin(5, machine.Pin.OUT) # GPIO5 (D1)
# MQTT настройки
BROKER = "broker.hivemq.com"
TOPIC_PUB = b"sensor/teplica"
TOPIC_SUB = b"actuator/teplica/fan"
def sub_cb(topic, msg):
if msg == b"ON":
relay_pin.on()
elif msg == b"OFF":
relay_pin.off()
client = MQTTClient("esp8266_teplica", BROKER)
client.set_callback(sub_cb)
client.connect()
client.subscribe(TOPIC_SUB)
while True:
sensor.measure()
data = ujson.dumps({
"temperature": sensor.temperature(),
"humidity": sensor.humidity()
})
client.publish(TOPIC_PUB, data)
client.check_msg() # проверка команд
time.sleep(10)
Шаг 2. Подключение ASI Biont к MQTT-брокеру
Пользователь отправляет в чат сообщение:
Подключись к MQTT-брокеру broker.hivemq.com, подпишись на топик sensor/teplica, парси JSON с температурой и влажностью. Если температура > 30°C или влажность < 40%, отправь уведомление в Telegram (токен: ...) и опубликуй команду "ON" в топик actuator/teplica/fan. Если температура < 28°C и влажность > 50%, опубликуй "OFF".
AI-агент ASI Biont генерирует и выполняет следующий Python-скрипт в sandbox-окружении (используя библиотеки paho-mqtt и requests):
import paho.mqtt.client as mqtt
import json
import requests
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"
BROKER = "broker.hivemq.com"
TOPIC_PUB = "sensor/teplica"
TOPIC_ACTUATOR = "actuator/teplica/fan"
def send_telegram(message):
url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
requests.post(url, json={"chat_id": CHAT_ID, "text": message})
def on_message(client, userdata, msg):
try:
data = json.loads(msg.payload.decode())
temp = data["temperature"]
hum = data["humidity"]
print(f"Temp: {temp}°C, Hum: {hum}%")
if temp > 30 or hum < 40:
send_telegram("⚠️ Аномалия! Включение вентилятора.")
client.publish(TOPIC_ACTUATOR, "ON", qos=1)
elif temp < 28 and hum > 50:
client.publish(TOPIC_ACTUATOR, "OFF", qos=1)
except Exception as e:
print(e)
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, 1883, 60)
client.subscribe(TOPIC_PUB, qos=1)
client.loop_forever()
Скрипт запускается в облаке ASI Biont и работает 24/7. Пользователю не нужно писать ни строчки кода — AI сам сгенерировал логику, подписался на топик, настроил триггеры и интеграцию с Telegram.
Шаг 3. Результат
- ESP8266 публикует данные каждые 10 секунд.
- ASI Biont анализирует данные в реальном времени.
- При превышении порога — Telegram-уведомление и автоматическое включение реле.
- При нормализации — выключение.
Альтернативы: другие способы подключения ESP8266 к ASI Biont
| Способ | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
| MQTT | ESP8266 с Wi-Fi, постоянное соединение | Низкая задержка, двусторонняя связь, QoS | Требуется MQTT-брокер |
| HTTP API | ESP8266 отправляет данные по запросу | Простота, не нужно постоянное соединение | Нет обратной связи, только push |
| Hardware Bridge (COM-порт) | ESP8266 подключён по USB к ПК | Прямое управление, отладка | Требуется ПК с bridge.py |
| SSH | ESP8266 под управлением Linux (реже) | Полный доступ к системе | Избыточно для ESP8266 |
Для большинства IoT-сценариев с ESP8266 MQTT — оптимальный выбор.
Почему это выгодно?
- Экономия времени. Написание кода интеграции, отладка MQTT-клиента, настройка триггеров — всё это AI делает за секунды.
- Гибкость. Не нужно ждать обновлений платформы — ASI Biont подключается к любому устройству через execute_python. Вы просто описываете задачу словами.
- Масштабируемость. Один AI-агент может управлять сотнями ESP8266, анализировать данные со всех датчиков и принимать решения.
- Zero-code. Пользователь не пишет код — AI пишет его под капотом.
Заключение
ESP8266 — идеальный кандидат для интеграции с AI-агентом ASI Biont. Благодаря поддержке MQTT и execute_python, вы можете за минуту настроить умный дом, теплицу, систему мониторинга или лабораторный стенд — без единой строки кода. Просто опишите задачу в чате, и AI сделает всё остальное.
Попробуйте интеграцию прямо сейчас на asibiont.com. Подключите ESP8266 с датчиком DHT22 за 5 минут и управляйте климатом в доме голосом или через Telegram.
Комментарии