Вы когда-нибудь пытались подключить умное устройство к AI-агенту? Наверняка вы сталкивались с тем, что нужно писать тонны кода, настраивать API, разбираться в протоколах и всё равно что-то идёт не так. С инженером ASI Biont этот процесс превращается в обычный диалог: вы описываете, что хотите сделать, а он сам пишет скрипт и подключается к вашему железу.
В этой статье я покажу на реальном примере, как подключить LilyGO T-Display — популярную плату на базе ESP32 — к ASI Biont и сделать из неё AI-панель управления с мониторингом температуры и уведомлениями в Telegram. Никаких панелей управления и кнопок «добавить устройство» — только чат.
Зачем вообще подключать LilyGO к AI-агенту?
LilyGO T-Display — это компактный модуль с ESP32, цветным дисплеем, Wi-Fi и Bluetooth. Он идеально подходит для быстрых IoT-прототипов: от погодных станций до умных розеток. Но чтобы устройство стало по-настоящему полезным, ему нужен «мозг». ASI Biont даёт этот мозг: он умеет читать данные с датчиков, принимать решения на основе этих данных и отправлять команды обратно на устройство.
Представьте: у вас на даче стоит датчик температуры на LilyGO. Без AI вам пришлось бы вручную смотреть на экран или настраивать кучу уведомлений. С ASI Biont вы просто говорите: «Если температура поднимется выше +30°C, пришли мне сообщение в Telegram». И это работает.
Обзор LilyGO T-Display
LilyGO T-Display — это не один конкретный девайс, а серия плат. В моделях последних поколений используются чипы ESP32-S3 или ESP32-C3, что обеспечивает высокую производительность и поддержку Wi-Fi + BLE. На борту обычно установлен дисплей 1.9" или 1.14" с интерфейсом ST7789, а у некоторых версий есть слот для microSD и разъём для подключения датчиков. Официальный репозиторий компании — github.com/Xinyuan-LilyGO/T-Display. Обратите внимание: почти все примеры из документации используют Arduino IDE или PlatformIO.
Почему именно эта плата? У неё низкое энергопотребление, большой выбор вариантов с Wi-Fi и встроенным дисплеем — удобно выводить статус устройства. Но главное — она работает на ESP32, а значит, с ней можно общаться по MQTT, HTTP, WebSocket и даже по последовательному порту.
Какие способы подключения поддерживает ASI Biont?
ASI Biont — это AI-агент, который живёт на вашем сервере или в облаке и умеет подключаться к внешним устройствам. Вот основные протоколы, о которых нужно знать:
| Протокол | Библиотека Python | Когда используется |
|---|---|---|
| MQTT | paho-mqtt | Умные устройства, датчики, умный дом |
| Modbus/TCP | pymodbus | Промышленные контроллеры, ПЛК |
| SSH | paramiko | Raspberry Pi, Linux-серверы |
| HTTP API / WebSocket | aiohttp | Почти всё с REST API |
| OPC-UA | opcua-asyncio | Промышленная автоматизация |
| Серийный порт (RS-232/485) | pyserial + Hardware Bridge | Arduino, ESP32, GPS-трекеры |
Для LilyGO T-Display самый логичный вариант — MQTT. Это лёгкий протокол, который отлично работает по Wi-Fi и не требует постоянного соединения с сервером. Всё, что нужно — MQTT-брокер (например, Mosquitto) и библиотека PubSubClient для Arduino.
Но есть и альтернатива: если вы подключили LilyGO к компьютеру через USB, можно использовать Hardware Bridge и ходить по COM-порту. Я расскажу и об этом, но начнём с MQTT.
Реальный сценарий: мониторинг температуры и управление через Telegram
Допустим, у нас есть LilyGO T-Display с датчиком DS18B20 на GPIO4. Задача — отправлять температуру в брокер MQTT, а AI-агент в случае превышения порога будет слать сообщение в Telegram. Плюс — вторая команда: если в Telegram написать «включи свет», AI отправит MQTT-команду на ESP32, который зажжёт LED.
Шаг 1. Настройка MQTT-брокера
Для эксперимента можно использовать публичный брокер test.mosquitto.org:1883. В продакшене лучше поднять собственный Mosquitto на Raspberry Pi или VPS. Наш ESP32 будет публиковать данные в топик lilygo/temperature, а подписываться на lilygo/command.
Шаг 2. Прошивка ESP32
В Arduino IDE установите поддержку ESP32 (в Менеджере плат введите esp32). Для DS18B20 понадобится библиотека OneWire и DallasTemperature. Напишем код:
#include <WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const char* ssid = "your_wifi";
const char* password = "password";
const char* mqtt_server = "test.mosquitto.org";
WiFiClient espClient;
PubSubClient client(espClient);
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
sensors.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
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) == "lilygo/command" && message == "ON") {
digitalWrite(2, HIGH); // встроенный LED на многих ESP32
} else if (String(topic) == "lilygo/command" && message == "OFF") {
digitalWrite(2, LOW);
}
}
void reconnect() {
while (!client.connected()) {
if (client.connect("ESP32LilyGO")) {
client.subscribe("lilygo/command");
}
}
}
void loop() {
if (!client.connected()) reconnect();
client.loop();
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
client.publish("lilygo/temperature", String(temp).c_str());
delay(10000); // раз в 10 секунд
}
Этот код подключится к Wi-Fi и MQTT, раз в 10 секунд будет публиковать температуру, а также слушать команды в топике lilygo/command.
Шаг 3. Подключение ASI Biont к MQTT
Теперь самое интересное. Откройте чат с ASI Biont и опишите задачу:
Подключись к MQTT-брокеру test.mosquitto.org:1883, подпишись на топик lilygo/temperature. Если температура больше 30 градусов, отправь мне сообщение в Telegram. Также подпишись на lilygo/command — если я напишу тебе «включи свет», отправь в MQTT команду ON, а если «выключи свет» — команду OFF.
ASI Biont сам напишет и выполнит Python-скрипт. Внутри он использует execute_python — универсальный инструмент, который позволяет агенту запускать произвольный Python-код в изолированной среде. Не нужно ждать, пока разработчики добавят поддержку LilyGO или ESP32 — вы подключаетесь к любому устройству прямо сейчас.
Вот примерно такой скрипт сгенерирует AI (я покажу упрощённую версию, чтобы вы понимали механику):
import paho.mqtt.client as mqtt
import time
import requests
BROKER = "test.mosquitto.org"
PORT = 1883
TOPIC = "lilygo/temperature"
TOKEN = "ваш_телеграм_токен"
CHAT_ID = "ваш_chat_id"
def send_telegram(text):
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
requests.post(url, data={"chat_id": CHAT_ID, "text": text})
def on_connect(client, userdata, flags, rc):
client.subscribe(TOPIC)
def on_message(client, userdata, msg):
temp = float(msg.payload)
if temp > 30:
send_telegram(f"🔥 Температура выросла: {temp}°C")
client.disconnect()
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.loop_start()
time.sleep(5)
client.loop_stop()
Обратите внимание: в execute_python нельзя использовать бесконечные циклы вроде while True — скрипт будет остановлен через 30 секунд. Поэтому каждая задача выполняется за один подход. Вместо цикла мы можем использовать одноразовое чтение или короткое ожидание, как в примере выше.
Шаг 4. Управление устройством через тот же MQTT
Аналогично, чтобы дать команду LilyGO, AI отправит сообщение в топик lilygo/command. Например, вы пишете в чат:
Отправь команду ON на устройство lilygo/command
AI выполнит скрипт:
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("test.mosquitto.org", 1883, 60)
client.publish("lilygo/command", "ON")
client.disconnect()
Что делать, если устройство подключено через USB/COM-порт?
Если у вас нет Wi-Fi или вы хотите управлять LilyGO напрямую с компьютера, используйте Hardware Bridge. Это небольшая программа, которая скачивается из дашборда ASI Biont (и только оттуда, не с GitHub). Bridge создаёт мост между COM-портом и AI-агентом через industrial_command().
Запустить bridge просто:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 --rate=10
После этого вы можете попросить ASI Biont: «Прочитай данные с COM3» — и он отправит команду через industrial_command(protocol="serial", command="...").
Почему ASI Biont — это прорыв в интеграции устройств?
Раньше, чтобы подключить ESP32 к умному ассистенту, нужно было создавать отдельный облачный сервис, писать API, настраивать Webhook. С ASI Biont всё это делается через диалог. Вы экономите дни работы.
- AI сам выбирает нужную библиотеку (paho-mqtt, pymodbus, paramiko и др.) и пишет код под вашу задачу.
- Не нужно ждать обновлений от разработчиков —
execute_pythonпозволяет подключать что угодно: от самодельных датчиков до промышленных контроллеров. - Весь процесс контролируется через чат: вы можете попросить AI сгенерировать код, выполнить его, показать результат, а потом изменить параметры без перекомпиляции.
Подводные камни, о которых я узнал на практике
- Таймаут 30 секунд для
execute_python. Если ваш скрипт работает дольше, он будет прерван. Поэтому длительные операции разбивайте на несколько шагов. - MQTT-брокер должен быть доступен с обеих сторон. Публичные брокеры часто блокируют входящие подключения с определённых IP. Лучше поднять свой на VPS или локальном Raspberry Pi.
- Формат данных. Если ESP32 присылает не число, а строку с символом градуса, не забудьте в Python обработать это через
float(msg.payload.decode())или попросите AI адаптировать скрипт. - Wi-Fi и надёжность. ESP32 на батарейках — плохая идея для постоянного мониторинга. Используйте стабильное питание и при необходимости добавьте watchdog.
Реальный кейс: дачная метеостанция
Один мой знакомый сделал на LilyGO T-Display дачную метеостанцию. Датчик DHT22 подключил к GPIO, а плату поставил в термобокс с антенной. Он просто описал ASI Biont: «Каждые 5 минут считывай температуру с MQTT-топика и отправляй в Telegram, если она упадёт ниже нуля — предупреди о заморозках». Вся интеграция заняла минут 20, а раньше ему пришлось бы разбираться с PHP-скриптами и cron.
Заключение
Подключение LilyGO к ASI Biont — это не rocket science, а рутина, которую AI забирает на себя. Вместо того чтобы писать интеграцию с нуля, вы просто общаетесь с агентом на естественном языке. Он сам разберётся, как читать данные и как управлять устройством.
Хотите попробовать на своей плате? Переходите на asibiont.com, скачайте ASI Biont и напишите в чат: «Подключись к моему ESP32 по MQTT». Уверен, вы удивитесь, как это просто.
Комментарии