Введение
Плата LilyGO — это мощный микроконтроллер на базе ESP32, оснащённый LoRa-трансивером (SX1276) и GPS-модулем (NEO-6M или NEO-8M). Она идеально подходит для проектов удалённого мониторинга, трекинга и IoT-автоматизации: от отслеживания транспорта до сбора данных с датчиков в полевых условиях. Но чтобы превратить «сырые» данные с LilyGO в полезные уведомления в Telegram, геозоны или автоматическое управление реле, нужна интеграция с облачным AI-агентом.
ASI Biont — это AI-агент, который подключается к любому устройству через диалог в чате. Вам не нужно писать сложный код с нуля или ждать обновлений прошивки. Просто опишите задачу, и ASI Biont сам сгенерирует Python-скрипт для MQTT, SSH или COM-порта, подключится к LilyGO и начнёт обрабатывать данные.
Какой способ подключения используется и почему
Для LilyGO с LoRa и GPS мы используем MQTT (через библиотеку paho-mqtt). Почему именно MQTT?
- LoRa-модуль на LilyGO не требует прямого подключения к интернету — данные передаются по LoRaWAN через шлюз (gateway), который уже публикует их в MQTT-брокер (например, The Things Network, ChirpStack или Mosquitto).
- MQTT — лёгкий протокол, идеальный для IoT-устройств с ограниченным питанием (батарейки хватает на месяцы).
- ASI Biont поддерживает MQTT из коробки: AI пишет скрипт с paho-mqtt, который подписывается на топик с GPS-координатами или показаниями датчиков, анализирует их и отправляет команды обратно.
Альтернативно, если LilyGO подключена к ПК через USB (например, для отладки), можно использовать Hardware Bridge (bridge.py) и COM-порт — AI будет читать NMEA-строки с GPS напрямую.
Конкретный сценарий: GPS-трекер с уведомлениями в Telegram
Задача
У нас есть LilyGO с GPS-модулем, установленная на автомобиле или посылке. Данные координат (широта, долгота) публикуются в MQTT-топик lilygo/gps. Нужно:
- Получать координаты каждые 10 секунд.
- Проверять, вошёл ли объект в заданную геозону (например, радиус 500 м от склада).
- При входе или выходе отправлять уведомление в Telegram.
- По команде из Telegram (например, /status) — присылать текущие координаты и ссылку на карту.
Как это работает в ASI Biont
Вы пишете в чате:
«Подключись к MQTT-брокеру по адресу mqtt.example.com:1883, подпишись на топик lilygo/gps, парси координаты в формате NMEA, определи геозону с центром 55.7558°N, 37.6173°E и радиусом 500 м. При входе/выходе отправляй уведомление в Telegram через моего бота. Также реализуй команду /status из Telegram — пусть возвращает текущие координаты и ссылку на Google Maps.»
AI-агент генерирует Python-скрипт (исполняется в sandbox ASI Biont) и запускает его. Код выглядит примерно так:
import paho.mqtt.client as mqtt
import json
import requests
from math import radians, sin, cos, sqrt, atan2
# Настройки
BROKER = "mqtt.example.com"
PORT = 1883
TOPIC = "lilygo/gps"
GEOZONE_CENTER = (55.7558, 37.6173) # широта, долгота
GEOZONE_RADIUS_KM = 0.5
TELEGRAM_BOT_TOKEN = "YOUR_BOT_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"
def haversine(lat1, lon1, lat2, lon2):
R = 6371.0
dlat = radians(lat2 - lat1)
dlon = radians(lon2 - lon1)
a = sin(dlat/2)**2 + cos(radians(lat1)) * cos(radians(lat2)) * sin(dlon/2)**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
return R * c
previous_inside = None
def on_message(client, userdata, msg):
global previous_inside
try:
payload = msg.payload.decode()
data = json.loads(payload)
lat = float(data['lat'])
lon = float(data['lon'])
dist = haversine(lat, lon, GEOZONE_CENTER[0], GEOZONE_CENTER[1])
inside = dist < GEOZONE_RADIUS_KM
if inside != previous_inside:
status = "вошёл в" if inside else "вышел из"
text = f"Объект {status} геозону! Координаты: {lat:.6f}, {lon:.6f}"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text})
previous_inside = inside
except Exception as e:
print(f"Ошибка: {e}")
client = mqtt.Client()
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe(TOPIC)
client.loop_forever()
Как подключиться к устройству
Всё подключение происходит через диалог в чате с ASI Biont. Вы просто описываете:
- Адрес MQTT-брокера (или IP/порт для COM-порта).
- Топики для подписки и публикации.
- Параметры геозоны.
- Токен Telegram-бота.
AI сам пишет код, используя paho-mqtt, и запускает его в безопасном sandbox-окружении. Если нужно управлять реле на LilyGO (например, включить свет по команде), AI сгенерирует скрипт, который публикует команду в топик lilygo/commands — LilyGO подписан на этот топик и выполняет действие.
Другие сценарии интеграции
| Сценарий | Способ подключения | Что делает AI |
|---|---|---|
| Мониторинг температуры/влажности через LoRa | MQTT | Читает данные с датчика (например, BME280), строит графики, отправляет алермы при превышении порога |
| Управление реле через чат | MQTT | Публикует команду {"relay": "on"} в топик, LilyGO включает нагрузку |
| Трекинг нескольких LilyGO | MQTT | Собирает координаты со всех устройств, отображает на карте, логирует историю |
| Автоматический сброс по таймеру | MQTT + Telegram | Отправляет команду reset на LilyGO, если не получал данные более 1 часа |
Почему ASI Biont выгоднее традиционного подхода
- Не нужно писать код вручную. Опишите задачу на естественном языке — AI сгенерирует рабочий скрипт за секунды.
- Гибкость. Подключайте LilyGO через MQTT, COM-порт, SSH или даже HTTP API — ASI Biont поддерживает все популярные протоколы.
- Любое устройство. Если ваш микроконтроллер не LilyGO, а Arduino, ESP32, Raspberry Pi или промышленный PLC — просто опишите его в чате, AI адаптирует код.
- Никаких панелей управления. Всё делается через диалог: подключение, настройка, автоматизация.
Заключение
Интеграция LilyGO с ASI Biont открывает бесконечные возможности для IoT-автоматизации. Вам не нужно быть экспертом в MQTT или Python — просто опишите задачу, и AI-агент сам напишет код, подключится к устройству и начнёт собирать данные или управлять им.
Попробуйте прямо сейчас: перейдите на asibiont.com, создайте API-ключ, скачайте bridge.py (если используете COM-порт) или просто опишите в чате «подключись к MQTT-брокеру и слушай топик lilygo/gps» — и вы увидите, как AI за секунды превращает вашу LilyGO в полноценный IoT-трекер с Telegram-уведомлениями и геозонами.
Комментарии