多国语言网站,太原seo排名外包,下载了字体怎么安装到wordpress,做视频网站需要多少上传openipc 的定位是为各种模块提供底层的驱动和linux最小系统#xff0c;openipc 是采用buildroot系统编译而成#xff0c;因此二次开发能力有点麻烦。为啥openipc 会用于无人机图传呢#xff1f;因为openipc可以将现有的网络摄像头ip-camera模块直接利用起来#xff0c;从而… openipc 的定位是为各种模块提供底层的驱动和linux最小系统openipc 是采用buildroot系统编译而成因此二次开发能力有点麻烦。为啥openipc 会用于无人机图传呢因为openipc可以将现有的网络摄像头ip-camera模块直接利用起来从而降低硬件成本但是记住openipc 的核心是处理各种厂家的摄像头的最小系统用于无人机图像传输的应一个重要应用是wfbwifi-broadcast,此时采用的是wfb-ng新一代的wifi广播技术。 如果你想用网络摄像头淘宝搜索 网络摄像头选择支持wifi 模块的但是购买不要选择焊接WiFi模块 主芯片和sensor 的支持请参考文章wiki注意留意是否暴漏串口刷机的引脚RXTXGND上闲鱼搜索创维A6 wifi 网卡焊接wfi-USB 接口openipc 官网上刷机FPV固件即可支持。 对于无人机图传看来说本文将采用wfb-ng技术将数据传输出去。openipc 提供了图像的数据虽然openipc 也有4G的方案但是受制于主芯片频率和二次开发的方便性采用了瑞芯微的主芯片哔哩哔哩上也有采用rv1103-rv1106的方案但是考虑后期AI加入因此采用radxa zero 3E 方案。切记3e 安装官方的debian 11 的系统其它系统暂不考虑整体架构如下 1. wfb-ng 以及8812eu 驱动安装 1.1 安装 8812EU 驱动 需要安装dkms 这是一个驱动包安装软件
sudo apt-get install -y dkms bc rpm libelf-dev
下载8812EU 包 github
sed -i s/CONFIG_PLATFORM_I386_PC y/CONFIG_PLATFORM_I386_PC n/g Makefile
sed -i s/CONFIG_PLATFORM_ARM64_RPI n/CONFIG_PLATFORM_ARM64_RPI y/g Makefile
sudo ./dkms-install.sh
1.2 安装wfb-ng
下载wfb-ng安装必要的编译包
sudo apt install -y libpcap-dev libsodium-dev libevent-dev debhelper dh-python python3-all python3-pip python3-pyroute2 python3-future python3-twisted python3-msgpack python3-stdeb python3-all-dev python3-setuptools python3-jinja2 python3-serial virtualenv
编译最重要的是编译过程需要下载大量的额github的内容因此需要翻墙
git设置ssh 代理(非常重要如果没有代理不建议编译建议直接下载 我编译的包 deb)
git config --global http.proxy http://123.45.67.89:8080
git config --global https.proxy https://123.45.67.89:8080
编译 make deb
编译后会产生drone.key gs.key 没有产生可以运行script/wfb_keygen 生成将drone.key 和gs.key复制到 /etc/
安装 deb
sudo dpkg -i deb_dist/wfb-ng_24.11.29.69559-1_arm64.deb
wfb-ng是通过python的安装包启动
设置 /etc/wifibroadcast.cfg
sudo tee /etc/wifibroadcast.cfg /dev/null EOF
[common]
wifi_channel 149 # 149 -- radio channel 5745 MHz, range: 5735–5755 MHz, width 20MHz
wifi_region BO # Your country for CRDA (use BO or GY if you want max tx power)
#wifi_power 3000[drone_mavlink]
# use autopilot connected to /dev/ttyUSB0 at 115200 baud:
# peer serial:ttyUSB0:115200# Connect to autopilot via malink-router or mavlink-proxy:
peer listen://0.0.0.0:14550 # incoming connection
# peer connect://127.0.0.1:14550 # outgoing connection[drone_video]
peer listen://0.0.0.0:5602 # listen for video stream (gstreamer on drone)EOF
设置网卡的一些参数用于后期提升功率
sudo cat /etc/modprobe.d/wfb.conf EOF
# blacklist stock module
blacklist 88XXau
blacklist 8812au
blacklist rtl8812au
blacklist rtl88x2bs
# maximize output power, see note below
options 88XXau_wfb rtw_tx_pwr_idx_override30
options 8812eu rtw_tx_pwr_by_rate0 rtw_tx_pwr_lmt_enable0
EOF
wfb-ng 设置自启动
设置开机自动启动
sudo systemctl enable wifibroadcast.service
sudo systemctl enable wifibroadcastdrone.service
手动启动
sudo systemctl start wifibroadcastdrone.service
wfb-ng 启动流程如下
1. 启动后会去读取环境变量获取wifi设备名称 /etc/default/wifibroadcast
该脚本会调用 wifi-nics 遍历设备8812au/ 8812eu名称并赋值给环境变量WFB_NICS。wifi-nics安装在/usr/bin/
2.执行exec python 调用包 wfb-server 此时会读取/etc/wifibroadcast.cfg 文件
该文件会 设置wifi 通道 wifi_channel wifi_region wifi_power
sudo iw reg set wifi_region
sudo iw wlan set monitor otherbss
sudo iw wlan set channel same_channel 10MHz
sudo iw dev wlan0 set txpower fixed mBm
3,紧接着会根据 /etc/wifibroadcast.cfg
drone_mavlink drone_video 启动天空端服务
1. video 用于将本地的udp 视频流广播出去
2. mavlink 可以使用串口或者mavlink-router 进行转发
3.还有一个tun 数据通道的用于发送信息
同样的 gs_mavlink 和gs_video 启动地面端服务数据流方向与天空端相反
本地启动视频流
1.gst 转发rtsp视频流
gst 将openipc 启动的视频流rtsp 转发到本地的udp 5602 端口上
gst-launch-1.0 rtspsrc locationrtsp://root:12345192.168.1.10/stream0 ! udpsink port5602