Open FPV VTX开源之第一次出图

embedded/2025/1/15 13:34:34/

Open FPV VTX开源之第一次出图

  • 1. 源由
  • 2. 连线
    • 2.1 飞控
    • 2.2 调试
  • 3. serial
    • 3.1 启动log - uboot
    • 3.2 登录版本 - linux
    • 3.3 获取有线IP
  • 4. ssh - linux
  • 5. PixelPilot出图
  • 6. 总结
  • 7. 参考资料
  • 8. 补充
    • 8.1 8812AU网卡
    • 8.2 DEBUG串口部分乱码
    • 8.3 偶尔启动卡住
    • 8.4 花屏、丢包严重

1. 源由

在《Open FPV VTX开源之硬件规格及组成》章节中,已经基本介绍了产品组成。

为了让其正常工作,其组合大致有以下几种方式:

  • Open FPV VTX + Ardupilot
  • Open FPV VTX + betaflight
  • Open FPV VTX + inav
  • Open FPV VTX + PX4 //个人来说,用的比较少

为了让其正常工作,在第一次上电之前需要做一些准备工作,本章就是为了这些准备工作编写的。

2. 连线

2.1 飞控

Open FPV VTX  -- toFC -- Flight ControllertoFC:- pin1: VCC(7.4~26V)  ---- FC VBat+- pin2: GND  ------------- FC GND- pin3: UART_RX1  -------- FC OSD_TX1- pin4: UART_TX1  -------- FC OSD_RX1- pin5: GND  ------------- FC GND- pin6: NC

注:选择笔者第一台FPV无人机使用的Holybro Kakute F7 and KAKUTE F7 AIO串口1作为OSD的UART。

2.2 调试

由于DEBUG线是预先做好的,这里就不一一对应做连接,直接从逻辑上进行示意。

Open FPV VTX  -- toDebug --  GND/UART_TX0/UART_RX0 --  USB -- PC Serial Console|+------  TP_LAN/TN_LAN/RP_LAN/RN_LAN  -- Ethernet  -- PC SSHtoDebug:pin1: TP_LANpin2: TN_LANpin3: RP_LANpin4: RN_LANpin5: GNDpin6: UART_TX0pin7: UART_RX0

3. serial

serial环境就是类似PC的BIOS阶段,主要用于低层次升级固件版本,可能会导致变砖。若真的变砖就需要其他JTAG工具,比如:J-Link。

在这里插入图片描述
注:调试版通常情况下串口驱动是默认的,请仔细查看驱动是否正确安装。

3.1 启动log - uboot

U-Boot 2015.01 (Oct 27 2024 - 17:00:58)Version: I6E#34aafa6#
I2C:   ready
DRAM:
WARNING: Caches not enabled
MMC:   MStar SD/MMC: 0
nor_flash_mxp allocated success!!
Flash is detected (0x0709, 0xEF, 0x40, 0x18)
SF: Detected nor0 with total size 16 MiB
MXP found at mxp_offset[2]=0x0000F000, size=0x1000
env_offset=0x40000 env_size=0x10000
Flash is detected (0x0709, 0xEF, 0x40, 0x18)
SF: Detected nor0 with total size 16 MiB
In:    serial
Out:   serial
Err:   serial
Net:   MAC Address 00:00:23:34:45:66
Auto-Negotiation...
AN failLink Status Speed:10 Full-duplex:0
Status Error!
sstar_emac
MMC Device 1 not found
Flash is detected (0x0709, 0xEF, 0x40, 0x18)
SF: Detected nor0 with total size 16 MiB
SF: 2097152 bytes @ 0x50000 Read: OK (cost 421 ms)
##  Booting kernel from Legacy Image at 21000000 ...Image Name:   Linux-4.9.84-ssc338qImage Type:   ARM Linux Kernel Image (uncompressed)Data Size:    2046352 Bytes = 2 MiBLoad Address: 20008000Entry Point:  20008000Verifying Checksum ... OKLoading Kernel Image ... OK
atags:0x20000000Starting kernel ...Booting Linux on physical CPU 0x0
Linux version 4.9.84 (runner@fv-az523-946) (buildroot-gcc-13.3.0) #2 SMP PREEMPT Sat Nov 30 23:43:27 UTC 2024
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=50c5387d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
early_atags_to_fdt() success
OF: fdt:Machine model: INFINITY6E SSC012B-S01A
LXmem is 0xffe0000 PHYS_OFFSET is 0x20000000
Add mem start 0x20000000 size 0xffe0000!!!!LX_MEM  = 0x20000000, 0xffe0000
LX_MEM2 = 0x0, 0x0
LX_MEM3 = 0x0, 0x0
EMAC_LEN= 0x0
DRAM_LEN= 0x0
deal_with_reserve_mma_heap memblock_reserve success mma_config[0].reserved_start=
0x26144000cma: Reserved 2 MiB at 0x25e00000
Memory policy: Data cache writealloc
[infinity6e_smp_init_cpus]
percpu: Embedded 13 pages/cpu s21272 r8192 d23784 u53248
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64992
Kernel command line: console=ttyS0,115200 panic=20 root=/dev/mtdblock3 init=/init mtdparts=NOR_FLASH:256k(boot),64k(env),2048k(kernel),8192k(rootfs),-(rootfs_data) LX_MEM=0xFFE0000 mma_heap=mma_heap_name0,miu=0,sz=0x9E9C000 cma=2M
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 90772K/262016K available (2379K kernel code, 211K rwdata, 1212K rodata, 172K init, 129K bss, 169196K reserved, 2048K cma-reserved)
Virtual kernel memory layout:vector  : 0xffff0000 - 0xffff1000   (   4 kB)fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)vmalloc : 0xd0000000 - 0xff800000   ( 760 MB)lowmem  : 0xc0000000 - 0xcffe0000   ( 255 MB)modules : 0xbf800000 - 0xc0000000   (   8 MB).text : 0xc0008000 - 0xc025af64   (2380 kB).init : 0xc03ad000 - 0xc03d8000   ( 172 kB).data : 0xc03d8000 - 0xc040ce28   ( 212 kB).bss : 0xc040e000 - 0xc042e468   ( 130 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.Build-time adjustment of leaf fanout to 32.RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
ms_init_main_intc: np->name=ms_main_intc, parent=gic
ms_init_pm_intc: np->name=ms_pm_intc, parent=ms_main_intc
ss_init_gpi_intc: np->name=ms_gpi_intc, parent=ms_main_intc
Find CLK_ven_pll, hook ms_venpll_ops
Find CLK_cpupll_clk, hook ms_cpuclk_ops
arm_arch_timer: Architected cp15 timer(s) running at 6.00MHz (virt).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1623fa770, max_idle_ns: 440795202238 ns
sched_clock: 56 bits at 6MHz, resolution 166ns, wraps every 4398046511055ns
Switching to timer-based delay loop, resolution 166ns
console [ttyS0] enabled
Calibrating delay loop (skipped), value calculated using timer frequency.. 12.00 BogoMIPS (lpj=60000)
pid_max: default: 4096 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: update cpu_capacity 1024
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x20008240 - 0x2000828c
[infinity6e_boot_secondary]
CPU1: failed to boot: -38
Brought up 1 CPUs
SMP: Total of 1 processors activated (12.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 16 (order: -2, 1024 bytes)
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocationsVersion : MVX4##I6E#g#######KL_LX409##[BR:g]#XVMGPIO: probe end[Padmux]reset PAD42(reg 0x103c00:6f; mask0x7) t0 SD1_MODE_2 (org: I2C0_MODE_1)
[Padmux]reset PAD49(reg 0x103c00:60; mask0x180) t0 GPIO (org: EJ_MODE_1)
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource arch_sys_counter
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 128 (order: 0, 6144 bytes)
UDP-Lite hash table entries: 128 (order: 0, 6144 bytes)
NET: Registered protocol family 1
hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
workingset: timestamp_bits=30 max_order=15 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered (default)
Infinity6e PHY probe, base:fd2a4600
loop: module loaded
libphy: Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Mstar_ehc_init version:20180309
ehci monitor start running
Sstar-ehci-1 H.W init
Get power-enable-pad from DTS GPIO(65535)
Titania3_series_start_ehc start
[USB] config miu select [70] [e8] [ef] [ef]
[USB] enable miu lower bound address subtraction
[USB] init squelch level 0x2
[USB] no platform_data, device tree coming
[USB][EHC] dma coherent_mask 0xffffffffffffffff mask 0xffffffffffffffff
BC disable
[USB] soc:Sstar-ehci-1 irq --> 69
Sstar-ehci-1 soc:Sstar-ehci-1: EHCI Host Controller
Sstar-ehci-1 soc:Sstar-ehci-1: new USB bus registered, assigned bus number 1
Sstar-ehci-1 soc:Sstar-ehci-1: irq 69, io mem 0xfd284800
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 4.9.84 ehci_hcd
usb usb1: SerialNumber: mstar
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
1f221000.uart0: ttyS0 at MMIO 0x0 (irq = 45, base_baud = 10800000) is a unknown
1f221200.uart1: ttyS1 at MMIO 0x0 (irq = 46, base_baud = 10800000) is a unknown
1f220400.uart2: ttyS2 at MMIO 0x0 (irq = 48, base_baud = 10800000) is a unknown
1f006a00.pm_uart: ttyS3 at MMIO 0x0 (irq = 49, base_baud = 6750000) is a unknown
[MS_PM_INTC] hw:9 -> v:72
[MS_PM_INTC] hw:10 -> v:73
>> [sdmmc] ms_sdmmc_probe
>> [sdmmc_0] Probe Platform Devices
>> [sdmmc_1] Probe Platform Devices
MSYS: DMEM request: [emac0_buff]:0x00000812
MSYS: DMEM request: [emac0_buff]:0x00000812 success, CPU phy:@0x25E4B000, virt:@0xC5E4B000
libphy: mdio: probed
mdio_bus mdio-bus@emac0: /soc/emac0/mdio-bus/ethernet-phy@0 has invalid PHY address
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 0
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 1
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 2
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 3
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 4
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 5
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 6
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 7
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 8
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 9
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 10
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 11
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 12
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 13
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 14
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 15
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 16
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 17
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 18
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 19
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 20
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 21
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 22
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 23
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 24
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 25
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 26
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 27
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 28
==20180309==> hub_port_init 1 #0
Plug in USB Port1
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 29
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 30
mdio_bus mdio-bus@emac0: scan phy ethernet-phy at address 31
[emac_phy_connect][3349] connected mac emac0 to PHY at mdio-bus@emac0:00 [uid=11112222, driver=SStar 10/100 Ethernet Phy]
ms_rtcpwc 1f006800.rtcpwc: rtc core: registered 1f006800.rtcpwc as rtc0
MSYS: DMEM request: [BDMA_FSP_WBUFF]:0x00010040
MSYS: DMEM request: [BDMA_FSP_WBUFF]:0x00010040 success, CPU phy:@0x25E50000, virt:@0xC5E50000
[Ser flash] phys=0x25e50000, virt=0xc5e50000, bus=0x05e50000 len:0x10040
[FSP] Flash is detected (0x0709, 0xEF, 0x40, 0x18) ver1.1
[FSP] 1-1-1 FAST_READ MODE
mtd .name = NOR_FLASH, .size = 0x01000000 (16MiB).erasesize = 0x00010000 .numeraseregions = 0
MXP_PARTS!!
MXP found at mxp_offset[2]=0x0000F000, size=0x1000
5 cmdlinepart partitions found on MTD device NOR_FLASH
Creating 5 MTD partitions on "NOR_FLASH":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000050000 : "env"
0x000000050000-0x000000250000 : "kernel"
0x000000250000-0x000000a50000 : "rootfs"
0x000000a50000-0x000001000000 : "rootfs_data"
MSYS: DMEM request: [AESDMA_ENG]:0x00001000
MSYS: DMEM request: [AESDMA_ENG]:0x00001000 success, CPU phy:@0x25E4C000, virt:@0xC5E4C000
MSYS: DMEM request: [AESDMA_ENG1]:0x00001000
MSYS: DMEM request: [AESDMA_ENG1]:0x00001000 success, CPU phy:@0x25E4D000, virt:@0xC5E4D000
[ms_cpufreq_init] Current clk=796917760
usb 1-1: new high-speed USB device number 2 using Sstar-ehci-1
[i6e][pwm] use ms_pwm->group_data
[NOTICE]pwm-isr(62) success. If not i6e or i6b0, pls confirm it on .dtsi
[MSPI] mspi 0 use dma mode
[MSPI] mspi 1 use dma mode
mstar notify driver install successfully
NET: Registered protocol family 17
[mstar_pm_init] resume_pbase=0x20010FB5, suspend_imi_vbase=0xD0057000
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
Please set rtc timer (hwclock -w)
ms_rtcpwc 1f006800.rtcpwc: setting system clock to 1970-01-01 00:00:01 UTC (1)
OF: fdt:not creating '/sys/firVFS: Mounted root (squashfs filesystem) readonly on device 31:3.
devtmpfs: mounted
This architecture does not have kernel memory protection.
usb 1-1: New USB device found, idVendor=0bda, idProduct=881a
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: 802.11n NIC
usb 1-1: Manufacturer: Realtek
usb 1-1: SerialNumber: 123456
[emac_phy_link_adjust] EMAC Link Down
Seeding 2048 bits without creditrandom: seedrng: uninitialized urandom read (256 bytes read)
ing
Saving 2048 bits of non-creditable seed for next boot
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Sat Nov 30 23:49:39 GMT 2024
Loading kernel modules...
Starting mdev...
Starting network...
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: no lease, forking to background
Starting ntpd: OK
Starting dropbear: OK
Starting crond: OK
Loading vendor modules...
OpenIPC: Sensor assigned - imx335
Starting majestic: OK
Starting wifibroadcast service...
Loading modules and wireless driver...
Detected: 88XXau
Loading MAVLink telemetry service...Welcome to OpenIPC
openipc-ssc338q login: This system doesn't provide enough entropy to quickly generate high-quality random numbers.
Installing the rng-utils/rng-tools, jitterentropy or haveged packages may help.
On virtualized Linux environments, also consider using virtio-rng.
The service will not start until enough entropy has been collected.
Using data frames
This system doesn't provide enough entropy to quickly generate high-quality random numbers.
Installing the rng-utils/rng-tools, jitterentropy or haveged packages may help.
On virtualized Linux environments, also consider using virtio-rng.
The service will not start until enough entropy has been collected.
Listen on 14550 for wlan0
Listen on 36991 for management commands
This system doesn't provide enough entropy to quickly generate high-quality random numbers.
Installing the rng-utils/rng-tools, jitterentropy or haveged packages may help.
On virtualized Linux environments, also consider using virtio-rng.
The service will not start until enough entropy has been collected.
Using data frames
This system doesn't provide enough entropy to quickly generate high-quality random numbers.
Installing the rng-utils/rng-tools, jitterentropy or haveged packages may help.
On virtualized Linux environments, also consider using virtio-rng.
The service will not start until enough entropy has been collected.
Listen on 5600 for wlan0
This system doesn't provide enough entropy to quickly generate high-quality random numbers.
Installing the rng-utils/rng-tools, jitterentropy or haveged packages may help.
On virtualized Linux environments, also consider using virtio-rng.
The service will not start until enough entropy has been collected.
Listen on 5801 for wlan0
Listen on 8000 for management commands
Listen on 39786 for management commands

3.2 登录版本 - linux

  • account: root
  • password: 12345
openipc-ssc338q login: root
Password:.d88888b.                             8888888 8888888b.   .d8888b.d88P" "Y88b                              888   888   Y88b d88P  Y88b888     888                              888   888    888 888    888888     888 88888b.   .d88b.  88888b.    888   888   d88P 888888     888 888 "88b d8P  Y8b 888 "88b   888   8888888P"  888888     888 888  888 88888888 888  888   888   888        888    888Y88b. .d88P 888 d88P Y8b.     888  888   888   888        Y88b  d88P"Y88888P"  88888P"   "Y8888  888  888 8888888 888         "Y8888P"888888888                         master+861a97c, 2024-11-30Please help the OpenIPC Project to cover the cost of development andlong-term maintenance of what we believe is going to become a stable,flexible Open IP Network Camera Framework for users worldwide.Your contributions could help us to advance the development and keepyou updated on improvements and new features more regularly.Please visit https://openipc.org/sponsor/ to learn more. Thank you.

3.3 获取有线IP

  • eth0: 192.168.78.100
root@openipc-ssc338q:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:23:34:45:66inet addr:192.168.78.100  Bcast:192.168.78.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:11 errors:0 dropped:0 overruns:0 frame:0TX packets:19 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:2563 (2.5 KiB)  TX bytes:2618 (2.5 KiB)Interrupt:60lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:137366 errors:0 dropped:0 overruns:0 frame:0TX packets:137366 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1RX bytes:152371625 (145.3 MiB)  TX bytes:152371625 (145.3 MiB)wfb-tun   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00inet addr:10.5.0.10  P-t-P:10.5.0.10  Mask:255.255.255.0UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1443  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:500RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)wlan0     Link encap:UNSPEC  HWaddr 1C-A7-70-E8-C6-07-00-00-00-00-00-00-00-00-00-00UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:243 errors:0 dropped:1 overruns:0 frame:0TX packets:206893 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:241732251 (230.5 MiB)
  • 扫描IP (Advanced_IP_Scanner)

在这里插入图片描述

4. ssh - linux

ssh环境就是OpenIPC fpv系统运行环境,应用软件都跑在这个环境下,可以升级软件或者固件。

  • account: root
  • password: 12345
daniel@daniel-nvidia:~$ ssh root@192.168.78.100
The authenticity of host '192.168.78.100 (192.168.78.100)' can't be established.
ECDSA key fingerprint is SHA256:vUfDeNkcP7fS6rXqtTV2cjTt83dXB/kCbKslraLbUGA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.78.100' (ECDSA) to the list of known hosts.
root@192.168.78.100's password:.d88888b.                             8888888 8888888b.   .d8888b.d88P" "Y88b                              888   888   Y88b d88P  Y88b888     888                              888   888    888 888    888888     888 88888b.   .d88b.  88888b.    888   888   d88P 888888     888 888 "88b d8P  Y8b 888 "88b   888   8888888P"  888888     888 888  888 88888888 888  888   888   888        888    888Y88b. .d88P 888 d88P Y8b.     888  888   888   888        Y88b  d88P"Y88888P"  88888P"   "Y8888  888  888 8888888 888         "Y8888P"888888888                         master+861a97c, 2024-11-30Please help the OpenIPC Project to cover the cost of development andlong-term maintenance of what we believe is going to become a stable,flexible Open IP Network Camera Framework for users worldwide.Your contributions could help us to advance the development and keepyou updated on improvements and new features more regularly.Please visit https://openipc.org/sponsor/ to learn more. Thank you.

5. PixelPilot出图

OpenIPC主要基于wfb-ng软件构建底层加密通信链路,基于该链路进行数据(视频、电传等)传输。

地面端软硬件有很多搭配方式,大体上有以下几种:

  • Android(PixelPilot): 手机/平板/电视盒等
  • Windows PC: fpv4win、openipc-configurator
  • Hi3536
  • Radax 3W/3E
  • Jetson Orin(jetson-fpv)

从购买天空端产品的角度,拿到产品首先要确保快速出图。

  • PixelPilot.apk

或者找厂家要手机端最新的软件,因为这个是最为便捷的方式。

默认配置+厂家配置:

  • Channel: 60
  • 厂家gs.key //请向厂家获取

自拍照
在这里插入图片描述

6. 总结

总的来说,第一次上电、出图并不复杂,但是一定要切记!!!重要的事情说三遍!!!

  • 注意数字图传的正负极!!!
  • 注意数字图传的正负极!!!
  • 注意数字图传的正负极!!!

信号线反了,可以重新调,但是正负极接错了,可是要烧的!!!

不出图时,需要注意的一个关键点:供电电压

  • 图传功率比较大,从设计规格上是3S ~ 6S
  • 换言之可以直接接在动力电池上
  • 有些PDB板/飞控板降压出来的电源可能带不起来

7. 参考资料

【1】Open FPV VTX开源之硬件规格及组成
【2】Open FPV VTX开源之默认MAVLink设置
【3】wfb-ng 开源工程结构&代码框架简明介绍
【4】Open FPV VTX开源之图像化配置工具

8. 补充

8.1 8812AU网卡

笔者采用了一张8812AU的网卡,作为wfb-ng的地面端接受wifi。

在这里插入图片描述
在这里插入图片描述

8.2 DEBUG串口部分乱码

当有线网口与路由器连接的时候,DEBUG串口会出现部分乱码情况。若网线拔掉,一切正常。

在这里插入图片描述

8.3 偶尔启动卡住

[USB] init squelch level 0x0

断电重启后,可以解决。怀疑上述问题与USB设备或者驱动有关,网卡功率不足导致初始化异常。

==》是否可以考虑网卡上电时序靠后,先让内核/文件系统都跑起来,进入IDLE之后,再来考虑启动大功率的网卡?

在这里插入图片描述
在这里插入图片描述

8.4 花屏、丢包严重

请调整FPS值,比如:90FPS 到 60FPS

diff majestic.yaml.bak /etc/majestic.yaml
--- majestic.yaml.bak
+++ /etc/majestic.yaml
@@ -17,7 +17,7 @@video0:enabled: truecodec: h265
-  fps: 90
+  fps: 60bitrate: 4096rcMode: cbrgopSize: 1.0

在这里插入图片描述


http://www.ppmy.cn/embedded/154113.html

相关文章

【算法】图解排序算法之归并排序、快速排序、堆排序

1.归并排序 时间复杂度O(NlogN)&#xff0c;额外空间复杂度(N) 求出中间位置&#xff0c;先将左侧排好序&#xff0c;再将右侧排好序&#xff0c;最后将整体整合,不断重复上述过程直到将整个数组排序 如何整合&#xff1a; 定义两个指针指向左右两个子数组最左侧的位置 pub…

Conda 常用操作命令与使用示例

0. Miniconda安装 参考&#xff1a;Linux上Miniconda的安装&#xff1a;一步步教你从零开始 1. 环境管理 创建新环境 conda create -n <env_name> python3.8示例&#xff1a;创建一个名为myenv&#xff0c;Python版本为3.8的环境&#xff1a; conda create -n myenv…

c#版本、.net版本、visual studio版本之间的对应关系

最近这几年一直没用过c#开发&#xff0c;都是从事Qt c开发工作&#xff0c;回想一下之前c#还要追溯到2019年&#xff0c;算算时间大概都已过去4&#xff0c;5年了&#xff0c;时间飞快。 2019真是个神奇的数字&#xff0c;vs2019是我用的时间最长的一个IDE&#xff0c;新冠起始…

长安“战疫”网络安全公益赛的一些随想

起因 今年刚进入大学&#xff0c;开始带校队&#xff0c;为了培养校队新成员&#xff0c;也就一直计划着和当地的一些高校合作交流&#xff0c;但是由于种种原因一直被搁置下来。正巧学校信息中心和四叶草有一个培训项目的合作&#xff0c;学校的网安协会也算是沾了光成为了培…

Docker-compose Prometheus Grafana 安装

环境准备 #要在 Vim 中默认启用 set paste 和 set number&#xff0c; vim ~/.vimrc #在 .vimrc 文件中添加以下内容&#xff1a; set paste set number 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/2.31.1/docker-compos…

16. C语言 字符串详解

本章目录: 前言C 字符串的基础概念字符串的定义字符串的内存表示 常见的字符串操作函数示例代码 深入探讨字符串长度计算strlen 与 sizeof 的区别 字符串操作的注意事项**1. 字符数组的大小**2. 字符数组和字符指针的区别3. 使用安全函数 字符串的遍历与格式化输出**遍历字符串…

Spring——自动装配

假设一个场景&#xff1a; 一个人&#xff08;Person&#xff09;有一条狗&#xff08;Dog&#xff09;和一只猫(Cat)&#xff0c;狗和猫都会叫&#xff0c;狗叫是“汪汪”&#xff0c;猫叫是“喵喵”&#xff0c;同时人还有一个自己的名字。 将上述场景 抽象出三个实体类&…

Qiskit快速编程探索(基本篇)

一、引言 1.1 量子计算的崛起 量子计算作为当今科学界与技术领域最具开创性的前沿方向之一&#xff0c;正逐步重塑我们对计算能力的认知边界。自20世纪初量子力学理论奠基以来&#xff0c;历经无数科学家的不懈钻研&#xff0c;量子计算从抽象的理论构想逐步走向现实应用的舞…