Интеграция CAN bus с AI-агентом ASI Biont: пошаговое руководство для автоматизации промышленных систем

Введение\n\nCAN bus (Controller Area Network) — это стандарт промышленной сети, широко используемый в автомобильной электронике, станкостроении, робототехнике и системах управления зданиями. Согласно данным CAN in Automation (CiA), более 1,5 миллиардов CAN-узлов установлено по всему миру (источник: www.can-cia.org/can-knowledge). Однако прямое управление CAN-устройствами требует специальных знаний: нужно писать код на C/C++, работать с CAN-адаптерами (например, PCAN-USB, USBtin), разбираться в протоколах (CANopen, J1939).\n\nAI-агент ASI Biont меняет эту ситуацию. Вместо того чтобы писать десятки строк кода и отлаживать их вручную, вы просто описываете в чате, что нужно сделать: «подключись к CAN-шине через USBtin, читай сообщения с ID 0x1A0, если температура превышает 80°C, отправь команду на снижение оборотов». ASI Biont сам генерирует Python-код, используя библиотеку python-can (доступную в sandbox-окружении), и выполняет его. В этой статье мы разберём, как именно это работает, на конкретных сценариях.\n\n## Как ASI Biont подключается к CAN bus\n\nASI Biont использует execute_python — универсальный механизм, при котором AI пишет Python-скрипт, запускаемый в безопасном sandbox-окружении (на сервере Railway). В sandbox доступна библиотека python-can — стандартная библиотека для работы с CAN в Python (документация: python-can.readthedocs.io).\n\nВажно: execute_python выполняется в облаке, поэтому он не имеет прямого доступа к USB-портам вашего компьютера. Для подключения к физическому CAN-адаптеру (PCAN-USB, USBtin) нужно использовать Hardware Bridge — отдельное приложение bridge.py, которое вы запускаете на своём ПК. Bridge подключается к ASI Biont через HTTP long polling, а AI отправляет команды через industrial_command tool с протоколом serial://. Но есть и альтернатива: если ваше CAN-устройство (например, ESP32 с CAN-шиной) отправляет данные по MQTT или HTTP, ASI Biont подключается напрямую через paho-mqtt или aiohttp.\n\n### Основные способы подключения CAN bus к ASI Biont\n\n

| Способ | Используемый инструмент | Когда применять |\n|--------|------------------------|-----------------|\n| Через Hardware Bridge (COM-порт) | industrial_command(protocol='serial://', ...) | Если CAN-адаптер подключен к ПК через USB (например, USBtin) |\n| Через MQTT | execute_python с paho-mqtt | Если CAN-устройство (ESP32) публикует данные в MQTT-топик |\n| Через HTTP API | execute_python с aiohttp | Если CAN-устройство имеет REST API (например, промышленный шлюз) |\n| Через SSH | execute_python с paramiko | Если CAN-устройство — одноплатник (Raspberry Pi) с CAN-шиной |\n\nВ этой статье мы сосредоточимся на самом распространённом сценарии: CAN bus через Hardware Bridge. Вы запускаете bridge.py на своём компьютере, подключаете CAN-адаптер (например, USBtin), а AI управляет им из облака.\n\n## Сценарий 1: Управление электродвигателем через CAN bus (CANopen)\n\nЗадача: Пользователь хочет управлять сервоприводом (например, фирмы Leadshine или Delta) по протоколу CANopen. Нужно: читать текущую скорость (объект 0x606C), если скорость падает ниже заданного порога — увеличить задание скорости (объект 0x6042).\n\nКак это работает в ASI Biont:\n1. Пользователь запускает bridge.py на своём ПК:\nbash\npython bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --default-baud=115200\n\n2. В чате пользователь пишет: «Подключись к CAN-адаптеру на COM3, скорость 115200, используй протокол CANopen. Читай скорость из 0x606C, если меньше 500 об/мин, отправь команду 0x6042 со значением 800».\n3. AI отправляет команду через industrial_command:\n\nindustrial_command(\n protocol='serial://',\n command='can_read_write',\n params={\n 'port': 'COM3',\n 'baudrate': 115200,\n 'node_id': 1,\n 'read_object': '0x606C',\n 'write_object': '0x6042',\n 'threshold': 500,\n 'new_value': 800\n }\n)\n\n4. Bridge получает команду, открывает COM3, подключается к CAN-шине через USBtin (используя библиотеку python-can на стороне ПК), читает и записывает SDO-объекты.\n\nПример Python-кода, который AI мог бы сгенерировать для локальной отладки (запускается на ПК):\n```python\nimport can\nimport time\n\n# Подключение к CAN-адаптеру (USBtin на COM3)\nbus = can.interface.Bus(bustype='serial', channel='COM3', bitrate=115200)\nmsg = can.Message(arbitration_id=0x601, data=[0x40, 0x6C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00], is_extended_id=False) # Read 0x606C\nbus.send(msg)\nresponse = bus.recv(timeout=1)\nif response:\n speed = int.from_bytes(response.data[4:8], 'little', signed=True)\n print(f\

← Все статьи

Комментарии

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

Интеграция Banana Pi с AI-агентом ASI Biont: автоматизация на одноплатнике без единой строки кода

14 июля 2026

Telegram Bot Development: как автоматизировать бизнес и заработать на ботах в 2026 году

14 июля 2026

AI-агент оживляет завод: интеграция Modbus RTU (RS-485) с ASI Biont для предиктивного обслуживания

14 июля 2026

Uber не хочет быть «всем для всех»: что на самом деле сказал продакт-директор про отели, роботакси и будущее платформы

14 июля 2026

Курс «Промышленный интернет вещей (IIoT) и системы SCADA»: ваш путь к Индустрии 4.0 в 2026 году

14 июля 2026

ИИ незаметно меняет мнения пользователей в соцсетях: как алгоритмы формируют нашу реальность

14 июля 2026

CKA + CKAD — Kubernetes Administrator & Developer: как подготовиться к сертификации в 2026 году с AI-тьютором

14 июля 2026

Как перестать терять сделки из-за языка: обзор курса «Английский для бизнеса» на asibiont.com

14 июля 2026

Трансформационное лидерство и стратегическое мышление CEO: Программа для основателей на уровне Гарварда, желающих овладеть принятием решений

14 июля 2026