Курбас-640 (alpha): підключення по USB

[V.1.0] Підключення по USB
Г
Написано Гліб
Оновлено 1 тиждень тому

Примітка: камера наразі підтверджено працює з Raspberry Pi 5, Raspberry Pi Zero 2 W та Orange Pi 5.

Загальна схема підключення

  1. Припаяйте USB-кабель до комплектного проводу камери за схемою:
    Камера USB Сигнал
    Червоний Червоний Power Positive
    Чорний Чорний Power Negative
    Зелений Зелений USB_2.0_DP
    Білий Білий USB_2.0_DM


  2. Вставте кабель у конектор USB на платі

  3. Перевірте камеру в консолі
  • Встановіть інструменти для перевірки камери

    sudo apt update && sudo apt install -y v4l-utils ffmpeg

  • Переконатись, що камера визначилась. Введіть команду і у виводі знайдіть блок, у назві якого в дужках є префікс usb-… — це ваша підключена USB-камера, а перший рядок під ним (зазвичай /dev/video0) указує на відеопотік, який слід використовувати; якщо такого блоку немає, система не розпізнала камеру й потрібно перевірити кабель, живлення або спробувати перепід’єднання

    v4l2-ctl --list-device

  • Перевірте зображення камери


ffplay -f v4l2 -video_size 640x512 -i /dev/video0

Перевірка камери через Python + OpenCV (додаткова перевірка)

  • Встановіть інструменти для перевірки камери

    sudo apt update
    sudo apt install -y python3-opencv python3-numpy v4l-utils

  • Переконатись, що камера визначилась. Введіть команду і у виводі знайдіть блок, у назві якого в дужках є префікс usb-… — це ваша підключена USB-камера, а перший рядок під ним (зазвичай /dev/video0) указує на відеопотік, який слід використовувати; якщо такого блоку немає, система не розпізнала камеру й потрібно перевірити кабель, живлення або спробувати перепід’єднання

    v4l2-ctl --list-devices

  • Перейдіть у домашню папку

    cd ~

  • Створіть файл

    nano test.py

  • Скопіюйте й вставте код:

    import cv2
    import time

    DEVICE = "/dev/video0"          # замініть, якщо іншій нод
    WIDTH, HEIGHT = 640, 512

    cap = cv2.VideoCapture(DEVICE, cv2.CAP_V4L2)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH,  WIDTH)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)

    if not cap.isOpened():
        raise IOError(f"Не вдалося відкрити {DEVICE}")

    print("Натисніть 'q' для виходу")
    t0, frames = time.time(), 0
    while True:
        ret, frame = cap.read()
        if not ret:
            print("Кадр не зчитано"); break
        cv2.imshow("UVC 640×512", frame)
        frames += 1
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    print(f"Середній FPS: {frames / (time.time() - t0):.1f}")
    cap.release()
    cv2.destroyAllWindows()

  • Збережіть код → Ctrl + O, Enter, вийдіть → Ctrl + X.

  • Запустіть файл 

    python3 test.py



Чи була наша стаття корисною?