Введение
Современная логистика и управление автопарком немыслимы без точного позиционирования. GPS/GLONASS трекеры, передающие данные в формате NMEA (National Marine Electronics Association), стали стандартом де-факто для мониторинга транспорта. Однако просто получать координаты — недостаточно. Чтобы превратить поток NMEA-строк в умную систему, способную автоматически оповещать о нарушениях маршрута, предсказывать время прибытия и оптимизировать рейсы, нужен AI-агент.
ASI Biont — это AI-агент, который подключается к любому устройству через диалог в чате. Пользователь описывает задачу, передаёт параметры подключения, и AI сам пишет код интеграции на Python. Никаких панелей управления, кнопок «добавить устройство» или ожидания обновлений — всё работает сразу.
В этой статье мы разберём, как подключить GPS/GLONASS трекер (NMEA) к ASI Biont через COM-порт, распарсить строки $GPGGA и $GPRMC, и построить сценарии автоматизации: уведомления в Telegram при выходе за геозону, логирование в Google Sheets и контроль скорости в реальном времени.
Что такое GPS/GLONASS трекер (NMEA) и зачем его подключать к AI-агенту
GPS/GLONASS трекер — это устройство, которое получает сигналы со спутников и формирует текстовые строки в стандарте NMEA 0183. Каждая строка начинается с символа $, за которым следует идентификатор (например, $GPGGA, $GPRMC, $GPGSV). Внутри строки через запятую передаются: время UTC, широта, долгота, высота, скорость, курс, количество спутников и другие данные.
Трекер подключается к компьютеру или одноплатнику (Raspberry Pi, Orange Pi) через последовательный порт (UART), который в операционной системе выглядит как COM-порт (Windows) или /dev/ttyUSB0 (Linux). Baud rate обычно 9600 или 115200 бит/с.
ASI Biont может:
- читать NMEA-строки в реальном времени,
- извлекать координаты и скорость,
- проверять вхождение в геозону (полигон),
- отправлять уведомления в Telegram/Slack/email,
- записывать историю в базу данных (PostgreSQL, MongoDB) или Excel,
- управлять исполнительными устройствами (реле, светофоры) через Modbus/GPIO.
Без AI-агента для каждого трекера пришлось бы писать отдельный парсер, настраивать MQTT-брокер, писать микросервисы для алертов. С ASI Biont достаточно описать задачу на естественном языке.
Какой способ подключения используется и почему
Для интеграции GPS/GLONASS трекера через COM-порт используется Hardware Bridge — отдельное приложение bridge.py, которое пользователь запускает на своём ПК (Windows, Linux, macOS). Bridge соединяется с ASI Biont через HTTP long polling и обеспечивает доступ к локальным COM-портам.
Почему именно Hardware Bridge, а не execute_python напрямую? Потому что execute_python выполняется в облаке (sandbox) и не имеет доступа к локальным портам пользователя. Bridge же работает локально и передаёт данные в AI.
Альтернативы:
- SSH — если трекер подключён к Raspberry Pi, можно использовать SSH + execute_python. Но COM-порт всё равно требует локального доступа.
- MQTT — если трекер уже отправляет NMEA через MQTT (некоторые современные трекеры поддерживают).
- HTTP API — если трекер имеет REST API (редко для NMEA).
Для 90% классических GPS-трекеров (например, u-blox NEO-6M, Quectel L80-R, Teltonika FMB001) Hardware Bridge — единственный и надёжный способ.
Пошаговая интеграция: от NMEA-строки до AI-решения
Шаг 1. Подключение трекера к компьютеру
Подключите GPS-модуль к USB-UART преобразователю (например, CP2102 или CH340G). Подключите к ПК. Определите номер порта:
- Windows: Диспетчер устройств → Порты (COM и LPT) → USB Serial Port (COM3).
- Linux: ls /dev/ttyUSB* или dmesg | grep tty.
Шаг 2. Запуск Hardware Bridge
Скачайте bridge.py с официального репозитория ASI Biont. Запустите с токеном и указанием порта:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=9600
Для Linux:
python3 bridge.py --token=ВАШ_ТОКЕН --ports=/dev/ttyUSB0 --default-baud=9600
Bridge начнёт опрашивать порт и отправлять данные в облако ASI Biont. AI увидит устройство как serial://COM3.
Шаг 3. Описание задачи в чате с ASI Biont
Откройте диалог с ASI Biont и опишите:
«Подключись к GPS-трекеру на COM3 через bridge. Читай NMEA-строки, парси $GPGGA и $GPRMC. Выводи текущие координаты, скорость и количество спутников каждые 5 секунд. Если скорость превышает 90 км/ч — отправь уведомление в Telegram по токену: BOT_TOKEN и chat_id: CHAT_ID.»
AI самостоятельно:
1. Сгенерирует Python-скрипт для execute_python, который подписывается на топик bridge (через industrial_command с протоколом serial://).
2. Настроит парсинг NMEA с помощью библиотеки pynmea2.
3. Напишет логику проверки скорости.
4. Отправит уведомление через Telegram API (requests.post).
Пример сгенерированного кода
Вот как может выглядеть код, который AI создаст и выполнит в sandbox (execute_python):
import re
import requests
from datetime import datetime
# Параметры
BOT_TOKEN = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
CHAT_ID = "987654321"
SPEED_LIMIT = 90 # км/ч
# Функция парсинга NMEA-строки
def parse_gprmc(sentence):
"""Парсинг $GPRMC: время, статус, широта, долгота, скорость, дата"""
parts = sentence.split(',')
if len(parts) < 12 or parts[0] != '$GPRMC':
return None
try:
speed_knots = float(parts[7]) if parts[7] else 0.0
speed_kmh = speed_knots * 1.852
lat = parts[3]
lon = parts[5]
time_utc = parts[1]
date = parts[9]
return {
'speed_kmh': round(speed_kmh, 1),
'lat': lat,
'lon': lon,
'time': f"{time_utc[:2]}:{time_utc[2:4]}:{time_utc[4:6]} UTC",
'date': f"20{date[4:6]}-{date[2:4]}-{date[:2]}" if date else ''
}
except (ValueError, IndexError):
return None
# Симуляция получения строки от bridge (в реальности через industrial_command)
# Здесь мы используем dummy-данные для примера
nmea_example = "$GPRMC,123519,A,4807.038,N,01131.000,E,50.5,230.3,110726,0.0,E*6A"
parsed = parse_gprmc(nmea_example)
if parsed:
print(f"Скорость: {parsed['speed_kmh']} км/ч")
if parsed['speed_kmh'] > SPEED_LIMIT:
message = f"⚠️ Превышение скорости! {parsed['speed_kmh']} км/ч в {parsed['time']}"
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
payload = {"chat_id": CHAT_ID, "text": message}
response = requests.post(url, json=payload)
print("Уведомление отправлено:", response.status_code)
Этот код выполняется в sandbox ASI Biont. AI получает NMEA-строки от bridge через механизм long polling, парсит их и принимает решения.
Шаг 4. Сценарии автоматизации
После успешного парсинга можно настроить:
| Сценарий | Описание | Команда AI |
|---|---|---|
| Геозона | Если трекер покидает заданный район — уведомление | «Отправь в Telegram, если координаты выходят за полигон [(55.75,37.62), (55.76,37.63)]» |
| Контроль скорости | При превышении 90 км/ч — алерт | «Если speed_kmh > 90 — уведомление в Telegram» |
| Логирование | Запись каждой точки в Google Sheets или PostgreSQL | «Сохраняй координаты в Google Sheets через API» |
| Автоматическое отключение | Если трекер стоит на месте > 30 мин — выключить реле через Modbus | «Если скорость = 0 и время > 30 мин — отправить write_coil на PLC» |
| Предсказание прибытия | На основе скорости и маршрута рассчитать ETA | «Рассчитай время до точки назначения и отправь в Slack» |
Почему это выгодно
- Не нужно писать код вручную. AI генерирует рабочий код за секунды. Пользователь только описывает задачу.
- Любое оборудование. ASI Biont подключается к любому устройству через execute_python — AI сам пишет код интеграции под каждое устройство. Не нужно ждать, пока разработчики добавят поддержку — подключай что угодно прямо сейчас. Пользователь просто описывает в чате, к какому устройству подключиться и какие параметры (порт, IP, baud rate, API-ключ), и AI сам пишет код на Python с использованием pyserial, paramiko, paho-mqtt, pymodbus, aiohttp или opcua-asyncio.
- Гибкость. AI может адаптировать логику под любые условия: смена геозоны, порога скорости, способа уведомления.
- Экономия времени. Интеграция, которая раньше занимала дни, теперь выполняется за минуты.
Заключение
Интеграция GPS/GLONASS трекеров (NMEA) с AI-агентом ASI Biont через COM-порт открывает новые возможности для мониторинга транспорта и автоматизации логистики. Hardware Bridge обеспечивает безопасное локальное подключение, а AI берёт на себя парсинг NMEA-строк, анализ данных и принятие решений.
Попробуйте сами: подключите ваш GPS-трекер к ASI Biont и опишите задачу в чате. Увидите, как AI за секунды создаст работающую систему мониторинга с уведомлениями, логированием и геозонами.
➡️ Начните интеграцию на asibiont.com
Комментарии