Введение
CAN (Controller Area Network) — это промышленный протокол, который десятилетиями используется в автомобильной промышленности, станкостроении, робототехнике и автоматизации зданий. CAN-шина позволяет подключать множество датчиков, контроллеров и исполнительных устройств с высокой надёжностью и минимальными задержками. Однако извлечение данных из CAN-сети и принятие решений на их основе часто требует написания сложного кода и постоянного мониторинга.
AI-агент ASI Biont решает эту проблему: он подключается к CAN-шине через industrial_command, используя библиотеку python-can, и позволяет считывать фреймы, отправлять команды и анализировать данные в реальном времени — без ручного программирования. Достаточно описать задачу на естественном языке, и AI самостоятельно подберёт протокол, сгенерирует код и выполнит интеграцию.
Как ASI Biont подключается к CAN bus?
ASI Biont поддерживает CAN bus через встроенный инструмент industrial_command. Этот инструмент предоставляет три основные команды:
| Команда | Описание |
|---|---|
send_frame |
Отправить CAN-фрейм (ID + данные) |
read_frame |
Прочитать один CAN-фрейм с ожиданием |
monitor_bus |
Запустить мониторинг шины (поток фреймов) |
Все команды выполняются в облаке (sandbox ASI Biont), где установлены все необходимые библиотеки, включая python-can. Для работы с физической CAN-шиной на локальном компьютере пользователь может использовать Hardware Bridge (bridge.py), который подключается к ASI Biont через WebSocket и обеспечивает доступ к USB-CAN адаптерам (например, USBtin, PCAN-USB). Однако в большинстве сценариев industrial_command работает напрямую с CAN-интерфейсами, доступными из облака (например, через TCP-соединение с CAN-шлюзом).
Реальный сценарий: мониторинг температуры двигателя
Рассмотрим типовую задачу: на заводе установлен дизельный генератор с CAN-шиной, передающей температуру охлаждающей жидкости, давление масла, обороты. Задача — логировать температуру и отправлять предупреждение в Telegram при превышении 95°C.
Шаг 1: Описываем задачу в чате с AI
Пользователь пишет:
«Подключись к CAN-шине генератора через интерфейс can0, скорость 250 кбит/с. Читай фреймы с ID 0x0CF00400 (температура). Данные — 2 байта, signed, масштаб 0.1. Если температура > 95°C, отправь сообщение в Telegram-бот.»
Шаг 2: AI выбирает протокол и генерирует интеграцию
AI распознаёт протокол CAN и использует industrial_command с командой monitor_bus для непрерывного чтения. Пример того, как AI выполняет команду:
# Это упрощённое представление реального вызова инструмента.
# AI не пишет этот код руками, а использует встроенный инструмент.
industrial_command(
protocol='can',
command='monitor_bus',
params={
'interface': 'can0',
'bitrate': 250000,
'filter_ids': [0x0CF00400],
'callback': 'send_to_telegram'
}
)
Шаг 3: AI обрабатывает данные и отправляет уведомление
В процессе мониторинга AI анализирует каждый фрейм. Если значение температуры превышает порог, AI вызывает execute_python, чтобы отправить сообщение в Telegram:
import requests
# Параметры бота (передаются пользователем через чат)
TOKEN = 'ваш_токен'
CHAT_ID = 'ваш_chat_id'
# Данные от CAN-фрейма приходят в sandbox как переменная event
temp = event['data'][0] * 256 + event['data'][1] # little-endian
temp_c = temp * 0.1
if temp_c > 95:
text = f"⚠️ Температура двигателя: {temp_c:.1f}°C — превышение!"
requests.post(f"https://api.telegram.org/bot{TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": text})
Всё это происходит автоматически после описания задачи — пользователь только получает уведомления в Telegram.
Пошаговое руководство: от запроса до готовой интеграции
-
Настройка оборудования: Подключите USB-CAN адаптер к компьютеру. Установите драйверы (например, для USBtin или PCAN-USB). Убедитесь, что интерфейс виден в системе (в Linux —
ip link show can0). -
Скачивание bridge.py: В дашборде ASI Biont (Devices → Create API Key) скачайте bridge.py. Этот файл запускается на вашем ПК и связывает локальную CAN-шину с облаком ASI Biont через WebSocket.
-
Запуск bridge: Откройте терминал и выполните:
bash pip install pyserial requests websockets python-can python bridge.py --token=ВАШ_ТОКЕН_ИЗ_ДАШБОРДА --ports=can0 --baud=250000
Bridge автоматически подключится к ASI Biont, и AI сможет управлять CAN-шиной. -
Диалог в чате: Напишите AI задачу, как в примере выше. AI сам выберет протокол CAN и начнёт мониторинг.
-
Результат: Вы получаете готовую систему мониторинга без единой строки кода, написанной вручную.
Преимущества интеграции CAN bus с ASI Biont
- Мгновенная интеграция: AI сам определяет протокол и параметры подключения. Не нужно разбираться в структуре CAN-фреймов или битовой маске.
- Гибкость: Поддерживаются любые CAN-устройства — от автомобильных ECU до промышленных PLC.
- Автоматизация: AI может не только читать, но и отправлять фреймы (например, включать клапан по команде «Снизь температуру»).
- Расширяемость: Параллельно с CAN-шиной AI может подключаться к другим интерфейсам (MQTT, Modbus, HTTP) — всё в одном диалоге.
Дополнительные сценарии с CAN bus
| Сценарий | Команда AI | Результат |
|---|---|---|
| Управление клапаном по ID 0x100 | send_frame id=0x100 data=0x0123 |
Открывает клапан на 75% |
| Мониторинг давления в гидравлике | monitor_bus filter_ids=0x0CF00200,0x0CF00300 |
Логирование + аварийное оповещение |
| Диагностика ошибок | read_frame id=0x7DF (диагностический запрос) |
Сбор DTC кодов |
| Интеграция с MQTT | AI читает CAN, публикует данные в MQTT-топик | Данные уходят в облачную SCADA |
Почему стоит попробовать?
Традиционная настройка CAN-мониторинга требует написания кода на C/C++ или Python, знания спецификаций CANopen/J1939, настройки фильтров и обработки прерываний. С ASI Biont весь процесс умещается в один запрос: «Подключись к CAN и отправляй данные в Telegram». AI берёт на себя рутину, а вы сосредотачиваетесь на анализе.
Заключение
CAN bus — мощный, но сложный протокол. ASI Biont делает его доступным: достаточно описать задачу на естественном языке, и AI-агент самостоятельно подключается к шине, читает фреймы и управляет устройствами. Никаких дашбордов с кнопками «добавить устройство» — только диалог в чате.
Попробуйте интеграцию прямо сейчас на asibiont.com. Опишите ваше CAN-устройство и получите готовую систему мониторинга за минуты.
Комментарии