Open FPV VTX开源之第一次出图

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. 参考资料

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)

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开源之硬件规格及组成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/66827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于高斯混合模型的数据分析及其延伸应用(具体代码分析)

一、代码分析 &#xff08;一&#xff09;清除工作区和命令行窗口 clear; clc;clear;&#xff1a;该命令用于清除 MATLAB 工作区中的所有变量&#xff0c;确保代码运行环境的清洁&#xff0c;避免之前遗留的变量对当前代码运行产生干扰。例如&#xff0c;如果之前运行的代码中…

PostgreSQL技术内幕22:vacuum full 和 vacuum

文章目录 0.简介1.概念及使用方式2.工作原理2.1 主要功能2.2 清理流程2.3 防止事务id环绕说明 3.使用建议 0.简介 在之前介绍MVCC文章中介绍过常见的MVCC实现的两种方式&#xff0c;一种是将旧数据放到回滚段&#xff0c;一种是直接生成一条新数据&#xff08;对于删除是不删除…

【面试】程序员 简历

一、简历整体结构 完整简历包含基本信息、教育背景、求职意向、工作经历、职业技能、项目经历、个人优势和个人荣誉八个部分。编写时&#xff0c;前几部分在保证真实的基础上可适当美化&#xff1b;个人优势和荣誉描述要突出难点亮点且避免夸张&#xff0c;可写入如马拉松参赛、…

WebGIS在应急灾害中对村庄、风景区、机场的影响范围应用-以日喀则市定日县地震为例

目录 前言 一、关于影响范围 1、震中距离5公里 2、震中20公里范围 3、20到80公里范围 二、空间查询知识 1、相关数据介绍 2、空间数据查询 三、前后端数据查询以及web可视化实现 1、后台API实现 2、WebGIS前端实现 四、Web成果展示 1、空间位置分析 2、包含风景区…

【UE5 C++课程系列笔记】27——多线程基础——ControlFlow插件的基本使用

目录 步骤 一、搭建基本同步框架 二、添加委托 三、添加蓝图互动框架 四、修改为异步框架 完整代码 通过一个游戏初始化流程的示例来介绍“ControlFlows”的基本使用。 步骤 一、搭建基本同步框架 1. 勾选“ControlFlows”插件 2. 新建一个空白C类&#xff0c;这里…

JavaEE之定时器及自我实现

在生活当中&#xff0c;有很多事情&#xff0c;我们不是立马就去做&#xff0c;而是在规定了时间之后&#xff0c;在到该时间时&#xff0c;再去执行&#xff0c;比如&#xff1a;闹钟、定时关机等等&#xff0c;在程序的世界中&#xff0c;有些代码也不是立刻执行&#xff0c;…

国产3D CAD将逐步取代国外软件

在工业软件的关键领域&#xff0c;计算机辅助设计&#xff08;CAD&#xff09;软件对于制造业的重要性不言而喻。近年来&#xff0c;国产 CAD 的发展态势迅猛&#xff0c;展现出巨大的潜力与机遇&#xff0c;正逐步改变着 CAD 市场长期由国外软件主导的格局。 国产CAD发展现状 …

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包

关于文件的关键词 创建 touch 删除 rm 复制 cp 权限 chmod 移动 mv 查看内容 cat(全部); head(前10行); tail(末尾10行); more,less 查找 find 压缩 gzip ; bzip 打包 tar 编辑 sed 创建文件 格式&#xff1a; touch 文件名 删除文件 复制文件 移动文件 查看文…

数据结构C语言描述11(图文结合)--二叉搜索树(BST树)的实现(数据采用KV存储形式进行封装)

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

Chrome_60.0.3112.113_x64 单文件版 下载

单文件&#xff0c;免安装&#xff0c;直接用~ Google Chrome, 免費下載. Google Chrome 60.0.3112.113: Chrome 是 Google 開發的網路瀏覽器。它的特點是速度快,功能多。 下载地址: https://blog.s3.sh.cn/thread-150-1-1.htmlhttps://blog.s3.sh.cn/thread-150-1-1.html

概率论与数理统计总复习

复习课本&#xff1a;中科大使用的教辅《概率论和数理统计》缪柏其、张伟平版本 目录 0.部分积分公式 1.容斥原理 2.条件概率 3.全概率公式 4.贝叶斯公式 5.独立性 6.伯努利分布&#xff08;两点分布&#xff09; 7.二项分布 8.帕斯卡分布&#xff08;负二项分布&am…

【线性代数】通俗理解特征向量与特征值

这一块在线性代数中属于重点且较难理解的内容&#xff0c;下面仅个人学习过程中的体会&#xff0c;错误之处欢迎指出&#xff0c;有更简洁易懂的理解方式也欢迎留言学习。 文章目录 概念计算几何直观理解意义PS.适用 概念 矩阵本身就是一个线性变换&#xff0c;对一个空间中的…

IDEA中创建maven项目

1. IDEA中创建maven项目 在IDEA中创建Maven项目&#xff0c;前提是已经安装配置好Maven环境。如还未配置安装Maven的&#xff0c;请先下载安装。如何下载安装&#xff0c;可参考我另外篇文章&#xff1a;maven的下载与安装教程本篇教程是以创建基于servlet的JavaWeb项目为例子&…

windows记事本不显示下划线

问题已解决 问题复现 解决方法 原因特定情况下默认的字体大小会导致下划线不可见&#xff0c;只需crtl加号的快捷键或者ctrl前或者后滚动鼠标滚轮以改变字体大小即可

git问题

拉取项目代码后&#xff0c;出现 1、找回未commit的代码 2、记录不全&#xff0c;只是显示部分代码记录

Operation001-Install

操作001&#xff1a;RabbitMQ安装 一、安装 # 拉取镜像 docker pull rabbitmq:3.13-management# -d 参数&#xff1a;后台运行 Docker 容器 # --name 参数&#xff1a;设置容器名称 # -p 参数&#xff1a;映射端口号&#xff0c;格式是“宿主机端口号:容器内端口号”。5672供…

rom定制系列------小米max3安卓12 miui14批量线刷 默认开启usb功能选项 插电自启等

小米Max3是小米公司于2018年7月19日发布的机型。此机型后在没有max新型号。采用全金属一体机身设计&#xff0c;配备6.9英寸全面屏.八核处理器骁龙636&#xff0c;后置双摄像头1200万500万像素&#xff0c;前置800万像素.机型代码 &#xff1a;nitrogen.官方最终版为稳定版12.5…

Vue3学习-day3

computed计算属性函数 计算属性小案例 App.vue <script setup> import { ref, computed } from vue// 声明数据 const list ref([1,2,3,4,5,6,7,8])// 基于list派生一个计算属性&#xff0c;从list中过滤出 > 2 const setList computed(() > {return list.val…

【博主推荐】VUE常见问题及解决方案

文章目录 1.找不到模块“../views/index.vue”或其相应的类型声明。ts(2307)2.当改变 Vue 实例中的数据时&#xff0c;视图没有相应地更新3.在某些复杂的异步操作或者多个数据交互场景下&#xff0c;数据绑定的更新在时间上出现延迟4.父组件无法将数据正确地传递给子组件&#…

完整化安装kubesphere,ks-jenkins的状态一直为init

错误描述&#xff1a; 打印日志&#xff1a; kubectl describe pod ks-jenkins-7fcff7857b-gh4g5 -n kubesphere-devops-system 日志描述如下&#xff1a; Events: Type Reason Age From Message ---- ------ ---- …