Введение
Промышленные устройства — счётчики электроэнергии, датчики температуры, контроллеры и приводы — десятилетиями работают на шине RS-485. Этот стандарт физического уровня остаётся основой АСУ ТП благодаря помехоустойчивости, дальности связи до 1200 метров и возможности объединять до 32 устройств в одну линию. Однако интеграция таких систем в современные IT-инфраструктуры обычно требует написания сложных драйверов и шлюзов. AI-агент ASI Biont решает эту задачу кардинально: он подключается к RS-485 напрямую через COM-порт, используя Hardware Bridge, или генерирует Python-код для опроса устройств по Modbus RTU за считанные секунды. В этой статье я покажу, как это работает на практике, разберу конкретный сценарий со счётчиком и объясню, как автоматизировать мониторинг без единой строчки кода, написанной вручную.
Что такое RS-485 и зачем его подключать к AI-агенту?
RS-485 (EIA-485) — это стандарт последовательной связи с дифференциальным сигналом. В отличие от RS-232, он использует витую пару и позволяет передавать данные на расстояние до 1200 метров (при скорости 9600 бит/с) со скоростью до 10 Мбит/с на коротких дистанциях. К одной шине можно подключать до 32 устройств (при использовании повторителей — больше). Протокол физического уровня не определяет формат кадра — поверх него работают промышленные протоколы: Modbus RTU, Profibus, BACnet MS/TP и другие.
Зачем подключать RS-485 к AI-агенту? Вот ключевые задачи:
- Мониторинг показаний — удалённый сбор данных со счётчиков, датчиков, измерительных преобразователей.
- Автоматизация управления — включение/отключение насосов, задвижек, пускателей по расписанию или событиям.
- Аварийные оповещения — мгновенная отправка сигнала в Telegram или на почту при выходе параметров за допустимые пределы.
- Интеграция с внешними системами — передача данных в ERP, MES, SCADA или облачные сервисы.
Традиционно для этого нужно писать код на C/C++ или Python, разбираться в регистрах Modbus, отлаживать тайминги. ASI Biont упрощает процесс до уровня обычного общения с чат-ботом.
Способы подключения ASI Biont к RS-485
ASI Biont поддерживает несколько способов интеграции с внешними устройствами. Для RS-485 (COM-порт) предусмотрены два основных пути:
| Способ | Описание | Когда использовать |
|---|---|---|
| Hardware Bridge (bridge.py) | Специальная программа, которая запускается на компьютере с COM-портом и связывает его с AI-агентом по протоколу WebSocket. AI отправляет команды через industrial_command() |
Для постоянного опроса устройств, когда требуется высокая скорость и стабильность |
| execute_python | AI генерирует Python-скрипт, который выполняется в изолированном sandbox. Скрипт может использовать pyserial, pymodbus и другие библиотеки | Для разовых запросов, прототипирования, устройств с нестандартным протоколом |
Hardware Bridge
Bridge — это исполняемый Python-файл, который скачивается только из дашборда ASI Biont (раздел «Интеграции»). Он запускается на вашем компьютере или сервере, где физически подключён USB-адаптер RS-485. Пример запуска:
python bridge.py --token=YOUR_API_TOKEN --ports=COM3 --baud=9600 --rate=10
--token— персональный токен для авторизации.--ports— список COM-портов (можно несколько).--baud— скорость обмена (по умолчанию 9600).--rate— частота опроса в секунду (например, 10 означает 10 мс между запросами).
После запуска bridge устанавливает соединение с облаком ASI Biont. AI-агент получает возможность отправлять команды протокола Modbus RTU через функцию industrial_command(). Bridge самостоятельно разбирает пакеты и поддерживает работу нескольких устройств на одной шине.
execute_python
Если устройство подключено через сетевой конвертер (например, Modbus TCP), или требуется быстрый прототип, ASI Biont может выполнить Python-код в песочнице. AI сам генерирует скрипт на основе описания задачи. Например, для чтения регистров счётчика по Modbus RTU он мог бы использовать код:
from pymodbus.client import ModbusSerialClient
client = ModbusSerialClient(port='COM3', baudrate=9600, parity='N', stopbits=1, bytesize=8, timeout=1)
result = client.read_holding_registers(0x0000, count=2, unit=1)
print(result.registers)
Но важно помнить: в sandbox нет прямого доступа к COM-порту, если bridge не установлен. Поэтому для COM-портов используйте именно Hardware Bridge. Универсальный execute_python пригодится для устройств с сетевыми интерфейсами (HTTP, MQTT, Modbus TCP и т.д.) — AI напишет код подключения под любое железо.
Практический пример: подключение счётчика Меркурий 230 к ASI Biont
Рассмотрим реальный сценарий: у вас есть трёхфазный счётчик электроэнергии «Меркурий 230», который поддерживает Modbus RTU. Нужно автоматизировать сбор показаний и отправлять данные в Telegram.
Схема подключения
- Подключите счётчик к USB-адаптеру RS-485 (например, на микросхеме FTDI). Схема соединения:
- «А» счётчика → «A» адаптера
- «B» счётчика → «B» адаптера
- «GND» счётчика → «GND» адаптера (желательно)
[Счётчик Меркурий 230] --A-- [USB-адаптер] --USB-- [ПК с bridge.py]
[RS-485] --B-- |
[GND] ------
- Установите драйвер адаптера (CP210x, FTDI) и определите номер COM-порта в диспетчере устройств.
- Узнайте адрес счётчика в Modbus (обычно 1, но может быть другим). Параметры связи: 9600 бит/с, 8 бит данных, без паритета, 1 стоп-бит.
Настройка Hardware Bridge
Скачайте bridge.py из дашборда ASI Biont. Запустите его с параметрами:
python bridge.py --token=ABCDEF123456 --ports=COM3 --baud=9600 --rate=10
Bridge выведет сообщение об успешном подключении. Теперь AI-агент знает, что на COM3 доступно RS-485 устройство.
Диалог с AI-агентом
Откройте чат с ASI Biont (веб-интерфейс или Telegram-бот). Напишите:
«Считай показания активной энергии по счётчику Меркурий 230 на COM3. Адрес устройства 1. Параметры: 9600, 8N1»
AI формирует команду industrial_command() и отправляет её через bridge. В ответ вы получите:
{
"device": "COM3:unit1",
"registers": [23145, 12789],
"raw": "0x8B 0x02 0x15 ..."
}
Далее AI интерпретирует данные: первый регистр — активная энергия в кВт·ч (например, 23145), второй — реактивная. Всё это происходит автоматически, без ручного написания парсера.
Пример кода для execute_python (альтернатива)
Если вы по какой-то причине не используете bridge, AI может выполнить скрипт через execute_python. Вот как он выглядел бы для опроса через Modbus TCP (если у вас есть конвертер RS-485 → Ethernet):
from pymodbus.client import ModbusTcpClient
client = ModbusTcpClient('192.168.1.100', port=502)
if client.connect():
rr = client.read_holding_registers(0x0000, count=2, unit=1)
print(f"Энергия: {rr.registers[0]} кВт·ч")
client.close()
else:
print("Ошибка подключения")
Но для COM-порта используйте bridge — это надёжнее и быстрее.
Автоматизация сценариев без кода
В ASI Biont вы можете создавать сценарии автоматизации через конструктор. Например, настроить периодический опрос счётчика и отправку отчёта в Telegram.
- В конструкторе интеграций создайте новый сценарий.
- Выберите триггер: «Расписание» — каждые 15 минут.
- Добавьте действие: «Industrial Command» → протокол Modbus RTU → чтение регистров.
- Добавьте действие «HTTP Request» для отправки данных в Telegram API:
import requests
requests.post(
'https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage',
json={'chat_id': '@mychannel', 'text': f"Показания: {energy} кВт·ч"}
)
- Сохраните сценарий.
AI-агент сам сгенерирует всю обвязку, включая парсинг ответа и обработку ошибок. Вам достаточно описать логику словами.
Как ASI Biont понимает задачу: от описания к коду
Секрет в том, что ASI Biont — это не просто бот, а AI-агент с доступом к инструментам. Когда вы пишете:
«Подключись к счётчику на COM3, прочитай регистры 0x0000 и 0x0002, и если значение больше 100 кВт·ч, отправь уведомление»
AI:
- Определяет тип устройства и протокол (Modbus RTU).
- Проверяет наличие bridge и параметры порта.
- Генерирует вызов
industrial_command(protocol='modbus_rtu', command='read_holding_registers', address=0x0000, count=2, unit_id=1). - Анализирует полученные данные.
- Сравнивает с порогом и, если условие истинно, вызывает
requests.post()для Telegram.
Весь процесс занимает несколько секунд. Это колоссальная экономия времени: ручная реализация такой интеграции заняла бы от нескольких часов до нескольких дней.
Преимущества интеграции RS-485 с ASI Biont
- Молниеносное подключение — не нужно писать код вручную. AI делает это за вас.
- Гибкость — подключайте любые устройства: от простых датчиков до сложных контроллеров.
- Никаких панелей управления — всё через диалог в чате. Нет кнопок «Добавить устройство».
- Кроссплатформенность — bridge работает на Windows, Linux и macOS.
- Масштабируемость — можно опрашивать десятки устройств одновременно, настраивая частоту опроса через параметр
--rate.
Заключение
RS-485 остаётся одним из самых распространённых промышленных интерфейсов, и его интеграция с современными AI-системами открывает новые горизонты для автоматизации. ASI Biont позволяет подключить счётчики, датчики и контроллеры к нейросети без написания сложных драйверов. Вам нужно лишь описать задачу — остальное сделает AI.
Попробуйте сами! Перейдите на asibiont.com, скачайте bridge из дашборда и подключите своё первое RS-485 устройство. Уверяю, вы удивитесь, насколько это просто.
Комментарии