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

← Все статьи

Комментарии

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

HR-отчётность в 4 раза быстрее: 10 рабочих промтов для Google Sheets и SQL, которые мы проверили на реальных данных

22 августа 2026

SEO-аудит на автопилоте: как нейросети находят 47 ошибок ранжирования за один день

21 августа 2026

Как я поднимаю чек на 40%: 12 промтов для фриланса и переговоров, которые реально работают

21 августа 2026

Промты для DevOps и SRE: как автоматизировать инфраструктуру и не утонуть в рутине

21 августа 2026

Docstring, который читают люди и машины: 14 промтов, превращающих Python-код в самодокументируемый

21 августа 2026

Юридический чек-лист для ИИ: 11 промптов, которые заменят первичный анализ договора

21 августа 2026

Как я перестал писать тексты вручную: 15 AI-промтов, которые превращают нейросеть в копирайтера-миллионера

21 августа 2026

Как я уволил двоих подрядчиков и ускорил контент в 4 раза: 12 проверенных промтов для маркетологов

21 августа 2026

Сократите время на отчёты в 5 раз: 12 промтов для Data Science, которые изменят ваш рабочий процесс

21 августа 2026