Интеграция Asset Tracking с AI-агентом ASI Biont: MQTT, GPS и автоматизация склада

Потери активов на складах и в логистике — одна из главных головных болей бизнеса. По данным исследования Zebra Technologies (2024), до 30% запасов на складах могут быть утеряны из-за ошибок учёта, а время поиска нужного оборудования занимает до 20% рабочего времени персонала. Системы asset tracking (GPS-трекеры, BLE-метки) призваны решить эту проблему, но их интеграция с AI-агентами открывает новые горизонты: автоматическая инвентаризация, предиктивное оповещение о перемещениях, генерация отчётов без участия человека. В этой статье я покажу, как подключить устройство Asset Tracking (на примере ESP32 с GPS-модулем NEO-6M и датчиком BME280) к AI-агенту ASI Biont через MQTT, настроить сбор данных и автоматизировать управление активами — и всё это без написания кода вручную.

Что такое Asset Tracking и зачем подключать к AI-агенту?

Asset tracking — это система отслеживания местоположения и состояния физических объектов (оборудование, товары, транспорт) в реальном времени. Устройства asset tracking бывают:
- GPS-трекеры — для наружного мониторинга (автомобили, контейнеры, строительная техника).
- BLE-метки — для внутреннего позиционирования (инструменты, паллеты, медицинское оборудование).
- Комбинированные — с датчиками температуры, влажности, удара (для перевозки хрупких грузов).

Подключение такого устройства к AI-агенту ASI Biont превращает пассивный трекер в интеллектуального помощника: AI анализирует данные, выявляет аномалии, отправляет уведомления в Telegram или Slack, формирует отчёты и даже автоматически корректирует записи в системе учёта (1С, SAP). Всё это происходит через диалог в чате — вы просто описываете задачу, а AI пишет и выполняет код интеграции.

Как ASI Biont подключается к устройству Asset Tracking?

AI-агент ASI Biont не имеет жёстко заданных протоколов — он сам пишет код под ваше устройство. Для asset tracking оптимальны два способа:

  1. MQTT — ESP32 (или другой микроконтроллер) публикует данные о местоположении и сенсорах в MQTT-брокер (например, Mosquitto или HiveMQ Cloud). AI-агент подписывается на нужный топик, получает сообщения, парсит их и выполняет действия.
  2. Hardware Bridge + COM-порт — если трекер подключён к ПК через USB/UART (например, GPS-приёмник), AI использует bridge.py для чтения NMEA-строк и отправки команд.

В этой статье мы рассмотрим MQTT-подход, так как он наиболее универсален для IoT-устройств и не требует постоянного подключения к ПК.

Практический сценарий: Отслеживание контейнеров с лекарствами

Представьте: у вас есть 50 контейнеров с термочувствительными препаратами. Каждый контейнер оборудован ESP32 с GPS-модулем NEO-6M и датчиком BME280 (температура, влажность). Контейнеры перемещаются между складом и больницами. Задача:
- Собирать координаты и показания датчиков каждые 5 минут.
- При выходе температуры за пределы 2-8°C — мгновенно оповещать логиста.
- Раз в сутки формировать отчёт о перемещениях.

Шаг 1. Настройка ESP32

ESP32 подключаем к GPS-модулю и BME280. Схема подключения:

ESP32 NEO-6M BME280
3.3V VCC VCC
GND GND GND
GPIO16 (RX2) TX —
GPIO17 (TX2) RX —
GPIO21 (SDA) — SDA
GPIO22 (SCL) — SCL

Прошивка ESP32 на MicroPython. Код публикует данные в MQTT-брокер:

import network
import ujson
import time
from machine import Pin, I2C, UART
import bme280
from umqtt.simple import MQTTClient

# Настройка Wi-Fi
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('YOUR_SSID', 'YOUR_PASSWORD')
while not wifi.isconnected():
    time.sleep(1)

# Настройка UART для GPS
uart = UART(2, baudrate=9600, rx=16, tx=17)

# Настройка I2C для BME280
i2c = I2C(scl=Pin(22), sda=Pin(21))
sensor = bme280.BME280(i2c=i2c)

# MQTT-клиент
def mqtt_callback(topic, msg):
    print('Received:', topic, msg)

client = MQTTClient('esp32_asset_42', 'broker.hivemq.com', port=1883)
client.set_callback(mqtt_callback)
client.connect()

while True:
    # Чтение GPS (NMEA)
    line = uart.readline()
    if line and line.startswith(b'$GPGGA'):
        parts = line.decode().split(',')
        if len(parts) > 5 and parts[2] and parts[4]:
            lat = float(parts[2][:2]) + float(parts[2][2:]) / 60.0
            lon = float(parts[4][:3]) + float(parts[4][3:]) / 60.0
            if parts[3] == 'S': lat = -lat
            if parts[5] == 'W': lon = -lon

            # Чтение BME280
            temp, press, hum = sensor.read_compensated_data()
            temp_c = temp / 100.0

            payload = ujson.dumps({
                'device_id': 'container_42',
                'lat': lat,
                'lon': lon,
                'temperature': temp_c,
                'humidity': hum / 1024.0,
                'timestamp': time.time()
            })
            client.publish(b'asset/container_42/data', payload.encode())
            time.sleep(300)  # 5 минут

Шаг 2. Подключение ASI Biont к MQTT-брокеру

Теперь, когда ESP32 публикует данные, AI-агент должен их получать. Всё, что нужно сделать пользователю — написать в чат ASI Biont:

«Подключись к MQTT-брокеру по адресу broker.hivemq.com:1883, подпишись на топик asset/container_42/data. При получении сообщения проверяй температуру: если она выходит за пределы 2-8°C, отправь уведомление в Telegram на ID 123456789. Также раз в 24 часа формируй Excel-отчёт со всеми полученными данными за сутки и сохрани его в формате report_YYYY-MM-DD.xlsx.»

AI сам напишет и выполнит скрипт на Python в sandbox-окружении. Вот как выглядит сгенерированный код (вы можете увидеть его в логах чата):

import paho.mqtt.client as mqtt
import json
import requests
from datetime import datetime
import openpyxl
from openpyxl import Workbook

# Конфигурация
BROKER = 'broker.hivemq.com'
PORT = 1883
TOPIC = 'asset/container_42/data'
TELEGRAM_BOT_TOKEN = 'YOUR_BOT_TOKEN'
TELEGRAM_CHAT_ID = '123456789'
TEMP_MIN = 2.0
TEMP_MAX = 8.0
DATA_BUFFER = []

# Функция отправки в Telegram
def send_telegram_alert(message):
    url = f'https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage'
    payload = {'chat_id': TELEGRAM_CHAT_ID, 'text': message}
    try:
        requests.post(url, json=payload, timeout=5)
    except Exception as e:
        print('Telegram error:', e)

# Функция формирования отчёта
def generate_report():
    if not DATA_BUFFER:
        return
    wb = Workbook()
    ws = wb.active
    ws.title = 'Asset Data'
    ws.append(['Timestamp', 'Device ID', 'Latitude', 'Longitude', 'Temperature', 'Humidity'])
    for entry in DATA_BUFFER:
        ws.append([
            entry.get('timestamp'),
            entry.get('device_id'),
            entry.get('lat'),
            entry.get('lon'),
            entry.get('temperature'),
            entry.get('humidity')
        ])
    filename = f'report_{datetime.now().strftime("%Y-%m-%d")}.xlsx'
    wb.save(filename)
    print(f'Report saved: {filename}')

# Callback при получении сообщения
def on_message(client, userdata, msg):
    try:
        data = json.loads(msg.payload.decode())
        DATA_BUFFER.append(data)
        temp = data.get('temperature')
        if temp and (temp < TEMP_MIN or temp > TEMP_MAX):
            alert = f'⚠️ Температура вышла за норму! Устройство {data["device_id"]}: {temp}°C'
            send_telegram_alert(alert)
            print(alert)
        else:
            print(f'Норма: {temp}°C')
    except Exception as e:
        print('Parse error:', e)

# Подключение
def main():
    client = mqtt.Client()
    client.on_message = on_message
    client.connect(BROKER, PORT, 60)
    client.subscribe(TOPIC)
    print(f'Подписан на {TOPIC}')
    # Таймер на генерацию отчёта раз в сутки (здесь упрощённо: после 10 сообщений)
    # В реальности используйте threading.Timer или asyncio
    client.loop_start()
    import time
    time.sleep(86400)  # или до прерывания
    generate_report()
    client.loop_stop()

if __name__ == '__main__':
    main()

Обратите внимание: AI сам подставляет ваш Telegram-токен и ID чата, которые вы указали в диалоге. Всё выполняется в облаке, без установки дополнительного ПО на ваш ПК (кроме bridge.py, если используете COM-порт).

Шаг 3. Результат работы

После запуска скрипта:
- Каждые 5 минут AI получает данные с ESP32.
- При превышении температуры — мгновенное уведомление в Telegram.
- Раз в сутки — Excel-файл с историей перемещений.

Вы можете в любой момент запросить у AI: «Покажи последние 10 координат контейнера 42» или «Построй график температуры за последнюю неделю» — и AI выполнит код с использованием matplotlib и отобразит результат прямо в чате.

Дополнительные сценарии для Asset Tracking

1. Управление инвентаризацией через BLE-метки

Если на складе используются BLE-метки (например, на базе nRF52840), AI может подключаться к MQTT-брокеру, куда шлюзы отправляют RSSI-сигналы. AI рассчитывает расстояние до меток и определяет, на какой стеллаже находится актив. При расхождении с учётной системой (например, 1С) AI отправляет запрос на корректировку.

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

«Подключись к MQTT-брокеру 192.168.1.100:1883, топик warehouse/ble/rssi. Для каждой метки с device_id вычисли приблизительное местоположение на основе RSSI от трёх шлюзов. Если метка покинула зону склада, отправь email на manager@company.com.»

2. Геозоны и оповещения

AI может создавать виртуальные геозоны (полигоны на карте) и отслеживать вход/выход трекера из зоны. Для этого достаточно передать AI координаты границ.

Пример:

«Создай геозону с центром (55.751244, 37.618423) и радиусом 500 метров. Если трекер container_42 выходит за пределы зоны, отправь SMS через Twilio на номер +7-999-123-45-67.»

AI сгенерирует код с использованием библиотеки geopy для расчёта расстояния и twilio для SMS.

3. Интеграция с 1С через HTTP API

Если ваша учётная система имеет REST API, AI может автоматически обновлять статус актива при изменении местоположения.

Пример:

«При получении данных с топика asset/container_42/data, если координаты изменились более чем на 100 метров от предыдущих, отправь POST-запрос на http://erp.company.com/api/v1/update с JSON: {"asset_id": "42", "lat": ...}. Авторизация: Bearer token YOUR_TOKEN.»

Почему это выгодно?

Традиционная интеграция asset tracking с AI требует:
- Написания бэкенда на Node.js/Python.
- Настройки брокера сообщений.
- Разработки системы уведомлений.
- Создания дашборда.

С ASI Biont весь процесс занимает минуты. Вы просто описываете задачу на естественном языке, и AI:
- Пишет код на Python с использованием реальных библиотек (paho-mqtt, requests, openpyxl).
- Выполняет его в sandbox-окружении.
- При необходимости генерирует отчёты, графики, отправляет уведомления.
- При использовании COM-порта (например, для прямого подключения GPS-приёмника к ПК) AI использует Hardware Bridge — вы скачиваете bridge.py из дашборда, запускаете на своём компьютере, и AI получает доступ к порту через WebSocket.

Никаких панелей управления и кнопок «добавить устройство» — всё через диалог в чате.

Заключение

Интеграция Asset Tracking с AI-агентом ASI Biont превращает обычный трекер в интеллектуальную систему управления активами. Вы получаете:
- Автоматический сбор данных о местоположении и состоянии.
- Мгновенные оповещения при нарушениях.
- Отчёты в Excel или PDF.
- Интеграцию с любыми внешними системами (ERP, Telegram, email) без программирования.

Попробуйте сами: зайдите на asibiont.com, создайте API-ключ, скачайте bridge.py (если нужно), и напишите AI: «Подключи мой GPS-трекер через MQTT и отправляй уведомления при выходе из зоны». Убедитесь, что интеграция занимает минуты, а не недели.

← Все статьи

Комментарии

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

ПБО/ФТ — Сотрудник по комплаенсу: ИИ-курс, формирующий экспертов по комплаенсу завтрашнего дня

21 июля 2026

7 промтов для оптимизации производительности кода: находим узкие места за секунды

6 июля 2026

Освоение сложных стандартов МСФО: Продвинутый курс по МСФО 9, 15, 16 и 17 с обучением на основе ИИ на asibiont.com

17 июля 2026

Кейс по маркировке CE: Как медицинский стартап сократил время выхода на рынок ЕС по MDR на 40%

9 сентября 2026

USB-to-Serial (FTDI, CH340, CP2102) и AI-агент: как ASI Biont автоматизирует COM-порт без единой строки кода

14 июля 2026

Июльский вояж: 12 игр, которые появятся в GeForce NOW и как AI помогает в их освоении

2 июля 2026

От рутины к росту: как мы автоматизировали маркетинг интернет-магазина с оборотом 50 млн ₽ и что из этого вынесли

5 сентября 2026

Промты для Go и Rust: микросервисы с gRPC и REST API, конкурентность и профилирование без лишних рук

5 октября 2026

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

24 июня 2026