Интеграция LoRa / LoRaWAN с AI-агентом ASI Biont: удалённый мониторинг датчиков через COM-порт и MQTT

Как подключить LoRa-устройства к AI-агенту без бэкенда

LoRa (Long Range) и LoRaWAN — это протоколы беспроводной связи, которые позволяют передавать данные на десятки километров при минимальном энергопотреблении. Их используют в IoT для мониторинга температуры на складах, уровня воды в резервуарах, отслеживания грузов и сельскохозяйственных датчиков. Но классическая схема требует серверной инфраструктуры: сетевой сервер (ChirpStack, The Things Network), базу данных, API для аналитики и систему оповещений. ASI Biont заменяет весь этот стек одним AI-агентом, который подключается к LoRa-устройствам через COM-порт или MQTT-мост и автоматизирует сценарии без написания кода вручную.

Какой способ интеграции выбрать

LoRa-устройства редко подключаются напрямую к облаку — они работают через шлюзы (gateways), которые агрегируют данные и передают их на сетевой сервер. ASI Biont поддерживает два основных подхода:

Способ подключения Когда использовать Интерфейс в ASI Biont
COM-порт (Hardware Bridge) Если вы используете ESP32 с LoRa-модулем (SX1278) как приёмник, подключённый к ПК через USB-UART industrial_command(protocol='serial://...') через bridge.py
MQTT-мост Если у вас есть сетевой сервер (ChirpStack, TTN), который публикует данные устройств в MQTT-топик industrial_command(protocol='mqtt://...') с publish/subscribe

Первый вариант подходит для DIY-проектов, где ESP32 работает как LoRa-шлюз. Второй — для промышленных LoRaWAN-сетей с готовой инфраструктурой.

Сценарий 1: ESP32 + LoRa-модуль → ASI Biont через COM-порт

Аппаратная схема

  1. ESP32 (например, ESP32 DevKit) + LoRa-модуль SX1278 (подключение по SPI: NSS→GPIO5, SCK→GPIO18, MOSI→GPIO23, MISO→GPIO19, RST→GPIO14, DIO0→GPIO2).
  2. На ESP32 залита прошивка, которая каждые 60 секунд отправляет данные с датчика DHT22 (температура/влажность) по LoRa.
  3. Приёмник — второй ESP32, подключённый к ПК через USB (COM3, 115200 baud). Он принимает LoRa-пакеты и выводит их в UART в формате JSON: {"temp": 23.5, "hum": 65.2}.

Подключение к ASI Biont

Пользователь запускает bridge.py на своём ПК:

python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200

После этого в чате с AI-агентом пользователь пишет:

«Подключись к COM3, читай JSON-строки с датчика температуры и влажности. Если температура выше 30°C — отправь мне уведомление в Telegram. Логируй данные каждые 5 минут в CSV-файл».

AI-агент генерирует и выполняет команду:

# Этот код выполняется в sandbox ASI Biont
import json
import csv
from datetime import datetime

# Собираем данные за последние 10 минут (bridge хранит историю)
command = """industrial_command(
    protocol='serial://COM3',
    command='read',
    params={'baudrate': 115200, 'timeout': 600}
)"""
response = execute_command(command)
lines = response['output'].strip().split('\n')

# Парсим JSON-строки
records = []
for line in lines:
    try:
        data = json.loads(line)
        records.append(data)
    except:
        continue

# Проверяем аномалии
for record in records:
    temp = record.get('temp')
    if temp and temp > 30:
        # Отправляем уведомление через Telegram
        send_telegram(f"⚠️ Авария: температура {temp}°C превысила норму!")

# Сохраняем в CSV
with open('sensor_log.csv', 'a', newline='') as f:
    writer = csv.writer(f)
    for r in records:
        writer.writerow([datetime.now().isoformat(), r.get('temp'), r.get('hum')])

print(f"Обработано {len(records)} записей. Аномалий: {sum(1 for r in records if r.get('temp', 0) > 30)}")

AI выполняет код, отправляет результат в чат и продолжает мониторинг в фоне через long polling.

Сценарий 2: LoRaWAN-датчики → ChirpStack → MQTT → ASI Biont

Архитектура

Для промышленных LoRaWAN-сетей (например, датчики Dragino LSN50 на складе) используется MQTT-мост. Сетевой сервер ChirpStack публикует все входящие данные в MQTT-топик application/+/device/+/event/up. ASI Biont подключается к MQTT-брокеру и подписывается на нужные топики.

Подключение через диалог

Пользователь пишет AI:

«Подключись к MQTT-брокеру по адресу mqtt://192.168.1.100:1883, логин admin, пароль secret. Подпишись на топик application/+/device/+/event/up. Парси payload в формате JSON. Если уровень заряда батареи ниже 20% — отправь email на support@company.com».

AI генерирует код:

import paho.mqtt.client as mqtt
import json
import smtplib
from email.message import EmailMessage

def on_message(client, userdata, msg):
    data = json.loads(msg.payload)
    device_id = data.get('deviceName', 'unknown')
    battery = data.get('object', {}).get('batteryLevel', 100)

    if battery < 20:
        # Отправляем email
        email = EmailMessage()
        email.set_content(f"Устройство {device_id}: уровень батареи {battery}%")
        email['Subject'] = '⚠️ Низкий заряд батареи LoRa-датчика'
        email['To'] = 'support@company.com'
        email['From'] = 'asi-biont@example.com'

        with smtplib.SMTP('smtp.gmail.com', 587) as server:
            server.starttls()
            server.login('user', 'password')
            server.send_message(email)

        print(f"Уведомление отправлено для {device_id}")

client = mqtt.Client()
client.username_pw_set('admin', 'secret')
client.on_message = on_message
client.connect('192.168.1.100', 1883, 60)
client.subscribe('application/+/device/+/event/up')
client.loop_start()  # Не блокирующий режим — таймаут sandbox не сработает
print("MQTT-подписка активна")

AI запускает код, подписка активна, и каждое новое сообщение от LoRaWAN-датчика обрабатывается мгновенно.

Преимущества подхода

  • Zero backend: не нужно разворачивать сервер для LoRaWAN, всё делает AI.
  • Гибкие сценарии: можно добавить предиктивную аналитику (например, AI предсказывает отказ батареи по тренду напряжения).
  • Любые датчики: подключайте LoRa, LoRaWAN, Zigbee, Wi-Fi — AI сам выберет протокол.

Как начать

  1. Соберите ESP32 с LoRa-модулем или настройте LoRaWAN-шлюз.
  2. Запустите bridge.py (если используете COM-порт) или укажите MQTT-брокер.
  3. Опишите задачу в чате ASI Biont: «Подключись к LoRa-датчику, читай температуру, отправляй в Telegram при превышении 30°C».
  4. AI сам напишет код, подключится и начнёт мониторинг.

Попробуйте интеграцию уже сегодня на asibiont.com.

← Все статьи

Комментарии

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

15 промтов для GitHub Copilot: от коммитов до code review — как AI меняет работу разработчика

8 июля 2026

Курс мобильной разработки: от нуля до App Store в 2026 году – ваш карьерный ускоритель с обучением на основе ИИ

8 июля 2026

Курс по пожарной безопасности на Asibiont.com: Освойте правила пожарной безопасности с помощью обучения на основе ИИ

8 июля 2026

Интеграция AI-агента с Мегаплан: как автоматизировать CRM без кода и за 15 минут

8 июля 2026

IoT против IoE: почему Internet of Everything — это не просто новый термин, а смена парадигмы (2026)

7 июля 2026

7 промтов для Rust: системное программирование, CLI и WebAssembly

7 июля 2026

Интеграция датчика температуры DS18B20 с AI-агентом ASI Biont: от аппаратной схемы до предиктивной аналитики

7 июля 2026

Squarespace и AI: как автоматизировать магазин без кода с ASI Biont и сэкономить 15 часов в неделю

7 июля 2026

Чёрная дыра как commit: что общего у космоса и контроля версий

7 июля 2026