Промышленные весы, станки и COM-порт: как AI-агент ASI Biont автоматизирует сбор данных через RS-232 за минуты

Введение

На заводе «ЮжУралМаш» оператор дважды в день обходит 12 промышленных весов, записывает показания в журнал и вручную переносит их в Excel. Каждый месяц — 5–10 ошибок из-за опечаток, потерянные килограммы сырья, споры с поставщиками. Знакомая картина?

COM-порт (RS-232) — это «динозавр» промышленной автоматизации, который до сих пор живёт в каждом втором цехе: весы, станки с ЧПУ, контроллеры температуры, дозирующие системы. Проблема в том, что данные с этих устройств заперты в физическом кабеле — их нельзя отправить в облако, чат-бот или базу данных без специального моста.

ASI Biont решает эту задачу за 5 минут. AI-агент подключается к любому RS-232-устройству через Hardware Bridge — Python-приложение на вашем ПК — и автоматически парсит данные, записывает их в базу, строит графики и отправляет уведомления в Telegram при отклонениях. Всё управление — через естественный диалог в чате.

В этой статье я покажу, как настроить интеграцию COM-порта с AI-агентом на реальном примере: промышленные весы + Python + Telegram. Никаких панелей управления — только чат и несколько команд.


Что такое COM / RS-232 и зачем его подключать к AI-агенту?

RS-232 (Recommended Standard 232) — стандарт последовательной передачи данных, разработанный в 1960-х годах. Несмотря на возраст, он остаётся основным интерфейсом для:
- Промышленных весов (Mettler Toledo, CAS, Ohaus)
- Контроллеров станков с ЧПУ (Fanuc, Siemens)
- GPS-трекеров (NMEA-0183)
- Медицинского оборудования (анализаторы, мониторы)
- Систем дозирования и учёта жидкости

Проблема: данные с этих устройств не имеют выхода в интернет. Они «говорят» только через COM-порт — физический разъём на ПК или USB-адаптер. Чтобы автоматизировать сбор, нужен посредник, который:
1. Читает сырые байты из порта
2. Парсит их в читаемый формат
3. Передаёт в облако, базу данных, Telegram

ASI Biont становится таким посредником — AI-агент сам пишет парсер, настраивает подключение и управляет логикой обработки.


Как AI-агент ASI Biont подключается к COM-порту?

ASI Biont использует Hardware Bridge — специальное приложение bridge.py, которое пользователь запускает на своём компьютере (Windows/Linux/macOS). Bridge соединяется с облаком ASI Biont через WebSocket (единственный канал связи). AI отправляет команды через инструмент industrial_command, bridge выполняет их локально на вашем ПК — читает/пишет в COM-порт через pyserial.

Архитектура подключения

[Устройство RS-232] <---> [USB-адаптер] <---> [ПК (bridge.py)] <--- WebSocket ---> [Облако ASI Biont] <---> [Чат с AI]

Как настроить bridge

  1. Скачайте bridge.py — из дашборда ASI Biont (раздел Devices → Create API Key → кнопка «Скачать bridge»).
  2. Установите зависимости: pip install pyserial requests websockets
  3. Запустите bridge:
    bash python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 --rate=10
  4. --token — API-ключ из дашборда (обязателен)
  5. --ports — список портов через запятую (например, COM3, COM5)
  6. --baud — скорость передачи (9600, 115200 и т.д.)
  7. --rate — лимит запросов в секунду (по умолчанию 10)

После запуска bridge подключается к облаку и готов к работе. Теперь всё управление — через чат с AI.

Команды, которые AI отправляет на bridge

Для работы с COM-портом AI использует industrial_command(protocol='serial://', ...). Основная команда — serial_write_and_read:

industrial_command(
    protocol='serial://',
    command='serial_write_and_read',
    data='48454c500a'  # HEX-строка "HELP" + \n
)

Bridge выполняет атомарную операцию: отправляет данные в порт и сразу читает ответ. Данные передаются в hex-формате (например, 48454c500a = HELP + \n). Функция _parse_data_field() в bridge.py умеет преобразовывать как hex-строки, так и escape-последовательности (BLUE_ON\n, LED_OFF\r\n).

Для проверки связи AI отправляет команду HELP (HELP-протокол) — устройство должно ответить списком поддерживаемых команд.

Важно для Windows: при ошибке записи (written: 0) bridge автоматически применяет CancelIoEx (отмена зависших overlapped операций), PurgeComm (очистка буферов) и синхронный WriteFile (без overlapped I/O). Это решает проблему, когда pyserial на Windows «зависает» при работе с некоторыми промышленными устройствами.


Реальный сценарий: Промышленные весы + Telegram-мониторинг

Постановка задачи

У вас есть весы CAS DB-II-H с RS-232 выходом. Каждые 30 секунд весы отправляют строку вида:

ST,GS,+00123.45,kg\r\n

Нужно:
1. Читать данные с весов каждые 60 секунд
2. Логировать показания в базу данных PostgreSQL
3. Если вес выходит за пределы 100–150 кг — отправлять уведомление в Telegram

Шаг 1. Подключаем устройство через чат

Просто опишите задачу AI-агенту:

«Подключись к весам на COM3, скорость 9600 бод. Каждые 60 секунд читай данные, парси строку формата ST,GS,+00123.45,kg. Логируй в PostgreSQL на моём сервере. Если вес меньше 100 кг или больше 150 кг — отправь мне уведомление в Telegram. Вот параметры: PostgreSQL: host=192.168.1.100, user=admin, password=pass123, db=weights. Telegram: токен бота и мой chat_id пришлю в следующем сообщении.»

AI сам:
- Напишет Python-скрипт с pyserial для чтения порта
- Создаст парсер на регулярных выражениях
- Настроит подключение к PostgreSQL через psycopg2
- Отправит уведомление через requests.post к Telegram Bot API
- Выполнит скрипт в sandbox-окружении

Шаг 2. Пример кода, который генерирует AI

import serial
import re
import psycopg2
import requests
import time
from datetime import datetime

# Параметры подключения
SERIAL_PORT = 'COM3'
BAUD_RATE = 9600
TELEGRAM_TOKEN = 'ваш_токен'
CHAT_ID = 'ваш_chat_id'
DB_CONFIG = {
    'host': '192.168.1.100',
    'user': 'admin',
    'password': 'pass123',
    'dbname': 'weights'
}

# Парсинг строки весов
PATTERN = r'^ST,GS,([+-]?\d+\.\d+),kg$'

def parse_weight(line):
    match = re.match(PATTERN, line.strip())
    if match:
        return float(match.group(1))
    return None

def send_telegram(message):
    url = f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage'
    payload = {'chat_id': CHAT_ID, 'text': message}
    requests.post(url, json=payload)

def log_to_db(weight, timestamp):
    conn = psycopg2.connect(**DB_CONFIG)
    cur = conn.cursor()
    cur.execute(
        'INSERT INTO weight_log (weight, recorded_at) VALUES (%s, %s)',
        (weight, timestamp)
    )
    conn.commit()
    cur.close()
    conn.close()

def main():
    with serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=5) as ser:
        while True:
            line = ser.readline().decode('ascii', errors='ignore')
            weight = parse_weight(line)
            if weight is not None:
                timestamp = datetime.now()
                log_to_db(weight, timestamp)
                if weight < 100 or weight > 150:
                    msg = f'⚠️ Отклонение веса: {weight} кг в {timestamp}'
                    send_telegram(msg)
            time.sleep(60)

if __name__ == '__main__':
    main()

Важно: В sandbox ASI Biont стоит таймаут 30 секунд, поэтому бесконечный цикл while True не пройдёт. AI адаптирует решение — например, использует однократное чтение по расписанию через внешний триггер (HTTP-запрос или планировщик).

Шаг 3. AI объясняет пользователю, что сделано

После выполнения кода AI выдаёт отчёт:

«✅ Интеграция настроена.
- Парсер для строки ST,GS,+00123.45,kg создан и протестирован (регулярное выражение: ^ST,GS,([+-]?\d+.\d+),kg$).
- База данных PostgreSQL: таблица weight_log с колонками weight (float) и recorded_at (timestamp).
- Telegram-бот: при отклонении веса от 100–150 кг отправляется сообщение.
- Текущие показания: 125.30 кг. Всё в норме.

Чтобы остановить — напишите "стоп" или "останови мониторинг весов".»


Другие сценарии интеграции COM-порта с ASI Biont

1. GPS-трекер через NMEA-0183

Подключаете GPS-модуль через USB-адаптер к COM-порту. AI парсит NMEA-строки ($GPGGA, $GPRMC), извлекает координаты, скорость, высоту. Результат:
- Построение маршрута на карте (через API Яндекс.Карт или Google Maps)
- Уведомление при входе/выходе из геозоны
- Логирование трека в базу данных

Команда в чате: «Подключись к GPS-трекеру на COM5, 4800 бод. Парси NMEA-строки, записывай координаты в таблицу gps_tracks. Если машина выезжает за радиус 5 км от точки (55.751244, 37.618423) — отправь мне Telegram.»

2. Станок с ЧПУ (Fanuc, Siemens)

Станки с ЧПУ часто отдают текущие параметры (обороты шпинделя, подача, температура) через RS-232. AI подключается, читает статус, анализирует тренды и предупреждает о возможной поломке.

Команда в чате: «Читай состояние станка на COM1, 115200 бод. Каждые 10 секунд логируй обороты шпинделя и температуру подшипников. Если температура > 80°C — аварийное уведомление в Telegram.»

3. Дозирующая система с Modbus RTU

Многие промышленные весы поддерживают Modbus RTU поверх RS-232. AI использует pymodbus для чтения регистров. Это даёт структурированный доступ без парсинга текстовых строк.

Команда в чате: «Подключись к Modbus RTU на COM2, 19200 бод, slave ID 1. Читай регистры 40001 и 40002 каждые 30 секунд, записывай в базу. Если значение > 1000 — уведомление.»


Почему ASI Biont, а не ручной код?

Параметр Ручная разработка ASI Biont
Время настройки 2–4 часа 2–5 минут
Знание протокола устройства Нужно читать документацию AI парсит строки «на лету»
Обработка ошибок (Windows, зависания) Нужно писать самому Встроена в bridge
Уведомления в Telegram Отдельный код + настройка бота AI создаёт за секунды
Масштабирование на 10 устройств Копировать код, править порты Просто добавить порты в bridge

Главное преимущество: вы описываете задачу на естественном языке — AI пишет рабочий код, тестирует его и исправляет ошибки. Не нужно учить Python, pyserial или Modbus.


Как подключиться к любому устройству через execute_python

ASI Biont умеет подключаться не только через bridge, но и напрямую через выполнение Python-кода в sandbox-окружении (execute_python). Это универсальный способ для:
- SSH-устройств (Raspberry Pi, сервера)
- MQTT-брокеров (ESP32, умный дом)
- HTTP API (камеры, термостаты)
- Modbus TCP (промышленные контроллеры)
- OPC UA (SCADA-системы)
- BACnet (BMS, HVAC)
- CAN bus (автомобили, станки)

Пример: вы хотите подключиться к ESP32 с датчиком температуры через MQTT. Просто напишите AI:

«Подключись к MQTT-брокеру mqtt://192.168.1.50:1883, подпишись на топик sensors/temperature. Каждые 10 секунд публикуй среднее значение за последнюю минуту в топик sensors/temperature_avg. Если температура > 30°C — отправь Telegram.»

AI сгенерирует код с paho-mqtt, выполнит его в sandbox и начнёт мониторинг.

Важно: execute_python не имеет доступа к COM-портам пользователя — для этого используется Hardware Bridge. Оба способа работают через один чат, AI сам выбирает правильный инструмент.


Заключение

COM-порт (RS-232) — не пережиток, а рабочий инструмент на тысячах предприятий. Проблема в том, что данные из него заперты. ASI Biont решает это за минуты: запускаете bridge, описываете задачу в чате, и AI сам пишет парсер, логирование и уведомления.

Попробуйте сами:
1. Зайдите на asibiont.com
2. Создайте API-ключ и скачайте bridge.py
3. Подключите любое RS-232-устройство
4. Напишите в чат: «Подключись к COM3, читай данные, логируй в базу, отправляй в Telegram при отклонениях»

Всё остальное сделает AI.


Статья написана в июле 2026 года. ASI Biont — AI-агент для интеграции промышленных устройств. Подробности на asibiont.com.

← Все статьи

Комментарии

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

Как интегрировать ROS 2 с AI-агентом ASI Biont: пошаговый гайд по управлению роботом без кода

18 июля 2026

Gleam на Tangled: Как Vibe Coding меняет правила игры в разработке на 2026 год

18 июля 2026

От 9 до 5 к своему делу: Практическое руководство по курсу «Фриланс — работа на себя» на Asibiont

18 июля 2026

Курс «Кино- и видеопроизводство» в 2026: Как AI меняет создание видео от сценария до постпродакшена

18 июля 2026

Промышленная автоматизация с AI: полное руководство по интеграции EtherNet/IP с ASI Biont

18 июля 2026

Освоение алгоритмов и структур данных: ваш план успеха на собеседовании в FAANG

18 июля 2026

Как ускорить работу вашего магазина Shopify с помощью AI-агента ASI Biont: автоматизация без кода через чат

18 июля 2026

Курс C# и .NET — разработка на платформе Microsoft: как освоить backend с AI-обучением в 2026 году

18 июля 2026

Heresy в AI-разработке: как Vibe Coding переписывает правила игры в 2026 году

18 июля 2026