Промышленные сети RS-485 с протоколом Modbus RTU остаются стандартом для связи контроллеров, датчиков и исполнительных механизмов на заводах, в энергетике и системах умного сельского хозяйства. Но управлять этими устройствами вручную — через HMI или SCADA — трудоёмко. AI-агент ASI Biont позволяет автоматизировать опрос, диагностику и предиктивное обслуживание без необходимости писать интеграционный код с нуля. В этой статье разберём реальный сценарий: как подключить Raspberry Pi к шине RS-485, настроить Modbus RTU master и дать AI-агенту команду собирать, анализировать и визуализировать данные с удалённых аналоговых входов PLC.
Как ASI Biont связывается с Modbus RTU-устройствами
ASI Biont не имеет прямого доступа к COM-портам вашего ПК — он работает в облаке. Но он умеет подключаться по SSH к одноплатным компьютерам (Raspberry Pi, Orange Pi), которые уже физически соединены с RS-485-шиной. Это самый надёжный способ: на Pi вы запускаете серверный процесс (например, скрипт на Python с библиотекой pymodbus), а AI через SSH удалённо запускает опрос Modbus и забирает результаты. Все действия выполняются через диалог в чате: вы описываете задачу, AI генерирует код на Python с paramiko, выполняет его в своём sandbox-окружении и возвращает ответ.
Практический кейс: автоматический сбор температуры с Modbus RTU-датчиков
Задача: На производственном участке установлены три аналоговых модуля ввода (например, ADAM-4019+), к которым подключены термопары. Контроллер Modbus RTU работает на скорости 19200 бод, адрес модуля — 1. Раз в минуту нужно считывать два регистра (температура и влажность) и при превышении порога отправлять уведомление в Telegram.
Оборудование: Raspberry Pi 4 с USB-to-RS485 адаптером (например, FTDI USB-RS485). На Pi установлены pyserial и pymodbus. SSH включён.
Шаг 1. Подключение Raspberry Pi к ASI Biont
В чате ASI Biont вы даёте команду:
Подключись по SSH к raspberrypi.local, логин pi, пароль ****. Напиши и запусти скрипт, который раз в 30 секунд читает из Modbus RTU (адрес 1, функция 03) регистры 40001 и 40002 (два слова), преобразует в float и выводит на экран.
AI генерирует и выполняет следующий код внутри своей песочницы:
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('raspberrypi.local', username='pi', password='***')
# Создаём скрипт на Pi
script = '''
import pymodbus.client as ModbusClient
import time
client = ModbusClient.ModbusSerialClient(
port='/dev/ttyUSB0',
baudrate=19200,
bytesize=8,
parity='E',
stopbits=1
)
client.connect()
for _ in range(5):
result = client.read_holding_registers(0, 2, slave=1)
if result:
temp = result.registers[0] / 10.0
hum = result.registers[1] / 10.0
print(f"Temp: {temp}°C, Humidity: {hum}%")
time.sleep(30)
client.close()
'''
# Записываем скрипт на Pi через SFTP и запускаем
sftp = ssh.open_sftp()
with sftp.open('/home/pi/modbus_poller.py', 'w') as f:
f.write(script)
sftp.close()
stdin, stdout, stderr = ssh.exec_command('python3 /home/pi/modbus_poller.py', timeout=120)
print(stdout.read().decode())
print(stderr.read().decode())
ssh.close()
AI получает вывод с Pi и выдаёт вам в чат: "Temp: 23.5°C, Humidity: 45.2%" и т.д.
Шаг 2. Настройка уведомлений и анализа
Теперь попросите AI добавить логику: если температура выше 80°C — отправить сообщение в Telegram. AI модифицирует скрипт, используя requests.post к api.telegram.org (библиотека requests доступна в sandbox).
import requests
TELEGRAM_TOKEN = 'ваш_токен'
CHAT_ID = 'ваш_chat_id'
...
if temp > 80:
requests.post(f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage',
json={'chat_id': CHAT_ID, 'text': f'🔥 Авария: температура {temp}°C!'})
Скрипт выполняется на Raspberry Pi, но код для отправки Telegram AI написал и выполнил на сервере — всё в одном диалоге.
Почему это проще, чем писать вручную?
Обычно для такой задачи инженеру пришлось бы:
- Настроить Modbus RTU master на Pi (руками).
- Написать polling-цикл с обработкой ошибок.
- Настроить Telegram bot и API.
- Деплоить скрипт через scp.
С ASI Biont достаточно описать задачу на естественном языке — AI сам сгенерирует код, отправит его на Pi и выполнит. Всё взаимодействие идёт через чат, без переключения между терминалами.
Альтернативный способ: Hardware Bridge для прямого доступа к COM-порту
Если у вас нет Raspberry Pi, но есть ПК с Windows (или Linux/Mac), подключённый к RS-485, используйте Hardware Bridge — приложение bridge.py, которое скачивается из дашборда. Bridge соединяется с ASI Biont через WebSocket. Вы можете отправлять Modbus RTU запросы в hex-формате с помощью industrial_command:
industrial_command(protocol='serial://', command='serial_write_and_read', data='010300000002c40b')
Bridge отправит кадр в COM-порт и вернёт ответ. Этот способ подходит для разовых команд, но для постоянного опроса с логикой лучше SSH-сценарий.
Результаты и метрики
После внедрения такого решения на одном из заводов (информация из открытых кейсов, сентябрь 2025):
- Время реакции на аварию сократилось с 4 минут до 10 секунд.
- Пропускная способность канала RS-485 загружена на 30% ниже за счёт адаптивной частоты опроса (AI меняет интервал в зависимости от тренда).
- Количество строк кода, написанного инженером, уменьшилось на 90%.
Заключение
ASI Biont превращает промышленный протокол Modbus RTU (RS-485) в управляемый AI-агентами интерфейс. Не нужно устанавливать SCADA-серверы или писать многоуровневые парсеры — достаточно описать задачу в чате, и AI сам подключится к вашему оборудованию. Промышленная автоматизация становится доступной каждому инженеру, а не только узким специалистам по интеграции.
Попробуйте сами → asibiont.com
Комментарии