CAN bus (Controller Area Network) — это стандарт промышленной сети, который десятилетиями используется в автомобилях, станках, роботах и системах автоматизации зданий. По данным официальной документации Bosch CAN, более 2 миллиардов CAN-узлов установлено по всему миру. Однако доступ к данным CAN-шины и управление устройствами традиционно требуют написания кода на C/C++ или работы с низкоуровневыми библиотеками. AI-агент ASI Biont меняет это: теперь достаточно описать задачу в чате, и AI сам напишет код интеграции с CAN bus, используя Python-библиотеку python-can и инструмент industrial_command.
Как ASI Biont подключается к CAN bus
ASI Biont поддерживает подключение к CAN-шине через industrial_command tool с протоколом can. AI использует команды:
- send_frame — отправить CAN-фрейм на шину (ID + данные)
- read_frame — прочитать один CAN-фрейм
- monitor_bus — подписаться на поток CAN-сообщений (с таймаутом)
Все команды отправляются через единственный канал связи — WebSocket, который соединяет bridge.py (запущенный на вашем ПК) с облачным AI-агентом. Пользователь скачивает bridge.py из дашборда ASI Biont (раздел Devices → Create API Key) и запускает его с параметрами порта и скорости. Например: python bridge.py --token=ВАШ_ТОКЕН --ports=CAN0 --baud 500000. Bridge подключается к ASI Biont, и AI получает доступ к CAN-шине.
Почему именно такой способ?
- Безопасность: bridge работает только исходящим WebSocket-соединением — не нужно открывать порты в firewall.
- Гибкость: можно подключить любой CAN-адаптер (USBtin, PCAN, SocketCAN на Linux) без изменения кода.
- Простота: пользователь не пишет ни строчки кода — всё делает AI по описанию.
Реальный сценарий: мониторинг температуры станка через CAN bus
Представьте производственный цех, где станок с ЧПУ передаёт температуру шпинделя через CAN bus (ID 0x200, 2 байта — температура в градусах Цельсия). Задача: AI-агент должен каждые 5 секунд читать температуру, и если она превышает 85°C — отправлять предупреждение в Telegram.
Шаг 1. Пользователь описывает задачу в чате
«Подключись к CAN0 на скорости 500 кбит/с. Мониторь фреймы с ID 0x200, парси температуру из первых двух байт как unsigned short. Если температура больше 85, отправь мне уведомление в Telegram через мой бот @my_bot, токен 12345:ABCDE»
Шаг 2. AI генерирует и выполняет код
AI пишет Python-скрипт (выполняется в sandbox-окружении на сервере ASI Biont), который через industrial_command мониторит CAN-шину и анализирует данные. Вот пример такого кода (упрощённо):
import requests
# Читаем CAN-фрейм через industrial_command
# AI вызывает tool: industrial_command(protocol='can', command='read_frame', params={'channel': 'CAN0', 'timeout': 5.0})
# Допустим, получен фрейм: {'id': 0x200, 'data': [0x00, 0x55]}
temp_bytes = [0x00, 0x55]
temperature = (temp_bytes[0] << 8) | temp_bytes[1] # 0x0055 = 85
if temperature > 85:
# Отправляем уведомление в Telegram
token = "12345:ABCDE"
chat_id = "@my_bot"
text = f"⚠️ Авария: температура шпинделя {temperature}°C!"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, json={"chat_id": chat_id, "text": text})
Шаг 3. AI запускает мониторинг
AI вызывает команду monitor_bus с фильтром по ID 0x200 и таймаутом 30 секунд (ограничение sandbox). Скрипт циклически читает фреймы, анализирует температуру и при превышении порога отправляет сообщение в Telegram. Пользователь видит результат в чате.
Другие сценарии интеграции CAN bus с ASI Biont
- Диагностика автомобиля: подключитесь к OBD-II через CAN-адаптер (например, USBtin). AI читает коды ошибок (DTC), скорость, обороты двигателя и отправляет отчёт в мессенджер.
- Управление роботом: отправляйте CAN-фреймы для управления сервоприводами (ID 0x301, данные — позиция, скорость). AI по команде «поверни руку на 90 градусов» формирует нужный фрейм и отправляет через
send_frame. - Сбор данных со станков: AI мониторит несколько CAN-ID параллельно, агрегирует данные в Excel-файл (через openpyxl) и строит графики (matplotlib) для отчёта.
Почему это выгодно?
- Экономия времени: не нужно писать код вручную — AI делает это за секунды.
- Zero configuration: не требуется панель управления или кнопка «добавить устройство». Всё через диалог.
- Любой протокол: если нужен не CAN, а Modbus или OPC UA — AI использует pymodbus или opcua-asyncio. execute_python даёт доступ к 50+ библиотекам.
Заключение
Интеграция CAN bus с AI-агентом ASI Biont превращает промышленную шину в управляемый через чат инструмент. Неважно, работаете ли вы с автомобильной электроникой, станками с ЧПУ или роботами — AI сам напишет код подключения, мониторинга и управления. Попробуйте прямо сейчас: скачайте bridge.py из дашборда asibiont.com, подключите CAN-адаптер и опишите задачу в чате. Увидите, как AI оживит вашу CAN-шину.
Комментарии