AI и LoRaWAN: как подключить датчики к ASI Biont через COM-порт и забыть о программировании

Проблема: LoRaWAN-сеть есть, а данных нет

Представьте: вы развернули сеть LoRaWAN на складе или ферме — десятки датчиков температуры, влажности, вибрации отправляют пакеты через шлюз на сервер (например, The Things Network или ChirpStack). Данные приходят в сыром виде — hex-строки, которые нужно расшифровать, сохранить в БД, настроить алерты. Классический подход: писать парсер на Python, поднимать InfluxDB, настраивать Grafana, прикручивать Telegram-бота. Это недели работы для DevOps-инженера.

AI-агент ASI Biont решает эту задачу за минуты. Вместо того чтобы вручную писать код интеграции, вы описываете задачу на естественном языке: «Подключись к моему LoRaWAN-серверу, читай данные с датчика температуры на складе, и если температура выше 35°C — отправь уведомление в Telegram». AI сам пишет Python-скрипт, подключается к вашему устройству и начинает работать.

Как ASI Biont подключается к LoRaWAN-устройствам

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

  1. MQTT — самый распространённый способ. Шлюз/сервер LoRaWAN публикует данные в MQTT-топик (например, application/1/device/+/event/up). AI подписывается на этот топик через библиотеку paho-mqtt, парсит пришедший JSON и выполняет нужные действия.
  2. HTTP API — если ваш LoRaWAN-сервер предоставляет REST API (например, ChirpStack или The Things Stack), AI может опрашивать его через requests или aiohttp.
  3. COM-порт через Hardware Bridge — если у вас LoRaWAN-модем (например, Dragino или MultiTech) подключен к ПК через USB-COM-порт. AI отправляет AT-команды через bridge.py, который локально пишет в COM-порт.

Почему MQTT — оптимальный выбор? Большинство современных LoRaWAN-серверов (ChirpStack, The Things Stack, Loriot) имеют встроенный MQTT-брокер. Это асинхронный протокол — данные приходят в реальном времени, без polling. AI подписывается на топик один раз и получает все новые сообщения.

Кейс: автоматизация удалённого мониторинга холодильной камеры

Исходные данные

  • Устройство: датчик температуры/влажности Dragino LHT65 (LoRaWAN) + шлюз Dragino LG01, подключённый к The Things Network.
  • Задача: собирать температуру каждые 5 минут, если температура превышает +8°C (нарушение холодовой цепи) — отправлять срочное уведомление в Telegram и включать резервный компрессор через реле.
  • Способ подключения: MQTT-подписка на топик v3/{app_id}/devices/{dev_id}/up.

Пошаговое подключение через ASI Biont

Шаг 1. Пользователь пишет в чат:

«Подключись к MQTT-брокеру The Things Network по адресу eu1.cloud.thethings.network:1883, используй логин my-app@ttn и пароль NNSXS.XXXXXXXX. Подпишись на топик v3/my-app/devices/+/up. Парси JSON-сообщения: поле uplink_message.decoded_payload.temperature — это температура в °C. Если температура > 8, отправь сообщение в Telegram через бота с токеном 123456:ABC-DEF, chat_id 987654321. Также отправь MQTT-команду в топик v3/my-app/devices/lht65-01/down/push с payload для включения реле (FPort=1, payload=0x01).»

Шаг 2. ASI Biont генерирует Python-скрипт и выполняет его в sandbox-окружении (через execute_python).

import paho.mqtt.client as mqtt
import json
import requests

BROKER = "eu1.cloud.thethings.network"
PORT = 1883
USERNAME = "my-app@ttn"
PASSWORD = "NNSXS.XXXXXXXX"
TELEGRAM_TOKEN = "123456:ABC-DEF"
TELEGRAM_CHAT_ID = "987654321"

def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))
    client.subscribe("v3/my-app/devices/+/up")

def on_message(client, userdata, msg):
    data = json.loads(msg.payload)
    temp = data.get("uplink_message", {}).get("decoded_payload", {}).get("temperature")
    if temp is None:
        return
    print(f"Temperature: {temp}°C")
    if temp > 8:
        # Отправка уведомления в Telegram
        requests.post(
            f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
            json={"chat_id": TELEGRAM_CHAT_ID, "text": f"⚠️ Температура {temp}°C превышает порог 8°C!"}
        )
        # Отправка команды на реле через MQTT downlink
        downlink_payload = {
            "downlinks": [{"f_port": 1, "frm_payload": "AQ==", "priority": "NORMAL"}]
        }
        client.publish("v3/my-app/devices/lht65-01/down/push", json.dumps(downlink_payload))

client = mqtt.Client()
client.username_pw_set(USERNAME, PASSWORD)
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.loop_forever()

Шаг 3. Скрипт запускается и начинает работать. Пользователь видит в чате логи:

«Подключился к MQTT. Ожидаю данные...»
«Температура 7.2°C — в норме»
«⚠️ Температура 9.1°C — отправлено уведомление, отправлена команда на реле»

Результаты

Метрика До ASI Biont С ASI Biont
Время настройки 2-3 дня (написание парсера, настройка уведомлений) 15 минут (описание задачи в чате)
Реакция на аварию Задержка 10-30 минут (человеческий фактор) Мгновенно (автоматическая отправка уведомления и команды)
Объём кода ~500 строк (Python + SQL + конфиги) 0 строк (AI написал сам)
Масштабирование на 100 датчиков Нужно менять код (добавлять новые dev_id) Достаточно подписаться на wildcard-топик (+ вместо конкретного dev_id)

Альтернативные сценарии подключения LoRaWAN

1. Через COM-порт (Hardware Bridge)

Если у вас LoRaWAN-модем (например, Dragino LoRa/GPS HAT для Raspberry Pi), подключённый через UART, AI может управлять им через bridge.py.

Команда пользователя:

«Подключись к COM3 на 115200 baud, отправь AT+CFG=... для настройки модема, читай входящие LoRa-пакеты и парси их как hex-строки.»

AI использует industrial_command с протоколом serial://:

industrial_command(
    protocol='serial://',
    command='serial_write_and_read',
    data='41542b4346473d...0a'  # hex для "AT+CFG=...\n"
)

2. Через HTTP API (ChirpStack)

Если ваш LoRaWAN-сервер — ChirpStack, AI может опрашивать его REST API.

Команда пользователя:

«Получи список устройств из ChirpStack по адресу http://192.168.1.100:8080, используй API-ключ abc123. Для каждого устройства прочитай последние данные с датчика температуры и сохрани в CSV.»

AI пишет скрипт с requests:

import requests, csv
api_key = "abc123"
headers = {"Grpc-Metadata-Authorization": f"Bearer {api_key}"}
response = requests.get("http://192.168.1.100:8080/api/devices", headers=headers)
devices = response.json()["result"]
with open("sensors.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["dev_id", "temperature", "timestamp"])
    for dev in devices:
        dev_id = dev["devEui"]
        data_resp = requests.get(f"http://192.168.1.100:8080/api/devices/{dev_id}/data", headers=headers)
        if data_resp.status_code == 200:
            last = data_resp.json()["result"][-1]
            writer.writerow([dev_id, last["temperature"], last["time"]])
print("CSV готов")

3. Управление реле и клапанами через LoRaWAN downlink

LoRaWAN поддерживает двустороннюю связь. AI может не только читать данные, но и отправлять команды обратно на устройство.

Пример команды пользователя:

«При получении сигнала «пожар» от датчика дыма (payload = 0x02), отправь команду на открытие клапана аварийного сброса: FPort=2, payload=0x01.»

AI обрабатывает входящий MQTT-пакет, проверяет условие и публикует downlink-сообщение.

Почему это выгодно: AI вместо программиста IoT

  1. Zero-coding. Пользователь не пишет ни одной строки кода — AI генерирует и выполняет скрипт на основе текстового описания.
  2. Мгновенная интеграция. Не нужно ждать, пока разработчики добавят поддержку нового устройства — AI подключается к любому LoRaWAN-серверу с MQTT, HTTP или через COM-порт.
  3. Гибкость. AI может комбинировать данные с нескольких устройств: например, анализировать температуру и влажность одновременно, строить графики через matplotlib и отправлять отчёт на email.
  4. Безопасность. Все скрипты выполняются в изолированном sandbox-окружении с ограниченными правами (нет доступа к файловой системе, сети — только к разрешённым ресурсам).
  5. Масштабирование. Один AI-агент может управлять сотнями LoRaWAN-устройств — достаточно добавить wildcard-топик в MQTT-подписку.

Заключение

LoRaWAN — мощная технология для IoT, но её интеграция с корпоративными системами часто требует значительных усилий. ASI Biont превращает этот процесс в диалог: вы описываете задачу, AI пишет код и подключается к вашему оборудованию. Без панелей управления, без кнопок «добавить устройство» — только чат с AI.

Попробуйте сами. Зайдите на asibiont.com, создайте API-ключ, скачайте bridge.py (если используете COM-порт) и напишите AI: «Подключись к моему LoRaWAN-серверу через MQTT и отправляй уведомления в Telegram при превышении температуры». Всё остальное сделает AI.

← Все статьи

Комментарии

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

Как составить договор купли-продажи без юриста: курс «Гражданское право РФ» на Asibiont с AI-обучением

23 июля 2026

AI-агент для Microsoft Dynamics 365: полная автоматизация ERP без кода с ASI Biont

23 июля 2026

Yope привлек $12,3 млн: как Vibe Coding создает приватную соцсеть без алгоритмов и рекламы

22 июля 2026

Освоение управления продуктами и роста в 2026 году: навыки, обучение с ИИ и влияние на карьеру

22 июля 2026

Интеграция ВТБ с AI-агентом ASI Biont: как автоматизировать платежи и финансовые операции без кода в 2026 году

22 июля 2026

Ускорение границ научных открытий: обязательства Google в $40 млн на миссию Genesis

22 июля 2026

Как доступ к знаниям изменил обучение: разбор статьи Александра Горного

22 июля 2026

Интеграция LinkedIn с AI-агентом: как ASI Biont автоматизирует нетворкинг, парсинг и контент без ручного труда

22 июля 2026

Освоение Kubernetes в продакшене: почему Helm, Service Mesh и GitOps обязательны в 2026 году

22 июля 2026