AI Dual Camera
Сценарій «двох камер» в OpenIPC FPV: на одному дроні працюють денна камера (OpenIPC) і тепловізор (через Raspberry Pi), а пілот перемикає їх у польоті. Обидва потоки зводяться в один WFB-передавач через socat, а на денну камеру накладається детекція об'єктів на борту — модель YOLOv8n на апаратному прискорювачі IPU SigmaStar.
📦 Файли для встановлення
Усі потрібні бінарники, конфіги та скрипти зібрані в одному архіві.
➜ Завантажити архів «AI Dual Camera»
Розпакуйте архів і виконуйте наведені нижче команди з теки, куди розпакували файли.
Тільки для просунутих користувачів
Гайд дуже технічний і змінює системні файли камери та наземної станції. Він для досвідчених користувачів і розробників. Усе, що ви робите, — на власний ризик.
Як це працює
- Дві камери, один WFB-лінк, перемикання в польоті через утиліту
socat. - Денна камера (OpenIPC) віддає потік на порт
5500. - Тепловізор (через Raspberry Pi, H.264) віддає потік на порт
5600. socatзалежно від перемикача бере потік із5500або5600і передає на локальний Unix RTP-сокет → WFB → передавання на наземну станцію.- Замість Majestic працює стрімер
vencіз детекцією об'єктів (її реалізував Milos): вона рахується покадрово, до кодування, за моделлю YOLOv8n (352px) на драйвері IPU (mi_ipu.ko).
Обладнання (приклад збірки)
| Компонент | Що використано |
|---|---|
| Денна камера + VTX | EMAX Wi-Fi Link (v1) + Wi-Fi-адаптер від RunCam Wi-Fi Link (v1). Підійде будь-яка OpenIPC-камера на SigmaStar |
| Тепловізор | USB-тепловізійний модуль → Raspberry Pi Zero 2W («3B mini») з SPI-Ethernet адаптером; SD-карта з образом URLLC AIO (OR) |
| Провідний лінк | Ethernet між Raspberry Pi та OpenIPC-камерою (через SPI-адаптер) |
| Політний контролер | Betaflight (12/2025) + GPS для position hold |
| Наземна станція (VRX) | новий EMAX VRX (або RunCam VRX / Eachine VRX / старий EMAX VRX) |
Що знадобиться
- PuTTY — інструменти
plinkіpscpу PATH (команди нижче — для Windows). На Mac/Linux скористайтесь аналогамиssh/scp. - Архів «AI Dual Camera» з бінарниками, конфігами та скриптами.
- OpenIPC-камера на SigmaStar (SSC338Q) з доступом по SSH (
root/12345).
Крок 0. Підготовка
- Розпакуйте архів, відкрийте CMD і перейдіть у теку з розпакованими файлами.
- З'єднайте камеру Ethernet-кабелем напряму з ноутбуком (не через роутер).
- Задайте IP Ethernet-адаптера ноутбука —
192.168.1.11(маска255.255.255.0). Камера має адресу192.168.1.10. - (За потреби) скиньте камеру до початкового стану командою
firstbootу її консолі. Не переривайте процес.
Крок 1. Встановлення файлів на камеру (VTX)
Виконайте команди по черзі з теки з розпакованим архівом:
plink -ssh [email protected] -pw 12345 killall majestic "&&" rm /usr/bin/majestic "&&" mkdir /config "&&" mkdir /config/dla "&&" mkdir /root/models/
pscp -scp -pw 12345 mi_ipu.ko [email protected]:/lib/modules/4.9.84/sigmastar/
pscp -scp -pw 12345 ipu_firmware.bin [email protected]:/config/dla/
pscp -scp -pw 12345 yolov8n352drone.img [email protected]:/root/models/
pscp -scp -pw 12345 libipu_yolo_worker.so [email protected]:/root/
pscp -scp -pw 12345 venc socat mavlink-routerd channels.sh [email protected]:/usr/bin
pscp -scp -pw 12345 venc.json txprofiles.conf [email protected]:/etc
plink -ssh [email protected] -pw 12345 dos2unix /etc/venc.json "&&" dos2unix /etc/txprofiles.conf "&&" dos2unix /usr/bin/channels.sh "&&" chmod +x /usr/bin/channels.sh "&&" chmod +x /usr/bin/venc "&&" chmod +x /usr/bin/socat "&&" chmod +x /usr/bin/mavlink-routerd
pscp -scp -pw 12345 libmi_vif.so libmi_isp.so libcus3a.so libispalgo.so libmi_vpe.so libmi_sensor.so libmi_venc.so libmi_ipu.so libcam_fs_wrapper.so [email protected]:/usr/libКрок 2. Правки файлів на камері
Три файли редагуються вручну. У самому архіві є готові версії wifibroadcast і S95majestic — можна орієнтуватися на них.
/usr/bin/wifibroadcast
У функції start_telemetry, під командою mavfwd, додайте рядок mavlink-routerd &:
if [ "$router" = "mavfwd" ]; then
mavfwd -b 115200 -c 8 -p 100 -a 15 -t -m /dev/"$serial" \
-o 127.0.0.1:14552 -i 127.0.0.1:"$port_rx" > /dev/null &
mavlink-routerd &/etc/init.d/S95majestic
Приведіть початок файлу до такого вигляду (стрімер venc + завантаження драйвера IPU):
#!/bin/sh
DAEMON="venc"
PIDFILE="/var/run/$DAEMON.pid"
DAEMON_ARGS="-s"
start() {
echo -n "Starting $DAEMON: "
insmod /lib/modules/4.9.84/sigmastar/mi_ipu.ko
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS
if [ $? -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
}/etc/mavlink.conf (створити новий)
[General]
TcpServerPort = 0
[UdpEndpoint telemetry_tx]
Mode = Normal
Address = 127.0.0.1
Port = 14551
[UdpEndpoint telemetry_tx2]
Mode = Normal
Address = 192.168.1.50
Port = 14551
[UdpEndpoint telemetry_rx]
Mode = Server
Address = 127.0.0.1
Port = 14552Крок 3. Меню наземної станції (gsmenu)
У меню GS змініть три параметри:
- Router (підменю Telemetry) →
mavfwd - txpower (підменю Alink) →
3або4 - Mlink (підменю WFB-NG) →
2000
Крок 4. Тепловізор на Raspberry Pi
- Прошийте SD-карту образом URLLC AIO (OR) (посилання — у відео / попередньому гайді MarioFPV) і вставте її в Raspberry Pi Zero 2W.
- Підключіть USB-тепловізор до Raspberry Pi.
- Провідний Ethernet-лінк (через SPI-адаптер) з'єднує Raspberry Pi з OpenIPC-камерою — тепловий потік (H.264) надходить на порт
5600.
Крок 5. VRX: MAVLink OSD + авто-декодер PixelPilot
Оскільки задіяний MAVLink, OSD на боці камери недоступний — його виводимо на VRX.
Увімкніть WiFi Hotspot у gsmenu VRX і підключіться з комп'ютера до мережі OpenIPC GS (пароль 12345678). Далі з CMD:
plink -ssh [email protected] -pw 12345 killall pixelpilot
pscp -scp -pw 12345 pixelpilot gsmenu.sh [email protected]:/usr/bin/
pscp -scp -pw 12345 h264.png h265.png h264.svg h265.svg [email protected]:/usr/share/pixelpilot/
pscp -scp -pw 12345 osd.json [email protected]:/etc/pixelpilot/
plink -ssh [email protected] -pw 12345 dos2unix /etc/pixelpilot/osd.json "&&" dos2unix /usr/bin/gsmenu.sh "&&" chmod +x /usr/bin/pixelpilot "&&" chmod +x /usr/bin/gsmenu.sh "&&" rebootINFO
Перші три команди (killall pixelpilot та копіювання pixelpilot / gsmenu.sh / іконок) не потрібні, якщо ваш SBC Buildroot оновлено до збірки від 11.07.2026 або новішої.
Далі підключіться по SSH до SBC Buildroot VRX (192.168.4.1, root / 12345) і в новому gsmenu змініть codec на auto, після чого перезавантажте.
Результат
- Перемикач thermal → картинка з тепловізора.
- Перемикач day → відео з EMAX/RunCam VTX із накладеною детекцією об'єктів.
- На VRX — MAVLink OSD з телеметрією; PixelPilot автоматично визначає кодек (H.265 з OpenIPC або H.264 з Raspberry Pi).
Обмеження
- Це перемикання між двома камерами (одномоментно в ефірі — одна), а не два одночасні потоки.
- Команди наведені для Windows (PuTTY:
plink/pscp); на Mac/Linux використовуйтеssh/scp. - Стрімер, скрипти та образи — стороння розробка; спершу перевіряйте все на землі.

