LilyGO T-Display + ASI Biont: делаем AI-панель управления на ESP32 за 15 минут

Вы когда-нибудь пытались подключить умное устройство к 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 сгенерировать код, выполнить его, показать результат, а потом изменить параметры без перекомпиляции.

Подводные камни, о которых я узнал на практике

  1. Таймаут 30 секунд для execute_python. Если ваш скрипт работает дольше, он будет прерван. Поэтому длительные операции разбивайте на несколько шагов.
  2. MQTT-брокер должен быть доступен с обеих сторон. Публичные брокеры часто блокируют входящие подключения с определённых IP. Лучше поднять свой на VPS или локальном Raspberry Pi.
  3. Формат данных. Если ESP32 присылает не число, а строку с символом градуса, не забудьте в Python обработать это через float(msg.payload.decode()) или попросите AI адаптировать скрипт.
  4. 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». Уверен, вы удивитесь, как это просто.

← Все статьи

Комментарии

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

Освоение построения RAG-систем: от нуля до продакшен-готовых RAG-пайплайнов

3 августа 2026

Курс по анализу временных рядов: освойте Prophet, ARIMA и LSTM с помощью обучения на основе ИИ

3 августа 2026

15 промтов для Cursor: ускоряем AI-assisted разработку в IDE

3 августа 2026

14 промтов для React Native: компоненты, навигация и работа с API

3 августа 2026

Мастерство управления временем — Тайм-менеджмент и продуктивность: как обучение на основе ИИ помогает освоить GTD, Pomodoro и Deep Work

3 августа 2026

Авиация и дроны: регулирование (ICAO, EASA, FAA, IATA) — почему обучение с ИИ обязательно в 2026 году

3 августа 2026

Курс эмоционального интеллекта в 2026 году: ROI обучения EQ, сравнение онлайн-форматов и преимущество ИИ Asibiont

3 августа 2026

Jetson Nano и Orin под управлением AI-агента: DeepStream, TensorRT и ASI Biont для edge-видеоаналитики

3 августа 2026

Kakehashi: запускаем macOS-бинарники на Linux ARM без перекомпиляции

3 августа 2026