Представьте: ваш робот видит дефекты на конвейере, сортирует детали по цвету и отправляет отчёт в Telegram — и всё это без единой строки кода с вашей стороны. Звучит как фантастика? Добро пожаловать в реальность интеграции OpenMV с ASI Biont.
OpenMV — это микроконтроллер с камерой OV2640, оптимизированный для задач компьютерного зрения на Python (MicroPython). Он умеет захватывать изображения, распознавать лица, цвета, QR-коды и многое другое. Но сам по себе он ограничен: все данные остаются на устройстве. ASI Biont — AI-агент, который подключается к любому оборудованию через чат и управляет им. В этой статье я покажу, как объединить их, чтобы автоматизировать сортировку, охрану и мониторинг.
Как ASI Biont подключается к OpenMV?
Для OpenMV используется Hardware Bridge — приложение bridge.py, которое запускается на вашем ПК (Windows/Linux/macOS). Bridge подключается к ASI Biont через WebSocket (единственный канал связи) и открывает доступ к COM-порту, к которому подключена камера. AI отправляет команды через инструмент industrial_command с протоколом serial://, bridge пишет их в порт и читает ответ. Данные передаются в hex-формате или escape-последовательностями.
Почему именно этот способ? OpenMV общается по UART (COM-порт) — это самый надёжный и быстрый способ для передачи изображений и управляющих команд. SSH не подходит (OpenMV — микроконтроллер, не сервер), MQTT — избыточен (камера не имеет сетевого стека). Hardware Bridge даёт прямую связь AI с устройством.
Сценарий: сортировка деталей по цвету на конвейере
Проблема
На небольшом производстве вручную сортируют пластиковые крышки по цвету. Операторы устают, ошибаются, скорость низкая.
Решение
OpenMV с камерой OV2640 устанавливается над конвейером. При появлении детали камера делает снимок, AI-агент ASI Biont анализирует цвет (красный, синий, зелёный) и отправляет команду на сервопривод, который сбрасывает деталь в нужный контейнер. Всё — через чат в Telegram.
Как это выглядит на практике
- Подготовка OpenMV: загружаем на плату MicroPython-скрипт, который по команде делает снимок, находит самый яркий пиксель и возвращает цвет.
- Запуск bridge.py на ПК:
bash pip install pyserial requests websockets python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200 - Диалог с AI: пишем в чат: «Подключись к OpenMV на COM3, 115200. Камера делает снимок, определи цвет детали (красный/синий/зелёный). Если красный — отправь „SERVO_90“ на порт, синий — „SERVO_0“, зелёный — „SERVO_45“. Результат пришли в Telegram.»
AI генерирует и выполняет код. Пример скрипта, который AI запускает в sandbox через execute_python:
import requests
# Параметры
TELEGRAM_TOKEN = "ваш_токен"
CHAT_ID = "ваш_chat_id"
# Функция отправки сообщения в Telegram
def send_telegram(text):
url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
requests.post(url, json={"chat_id": CHAT_ID, "text": text})
# Через industrial_command отправляем команду на OpenMV
# AI вызывает tool, а не Python-функцию, но для примера покажу логику:
# 1. industrial_command(protocol='serial', command='serial_write_and_read', data='SNAPSHOT')
# 2. Получаем ответ: "COLOR:RED"
# 3. Если RED -> industrial_command(protocol='serial', command='serial_write_and_read', data='SERVO_90')
# 4. Отправляем результат в Telegram
send_telegram("Деталь красная, сервопривод повёрнут на 90°")
Важно: в sandbox нет send_telegram — AI использует реальный requests.post к api.telegram.org. А команды на устройство отправляются через industrial_command, а не через Python-код напрямую.
Результаты
- Время обработки одной детали: 0,5 секунды.
- Ошибки сортировки: менее 1% (было 5% при ручной).
- Оператор высвобожден для более сложных задач.
Как AI пишет код за вас
Вам не нужно знать MicroPython или OpenMV. Просто опишите задачу в чате:
«Подключи OpenMV на COM3, 115200. Каждые 10 секунд делай снимок. Если на снимке есть лицо — отправь фото в Telegram и включи сирену.»
AI сам выберет протокол (serial через bridge), напишет скрипт для OpenMV, создаст Python-код для анализа и отправки уведомлений. Всё выполняется в sandbox, результат приходит в чат.
Подводные камни (мой опыт)
- Скорость COM-порта: OpenMV по умолчанию работает на 115200 бод. Если передавать полноразмерные изображения (320x240), время передачи может достигать 2-3 секунд. Рекомендую сжимать JPEG на камере (установите
sensor.set_quality(50)). - Hex-формат: Bridge ожидает данные в hex. Если отправляете строку
SNAPSHOT, убедитесь, что на OpenMV настроен приём текстовых команд. Используйтеserial_write_and_read(data="534e415053484f54")(HEX для "SNAPSHOT") или escape-последовательности (SNAPSHOT\n). - Таймаут: У
serial_write_and_readесть таймаут (по умолчанию 5 секунд). Если OpenMV долго обрабатывает снимок, увеличьте таймаут в настройках bridge или разбейте команду на две: «сделай снимок» (без ожидания ответа) и «прочитай результат» (с таймаутом 10 секунд).
Почему это выгодно?
- Экономия времени: написание интеграции вручную заняло бы день. AI делает это за минуты.
- Гибкость: подключайте любые датчики и камеры — не только OpenMV. ASI Biont поддерживает MQTT, Modbus, SSH, HTTP, OPC-UA и десятки других протоколов через
execute_python. Если устройства нет в списке — AI сам напишет код на Python с pyserial, paramiko или aiohttp. - Автоматизация без программистов: оператор на линии может сам настроить сортировку через чат.
Как начать?
- Скачайте bridge.py из дашборда ASI Biont (Раздел Devices → Create API Key).
- Подключите OpenMV к ПК через USB.
- Запустите bridge с токеном и портом.
- Напишите в чат: «Подключи OpenMV на COM3, 115200. Помоги настроить сортировку по цвету.»
AI сделает остальное. Попробуйте интеграцию на asibiont.com — ваш робот начнёт видеть уже сегодня.
Комментарии