Введение
Несмотря на активное внедрение современных цифровых протоколов (Modbus TCP, MQTT, OPC UA), оборудование с последовательным интерфейсом RS-232 / COM-порт остаётся основой многих промышленных и лабораторных систем. Станки с ЧПУ, контроллеры, весы, GPS‑приёмники, датчики температуры и влажности — всё это часто оснащено именно COM-портом. Проблема в том, что интеграция таких устройств в современную IT-инфраструктуру требует написания драйверов, обработки ошибок связи, синтаксического анализа бинарных данных. А если нужно ещё и анализировать данные с помощью AI, задача становится нетривиальной.
AI-агент ASI Biont (asibiont.com) решает эту проблему кардинально: пользователь просто описывает в чате, к какому устройству подключиться и что сделать. AI самостоятельно генерирует код интеграции, настраивает обмен данными и выполняет требуемые действия. Для работы с COM-портами используется Hardware Bridge — лёгкий Python-скрипт, который запускается на ПК пользователя и соединяется с облаком ASI Biont через WebSocket. В этой статье мы покажем, как за пять минут подключить устройство с RS-232 к AI-агенту, управлять им и автоматизировать сбор данных без единой строки ручного кода.
Что такое COM-порт и RS-232?
COM-порт (также RS-232) — последовательный интерфейс, который передаёт данные побитно по двум проводам (TX и RX). Стандарт RS-232 определяет электрические характеристики: напряжение -15..-3 В (логическая 1) и +3..+15 В (логический 0), скорость передачи (baud rate), биты данных, стоп-биты и контроль чётности. Наиболее распространённые скорости — 9600, 115200 бит/с. Несмотря на возраст (стандарт принят в 1969 году), RS-232 до сих пор применяется в промышленности из‑за простоты, надёжности и совместимости с микроконтроллерами (Arduino, ESP32, STM32).
Подключение устройства к AI-агенту позволяет:
- получать показания датчиков и логировать их в базу данных;
- управлять исполнительными механизмами (реле, сервоприводы, двигатели);
- автоматически реагировать на события (аварийные сигналы, превышение порогов);
- анализировать тренды и предсказывать отказы оборудования.
Как ASI Biont подключается к COM-порту?
ASI Biont не работает с COM-портами напрямую из облака — у него нет физического доступа к локальным портам пользователя. Для этого существует Hardware Bridge — Python-скрипт bridge.py, который пользователь запускает на своём компьютере (Windows, Linux, macOS). Bridge устанавливает WebSocket-соединение с сервером ASI Biont и ожидает команд от AI-агента.
Все команды для работы с последовательным портом отправляются через инструмент industrial_command() с протоколом serial. AI использует команду write_and_read — атомарную операцию записи данных в порт и немедленного чтения ответа. Данные передаются в hex-формате (строка шестнадцатеричных цифр) или в виде escape-последовательностей (например, "LED_ON\n"). Bridge автоматически преобразует их в байты с помощью функции _parse_data_field().
Получение bridge.py
Bridge скачивается из дашборда ASI Biont: Devices → Create API Key → Скачать bridge. Не ищите его на GitHub — он доступен только через интерфейс платформы. Установите зависимости:
pip install pyserial requests websockets
Запуск bridge:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 --rate=10
--token(обязателен) — API-ключ, сгенерированный в дашборде;--ports— список портов через запятую (например, COM3,COM4);--baud— скорость по умолчанию (может быть переопределена AI для каждого запроса);--rate— ограничение количества запросов в секунду (по умолчанию 10).
Bridge поддерживает несколько портов одновременно. На Windows при возникновении ошибок записи (written=0) используется комбинация CancelIoEx + PurgeComm + синхронный WriteFile — это обеспечивает надёжность даже с проблемными USB-адаптерами.
Практические сценарии интеграции
1. Проверка связи с устройством (HELP-тест)
Пусть у нас есть интеллектуальный датчик, который поддерживает HELP-протокол: по команде HELP\n он возвращает список доступных команд. Пользователь пишет в чате ASI Biont:
«Подключись к COM3 на 115200, отправь HELP и покажи ответ.»
AI выполняет:
industrial_command(
protocol='serial',
command='write_and_read',
data='48454c500a' # HELP + \n в hex
)
Bridge получает команду, отправляет байты 0x48 0x45 0x4C 0x50 0x0A в порт и мгновенно читает ответ. Если устройство отвечает, ответ выводится в чат. Пользователь видит расшифровку и может сразу попросить выполнить любую из полученных команд.
2. Управление светодиодом на Arduino
Простейший скетч на Arduino принимает строки "LED_ON" и "LED_OFF" и управляет встроенным светодиодом. Пользователь говорит:
«Включи светодиод на Arduino, подключённом к COM3.»
AI отправляет:
industrial_command(
protocol='serial',
command='write_and_read',
data='4c45445f4f4e0a' # LED_ON\n
)
Arduino зажигает светодиод и отвечает "OK". AI интерпретирует ответ и сообщает об успехе. Таким образом, управление реальным оборудованием занимает секунды, а код пишет AI.
3. Сбор данных с датчика и отправка уведомления в Telegram
Подключим датчик температуры DS18B20 к Arduino. Arduino по команде "TEMP" возвращает значение в градусах Цельсия (например, "25.3C"). Пользователь просит:
«Получи температуру с COM3, если она выше 30°C, отправь мне предупреждение в Telegram. Мой токен бота: 123456:ABC…, chat_id: 987654.»
AI выполняет два шага:
- Отправляет команду
write_and_readс data="54454d50\n"(TEMP+
). Получает ответ"31.2C". - Запускает execute_python (песочница на сервере) с кодом, который обрабатывает полученную температуру и при превышении порога отправляет сообщение в Telegram через
requests.postкapi.telegram.org.
Пример кода, который генерирует AI:
import requests
TELEGRAM_TOKEN = "123456:ABC..."
CHAT_ID = "987654"
temp_str = "31.2C" # получено от bridge
# Парсим число
temp = float(temp_str.rstrip("C"))
if temp > 30:
msg = f"⚠️ Температура превысила порог: {temp}°C"
resp = requests.post(
f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": msg}
)
print(f"Уведомление отправлено: {resp.status_code}")
else:
print("Температура в норме")
Этот код выполняется в sandbox-окружении ASI Biont, имеет доступ к библиотекам requests, json и ограничен таймаутом 30 секунд. После выполнения результат возвращается в чат.
4. Автоматическое логирование данных в Excel
Чтобы вести историю показаний, пользователь просит:
«Каждый час записывай значение с датчика на COM3 в файл Excel и сохраняй на мой Google Диск.»
AI объясняет, что для периодического запуска нужен внешний планировщик (cron, Task Scheduler) или сервис, который будет инициировать запросы. Однако AI может сразу сгенерировать скрипт, который при запуске однократно считывает данные и дописывает их в CSV-файл на сервере (в песочнице файлы временные). Для реального логирования лучше настроить выполнение скрипта на ПК, где запущен bridge, но это выходит за рамки одного диалога. Тем не менее, AI подскажет оптимальную архитектуру и даст готовый код.
5. Работа с несколькими COM-портами
Bridge поддерживает одновременное подключение к нескольким портам. Например, к одному порту подключён контроллер температуры, к другому — весы. Пользователь может попросить:
«Прочитай с COM3 температуру, а с COM4 — вес. Если температура выше 40°C или вес меньше 5 кг, выключи реле на COM3 командой RELAY_OFF.»
AI отправит два последовательных вызова industrial_command (с разными портами) и на основе ответов примет решение.
Преимущества подхода ASI Biont
- Никакого ручного кода. Пользователь описывает задачу на естественном языке — AI реализует интеграцию сам.
- Единый интерфейс. Для COM, MQTT, Modbus, SSH, BACnet — один и тот же чат, одни и те же инструменты.
- Гибкость. Если ваше устройство использует нестандартный протокол, AI может написать Python-скрипт для execute_python с библиотеками
pyserial(при запуске на сервере — нет доступа к COM, поэтому только обработка данных) или предложить расширить bridge. - Безопасность. Bridge подключается к облаку только через WebSocket (wss), передача данных шифруется. API-ключ — единственный способ авторизации.
- Масштабируемость. На одном ПК можно запустить bridge для десятка портов; AI управляет ими параллельно.
Практические советы
- Выбор baud rate. Если не знаете скорость устройства, попросите AI перебрать распространённые (9600, 19200, 38400, 57600, 115200). AI может организовать цикл, но из-за атомарности write_and_read придётся выполнять несколько команд в чате.
- HELP-протокол. Если устройство не отвечает на HELP, уточните в документации команду «идентификации». Многие GPS-модули поддерживают
AT+GLL, промышленные контроллеры —?. - Формат данных. AI автоматически определяет hex или строку. Если ответ содержит бинарные данные (например, 2 байта температуры), AI попросит преобразовать их в читаемый вид.
- Ошибки Windows. Если bridge на Windows пишет
written=0, AI применяет альтернативный метод записи черезCancelIoEx. Пользователю не нужно вмешиваться.
Заключение
Интеграция устаревшего, но критически важного оборудования с RS-232 в современную AI-экосистему перестаёт быть проблемой. ASI Biont с Hardware Bridge позволяет за несколько минут наладить обмен данными, управление и автоматизацию без написания кода. Всё, что нужно — запустить bridge на своём ПК и описать в чате, что делать.
Попробуйте сами: зайдите на asibiont.com, создайте API-ключ, скачайте bridge и подключите любое устройство с COM-портом. AI будет ждать ваших команд.
Комментарии