USB-to-Serial (FTDI, CH340, CP2102) и AI-агент: интеграция COM-порта с ASI Biont для автоматизации промышленности

Введение

USB-to-Serial адаптеры на базе чипов FTDI, CH340 и CP2102 — это недорогие и распространённые устройства, которые превращают USB-порт компьютера в последовательный COM-порт (RS-232, RS-485 или TTL UART). Они широко используются для подключения промышленных контроллеров, датчиков, GPS-трекеров, Arduino, ESP32 и другого оборудования, где требуется надёжная передача данных по последовательному интерфейсу. Интеграция таких адаптеров с AI-агентом ASI Biont позволяет автоматизировать сбор данных с COM-портов, управлять устройствами через чат и выполнять сложные сценарии без ручного написания кода. В этой статье мы разберём, как подключить USB-to-Serial адаптер к ASI Biont, какие протоколы и инструменты для этого используются, и приведём конкретные примеры кода.

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

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

Для работы с COM-портом вам потребуется:
1. Скачать bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge).
2. Установить зависимости: pip install pyserial requests websockets.
3. Запустить bridge с указанием токена и порта: python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200.

AI использует атомарную операцию serial_write_and_read(data=hex_string), которая отправляет данные в порт и сразу читает ответ. Данные передаются в hex-формате (например, 48454c500a для строки "HELP\n"). Bridge также поддерживает escape-последовательности (например, BLUE_ON\n).

Сценарий 1: Чтение данных с датчика через Arduino и COM-порт

Допустим, у вас есть Arduino с датчиком температуры DHT22, подключённый к ПК через USB-to-Serial адаптер (например, CH340). Arduino отправляет данные в формате Temperature: 23.5 Humidity: 60.2\n каждые 2 секунды. Вы хотите, чтобы AI-агент ASI Biont читал эти данные, анализировал их и отправлял уведомление в Telegram, если температура превышает 30°C.

Шаг 1: Настройка bridge

Запускаем bridge на ПК с Arduino:

python bridge.py --token=abc123 --ports=COM3 --baud 9600 --rate=10

--rate=10 ограничивает частоту запросов к COM-порту до 10 в секунду.

Шаг 2: Команда AI

В чате с ASI Biont пишем:

Подключись к COM3 на 9600 baud. Читай данные с Arduino каждые 10 секунд. Если температура > 30°C, отправь уведомление в Telegram.

AI генерирует и выполняет инструмент industrial_command:

industrial_command(
    protocol='serial',
    command='write_and_read',
    data='48454c500a',  # HELP\n для проверки связи
    port='COM3',
    baud=9600
)

Если устройство отвечает списком команд, AI продолжает мониторинг, используя execute_python для периодического чтения:

import requests
import time

# Параметры Telegram (предоставлены пользователем)
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"

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

# Чтение данных через bridge (AI отправляет команду каждые 10 секунд)
# Здесь мы используем industrial_command, но для примера показываем логику
while True:
    # AI запрашивает чтение через serial_write_and_read
    response = industrial_command(protocol='serial', command='write_and_read', data='', port='COM3', baud=9600)
    if 'Temperature' in response:
        # Парсим значение
        temp = float(response.split('Temperature: ')[1].split()[0])
        if temp > 30:
            send_telegram(f"⚠️ Температура превысила 30°C: {temp}°C")
    time.sleep(10)

Важно: В sandbox ASI Biont нет бесконечных циклов с while True — таймаут 30 секунд. В реальной работе AI использует industrial_command для однократных запросов, а периодичность настраивается на стороне bridge или через внешний планировщик (например, cron).

Результат

AI автоматически читает данные с COM-порта, анализирует их и отправляет уведомления в Telegram. Всё, что нужно от вас — запустить bridge и описать задачу в чате.

Сценарий 2: Управление реле через USB-to-Serial

Допустим, у вас есть промышленный контроллер с реле, подключённый через FTDI адаптер на COM5. Команда включения реле — RELAY_ON\r\n, выключения — RELAY_OFF\r\n. Вы хотите включать реле по команде из Telegram.

Шаг 1: Запуск bridge

python bridge.py --token=abc123 --ports=COM5 --baud 115200

Шаг 2: Команда AI

Пишем в чат:

Открой COM5 на 115200 baud. Когда я пишу "включи реле", отправь строку RELAY_ON\r\n.

AI обрабатывает команду через industrial_command:

industrial_command(
    protocol='serial',
    command='write_and_read',
    data='52454c41595f4f4e0d0a',  # RELAY_ON\r\n в hex
    port='COM5',
    baud=115200
)

Bridge отправляет строку в COM-порт и возвращает ответ (например, "OK"). AI сообщает результат в чат.

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

  • Не нужно писать код вручную. AI генерирует интеграцию за секунды на основе вашего описания.
  • Поддержка любых протоколов. Кроме COM-порта, AI может подключаться через SSH, MQTT, Modbus TCP, OPC UA и другие — достаточно описать задачу.
  • Гибкость. Bridge работает на Windows, Linux и macOS, поддерживает любые baud rates и форматы данных.
  • Автоматизация. AI может выполнять сложные сценарии: сбор данных, логирование, уведомления, управление по расписанию.

Как начать?

  1. Скачайте bridge.py из дашборда ASI Biont.
  2. Установите pyserial и запустите bridge с вашим токеном и портом.
  3. Опишите в чате задачу: "Подключись к COM3 на 9600 baud, читай данные с датчика и отправляй в Telegram при превышении температуры".
  4. AI сделает всё остальное.

Заключение

USB-to-Serial адаптеры — это мост между вашим ПК и множеством промышленных устройств. Интеграция с ASI Biont превращает их в управляемые AI-элементы автоматизации. Вы можете читать данные, управлять реле, мониторить оборудование — и всё это через простой чат. Попробуйте интеграцию на asibiont.com и убедитесь, что автоматизация COM-портов стала доступной каждому.

← Все статьи

Комментарии