Интеграция 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.

← Все статьи

Комментарии

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

Как за 4 месяца стать Junior 3D-художником: обзор курса «3D-моделирование в Blender» на Asibiont

18 июля 2026

Как тренировать алгоритмическое мышление в 2026: 11 промтов для LeetCode, оценки сложности и system design интервью

29 сентября 2026

Как защитить железку от китайцев: опыт передачи документации и контрактные ловушки

17 июля 2026

От кода к облаку: почему курс DevOps и облачные технологии на Asibiont.com — ваш кратчайший путь к современной инфраструктуре

13 июля 2026

Как мы автоматизировали управление DNS в Cloudflare за минуты с помощью AI-агента ASI Biont (без кода)

27 июля 2026

Cambridge Alevel English Language (9093): полный обзор курса и обучение на asibiont.com

14 августа 2026

Разработчик 2.0: следующий уровень абстракции

2 августа 2026

Почему каждому генеральному директору нужна Executive MBA / DBA — Стратегическое управление бизнесом: практическое руководство для топ-лидеров

22 июля 2026

Freshdesk интеграция с AI-агентом ASI Biont: автоматизация тикетов без кода

13 августа 2026