Введение
Управление автопарком — одна из самых затратных и сложных задач в логистике. Контроль топлива, мониторинг маршрутов, планирование техобслуживания — всё это требует постоянного внимания и ручного труда. Но что, если передать эти задачи AI-агенту? ASI Biont — это AI-агент, который подключается к вашему оборудованию через диалог в чате и берёт на себя интеграцию. В этой статье мы разберём, как подключить систему fleet management к ASI Biont, используя реальные протоколы: GPS-трекеры через COM-порт, данные с CAN-шины автомобиля, а также HTTP API для управления маршрутами и уведомлениями. Никаких панелей управления — всё делается через чат.
Что такое Fleet Management и зачем его подключать к AI-агенту?
Fleet management — это система управления автопарком, которая включает в себя GPS-трекеры, датчики уровня топлива, CAN-шину для считывания параметров двигателя, а также серверную часть для хранения и анализа данных. Обычно такие системы требуют настройки вручную: программисты пишут скрипты для сбора данных, настраивают триггеры и уведомления. ASI Biont автоматизирует этот процесс: вы описываете в чате, что нужно сделать, и AI сам пишет код интеграции, подключаясь к вашему оборудованию через один из поддерживаемых протоколов.
Как ASI Biont подключается к Fleet Management?
ASI Biont поддерживает несколько способов интеграции с устройствами автопарка:
- COM-порт (RS-232/RS-485) — для подключения GPS-трекеров через Hardware Bridge (bridge.py на вашем ПК).
- CAN bus — для чтения данных с CAN-шины автомобиля (скорость, расход топлива, обороты двигателя).
- HTTP API — для интеграции с облачными платформами fleet management (например, Wialon, Omnicomm).
- MQTT — для подключения IoT-трекеров, которые публикуют данные в MQTT-брокер.
- execute_python — универсальный способ: AI пишет Python-скрипт с использованием библиотек pyserial, python-can, requests, paho-mqtt и выполняет его в облаке.
Все команды отправляются через industrial_command() — это встроенный инструмент ASI Biont для работы с промышленным оборудованием. Пользователь просто описывает задачу в чате, и AI выбирает подходящий протокол.
Сценарий 1: Подключение GPS-трекера через COM-порт (Hardware Bridge)
Допустим, у вас есть GPS-трекер, который подключается к компьютеру через COM-порт и передаёт NMEA-строки (например, $GPGGA, $GPRMC). Вы хотите, чтобы AI-агент каждые 5 минут считывал координаты и отправлял уведомление в Telegram, если автомобиль выехал за пределы заданной геозоны.
Как это работает?
- Вы скачиваете bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
- Запускаете bridge.py на своём ПК с параметрами:
--token=YOUR_TOKEN --ports=COM3 --baud 9600 --rate=5. - Bridge подключается к ASI Biont через WebSocket (единственный канал связи) и открывает COM-порт.
- Вы пишете в чат: «Подключись к GPS-трекеру на COM3, 9600 бод. Каждые 5 минут читай NMEA-строки, парси координаты. Если автомобиль выезжает за пределы радиуса 10 км от точки (55.751244, 37.618423), отправь уведомление в Telegram».
- AI использует industrial_command(protocol='serial', command='serial_write_and_read', data='...') для отправки команды на bridge и получения ответа.
Пример кода, который генерирует AI
AI пишет Python-скрипт для execute_python, который подключается к Telegram Bot API и анализирует геоданные:
import requests
import json
from math import radians, cos, sin, asin, sqrt
# Конфигурация
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"
HOME_LAT, HOME_LON = 55.751244, 37.618423
RADIUS_KM = 10.0
def haversine(lat1, lon1, lat2, lon2):
R = 6371
dlat = radians(lat2 - lat1)
dlon = radians(lon2 - lon1)
a = sin(dlat/2)**2 + cos(radians(lat1)) * cos(radians(lat2)) * sin(dlon/2)**2
return 2 * R * asin(sqrt(a))
def parse_nmea(sentence):
if sentence.startswith('$GPGGA'):
parts = sentence.split(',')
if len(parts) >= 6 and parts[2] and parts[4]:
lat = float(parts[2][:2]) + float(parts[2][2:])/60
lon = float(parts[4][:3]) + float(parts[4][3:])/60
if parts[3] == 'S': lat = -lat
if parts[5] == 'W': lon = -lon
return lat, lon
return None
# Допустим, AI получил NMEA-строку через bridge
nmea_data = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47"
coords = parse_nmea(nmea_data)
if coords:
lat, lon = coords
dist = haversine(HOME_LAT, HOME_LON, lat, lon)
if dist > RADIUS_KM:
msg = f"⚠️ Автомобиль вышел за геозону! Координаты: {lat:.4f}, {lon:.4f}, расстояние: {dist:.2f} км"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": msg})
AI выполняет этот скрипт в sandbox-окружении (таймаут 30 секунд) и получает результат. Если координаты выходят за пределы — отправляется уведомление.
Сценарий 2: Чтение данных с CAN-шины автомобиля
CAN-шина — это стандартный интерфейс для считывания параметров автомобиля: скорость, обороты двигателя, уровень топлива, температура охлаждающей жидкости. ASI Biont подключается к CAN-шине через USB-to-CAN адаптер (например, PCAN-USB или CANtact) и использует библиотеку python-can.
Как это работает?
- Вы подключаете USB-to-CAN адаптер к ПК.
- Устанавливаете драйверы (например, для PCAN-USB — PCANBasic).
- В чате пишете: «Подключись к CAN-шине через PCAN-USB на bitrate 500000. Читай фреймы с ID 0x0CF00400 (скорость) и 0x0CF00300 (расход топлива). Логируй данные каждые 10 секунд и сохраняй в CSV-файл».
- AI использует industrial_command(protocol='can', command='read_frame', args={'channel': 'PCAN_USBBUS1', 'bitrate': 500000, 'can_id': '0x0CF00400'}).
Пример кода для execute_python
import can
import csv
import datetime
# Настройка CAN-интерфейса
bus = can.interface.Bus(channel='PCAN_USBBUS1', bustype='pcan', bitrate=500000)
# ID фреймов для скорости и расхода топлива
SPEED_ID = 0x0CF00400
FUEL_ID = 0x0CF00300
# Чтение одного фрейма (не бесконечный цикл!)
msg = bus.recv(timeout=1.0)
if msg is not None:
if msg.arbitration_id == SPEED_ID:
speed = msg.data[0] # пример: первый байт — скорость в км/ч
print(f"Скорость: {speed} км/ч")
elif msg.arbitration_id == FUEL_ID:
fuel = (msg.data[0] << 8) | msg.data[1] # два байта — расход
print(f"Расход топлива: {fuel} л/100км")
# Сохранение в CSV
with open('can_data.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([datetime.datetime.now(), hex(msg.arbitration_id), msg.data.hex()])
bus.shutdown()
AI может настроить отправку этих данных в Telegram или на сервер fleet management через HTTP API.
Сценарий 3: Управление маршрутами через HTTP API
Многие платформы fleet management (например, Wialon, Omnicomm, Gurtam) предоставляют REST API для управления маршрутами, получения отчётов и отправки команд на трекеры. ASI Biont подключается к такому API через aiohttp или requests.
Как это работает?
- Вы даёте AI API-ключ от вашей платформы fleet management.
- В чате пишете: «Подключись к Wialon API (https://hst-api.wialon.com). Получи список всех активных автомобилей за последние 24 часа. Если какой-то автомобиль превысил скорость 90 км/ч, отправь уведомление в Telegram».
- AI пишет Python-скрипт с requests, который авторизуется, получает данные и анализирует.
Пример кода
import requests
import json
# Авторизация в Wialon
TOKEN = "ваш_токен"
BASE_URL = "https://hst-api.wialon.com"
# Получение сессии
resp = requests.post(f"{BASE_URL}/wialon/ajax.html", params={
"svc": "token/login",
"params": json.dumps({"token": TOKEN})
})
if resp.status_code == 200:
sid = resp.json()['eid']
# Получение списка объектов
resp2 = requests.post(f"{BASE_URL}/wialon/ajax.html", params={
"svc": "core/search_items",
"params": json.dumps({"spec": {"itemsType": "avl_unit"}, "force": 1, "flags": 1, "from": 0, "to": 0}),
"sid": sid
})
items = resp2.json()['items']
for item in items:
name = item['nm']
# Проверка на превышение скорости (предположим, есть поле 'speed')
speed = item.get('spd', 0)
if speed > 90:
telegram_msg = f"🚗 {name} превысил скорость: {speed} км/ч"
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": telegram_msg})
Сценарий 4: Автоматизация техобслуживания
AI может анализировать данные с CAN-шины (пробег, моточасы) и автоматически создавать задачи на техобслуживание. Например, когда пробег достигает 15 000 км, AI отправляет уведомление механику и создаёт запись в Google Sheets.
Пример запроса в чате
«Подключись к CAN-шине и считывай общий пробег (ID 0x0CF00400, байты 2-5). Каждые 100 км проверяй, не превысил ли пробег 15000 км. Если да — отправь сообщение в Telegram и запиши в Google Sheets через API».
AI сгенерирует скрипт, который использует python-can для чтения, requests для Google Sheets API и telegram-уведомления.
Преимущества интеграции с ASI Biont
- Экономия времени: AI пишет код за секунды, вместо часов ручной разработки.
- Гибкость: подключайтесь к любому устройству — от GPS-трекера до CAN-шины — через единый интерфейс чата.
- Автоматизация: AI сам анализирует данные и принимает решения (отправка уведомлений, запись в базу, управление маршрутами).
- Безопасность: все скрипты выполняются в изолированном sandbox-окружении, без доступа к вашей локальной сети.
Заключение
Интеграция fleet management с AI-агентом ASI Biont — это не просто модная технология, а реальный способ сократить издержки на управление автопарком. Подключите GPS-трекеры через COM-порт, читайте CAN-шину, управляйте маршрутами через HTTP API — всё через диалог в чате. Попробуйте интеграцию на asibiont.com и автоматизируйте свой автопарк уже сегодня.
Комментарии