Ручной контроль качества на производстве — это дорого, медленно и субъективно. Оператор устаёт, пропускает дефекты, а каждая ошибка оборачивается рекламациями и потерями. Решение — интеграция камеры компьютерного зрения OpenMV (с сенсором OV2640) с AI-агентом ASI Biont. В этой статье разберём, как за пару минут настроить автоматическую детекцию брака на конвейере, отправлять фото дефектных деталей в Telegram и сократить трудозатраты на 80%.
Что такое OpenMV и зачем подключать его к AI-агенту?
OpenMV — это микроконтроллерная платформа для компьютерного зрения на базе STM32 и камеры OV2640 (2 Мп, 1600×1200). Она умеет распознавать цвета, линии, QR-коды, лица и простые объекты прямо на борту — без мощного ПК. Но сама по себе камера не может отправить уведомление в Telegram, записать брак в базу данных или динамически менять порог детекции под новую партию деталей. ASI Biont добавляет этот «мозг»: AI-агент подключается к OpenMV через COM-порт (UART), читает результаты распознавания, принимает решения и связывается с внешними сервисами.
Какой способ подключения используется и почему?
OpenMV общается с внешним миром через UART (TTL-уровни, 3.3V). Для подключения к ASI Biont используем Hardware Bridge — приложение bridge.py, которое пользователь запускает на своём ПК (Windows/Linux/macOS). Bridge соединяется с ASI Biont через WebSocket (единственный канал связи) и обеспечивает доступ к локальным COM-портам. AI-агент отправляет команды через industrial_command tool с протоколом serial://, bridge пишет данные в порт и читает ответ.
Почему именно bridge, а не execute_python? Потому что execute_python выполняется в облаке (Railway) и не имеет доступа к USB-портам вашего компьютера. Bridge — это безопасный прокси: он не открывает HTTP-сервер на localhost, а только соединяется с облаком по WebSocket.
Пошаговый сценарий: контроль качества на конвейере
Шаг 1. Скачиваем и запускаем bridge
В дашборде ASI Biont (Devices → Create API Key) создаём ключ и скачиваем bridge.py. Устанавливаем зависимости:
pip install pyserial requests websockets
Запускаем bridge, указав токен и порт, к которому подключена OpenMV:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 115200
Шаг 2. Прошиваем OpenMV
Загружаем на OpenMV скетч, который детектирует красные дефекты (например, царапины на красной детали) и отправляет результат в UART:
import sensor, image, time
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=2000)
red_threshold = (30, 100, 15, 127, 15, 127) # LAB
while True:
img = sensor.snapshot()
blobs = img.find_blobs([red_threshold], pixels_threshold=200)
if blobs:
print("DEFECT_DETECTED:{}".format(len(blobs)))
img.draw_rectangle(blobs[0].rect())
img.save("/tmp/defect.jpg")
else:
print("OK")
time.sleep(1)
Шаг 3. Настраиваем AI-агента в чате
Пользователь пишет в чат ASI Biont:
Подключись к OpenMV через bridge на COM3, скорость 115200. Камера присылает строки "OK" (нет брака) или "DEFECT_DETECTED:X". Если пришёл дефект — сфотографируй деталь через OpenMV (команда "CAPTURE"), получи изображение и отправь в Telegram группу @my_factory_alerts с текстом "Обнаружен брак: X дефектов". Если подряд 3 OK — ничего не делай.
AI-агент сам генерирует и выполняет код интеграции. Пример того, что происходит «под капотом»:
# Этот код пишет и выполняет AI в sandbox
import requests
import time
# Функция для отправки команды через bridge (вызов industrial_command)
# В реальности это tool call, но для наглядности показываем логику
def send_command(cmd):
# AI использует industrial_command(protocol='serial', command='serial_write_and_read', data=cmd)
pass # упрощение
def capture_image():
# AI отправляет команду "CAPTURE" через bridge
# bridge читает байты из COM-порта и возвращает hex-строку с JPEG
response = industrial_command(protocol='serial', command='serial_write_and_read', data='434150545552450a') # "CAPTURE\n"
return bytes.fromhex(response)
ok_count = 0
while True:
line = send_command('') # просто читаем строку
if 'DEFECT_DETECTED' in line:
ok_count = 0
count = line.split(':')[1]
img_data = capture_image()
# Отправляем в Telegram
files = {'photo': ('defect.jpg', img_data, 'image/jpeg')}
requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendPhoto",
data={'chat_id': '@my_factory_alerts', 'caption': f'Обнаружен брак: {count} дефектов'},
files=files
)
else:
ok_count += 1
time.sleep(0.5)
Важно: Этот код выполняется в sandbox ASI Biont (таймаут 30 секунд, поэтому реальный скрипт AI запускает как долгоживущий процесс через отдельный механизм, но для статьи упрощаем).
Шаг 4. Результат
- Брак детектируется за 1–2 секунды (против 10–15 секунд при ручном осмотре).
- Фото дефекта сразу уходит в Telegram-группу начальника смены.
- AI может вести статистику: сколько брака за смену, какой оператор допустил, какая партия.
- Трудозатраты на контроль снижаются на 80% — один AI-агент заменяет трёх контролёров.
Почему это выгодно?
Вам не нужно писать сложный код интеграции, разбираться в протоколах или ждать обновлений от разработчиков. Просто опишите задачу в чате — AI сам подберёт способ подключения (в данном случае COM-порт через bridge), сгенерирует Python-скрипт с pyserial, requests и telebot-логикой, и запустит его. Если завтра вы захотите добавить вторую камеру — просто напишите «подключи ещё одну OpenMV на COM5 и суммируй дефекты с обеих».
Заключение
OpenMV + ASI Biont — это готовое решение для автоматизации контроля качества на малом и среднем производстве. Минимум железа (камера за $50 + любой ПК), максимум гибкости: AI-агент управляет детекцией, уведомлениями, аналитикой. Попробуйте сами: создайте API-ключ в дашборде ASI Biont, скачайте bridge, подключите OpenMV и напишите в чат «настрой контроль качества». Вся интеграция займёт меньше часа.
Комментарии