本帖最后由 wuyudong 于 2018-11-28 15:26 编辑
EZ-WifiBroadcast 低成本远距离高清图传系统
前言: 这是国外开源大神搞出来的基于树莓派的低成本远距离高清图传系统。由于Greatwall还有大部分模友英文水平的原因,很多模友一直不知道如何下手制作这套系统,以至于国内一直没有出相关的制作教程,本人根据原贴翻译和自己的理解做了这么一个并不深入的教程。目的在于大多数人都能根据这个教程制作出自己想要的高清图传。 原贴地址: GitHub地址:https://github.com/bortek/EZ-WifiBroadcast/wiki Rcgrounp原贴地址:https://www.rcgroups.com/forums/showthread.php?2664393-EZ-WifiBroadcast-cheap-digital-HD-transmission-made-easy%21 向Rodizio等大神致意!!!
概论: -支持 树莓派 Pi1A+,Pi1B+ Pi2B+ ,Pi3B(不支持最新的Pi3B+),Pi zero, Pi zero W,Odroid-W,Pi V2 和V2 摄像头(接收端需要至少Pi2以上) -最大分辨率(看使用的是何种摄像头) 1280*720P 60fps 1296*972P 42fps 1640*922P 40fps 1920*1080P 30fps -最大可能的视频流大约12Mbit -延时约125ms,在默认设置720P@48fps分辨率,最低延时可到110ms左右 -支持2.3/2.4/2.5Ghz和5.2-5.8Ghz频率 -2.4Ghz使用3dbi天线,大约1-1.5公里距离,使用70mw的wifi网卡,2-3km距离,使用300mw的高功率网卡 5Ghz使用3dbi天线,大约250米距离,使用25mw的wifi网卡,1km距离,使用300mw的高功率网卡
-可在window环境下进行设置,无需任何Linux知识 -通过选择不同的设置文件或者使用DIP开关来选择不同的设置参数 -可通过USB数据,wifi热点,Ethernet,wifibroadcast 转播模式等显示视频流和数传数据到第二显示器 -全静态或者自动侦测第二显示器。仅需要插入(显示器)或通过热点连接就能工作 -支持使用两个USBwifi网卡分集两个不同的频率以使用bulletproof视频链接(这句话我猜的,原文:2 wifi sticks transmit diversity on two different frequenciessupported for bulletproof video link), -接收端使用Atheros类型网卡最多支持三个wifi网卡分集接收,使用Ralink类型网卡最多支持五个wifi网卡分集接收, -内置OSD支持Mavlink(非双向),Frsky,LTM
-地面端可进行AVI录制,PNG截屏并自动存储到USB盘 -仅需10秒钟快速启动 -不会干扰标准wifi,断线或者卡屏等问题 -实时反馈并显示RSSI,数据阻塞,丢包等信息 -仅需要接通电源,起飞 -流畅无卡顿的视频(感谢mmormota) -视频接收即使在复杂环境下也非常稳定,而不像模拟信号 -不需要昂贵和超大的天线(这点本人不同意,超远距离建议还是使用大的平板天线,但是2.4的平板天线现在已经是废铁的价了) -即使视频信号已经差到不能飞,OSD显示也是非常稳定和清晰; - SD card reliability and general robustnesstweaks (read-only filesystem, syslogging to SD disabled, etc.)懒得看 -一旦发生错误Debug日志和截屏会保存在SD卡 -通过游戏手柄经过WiFibroadcast进行低延时高上行速率的遥控 看了这些功能是不是已经蠢蠢欲动了,流口水了呢,如果说这些东西只要500块就可以搞定是不是马上决定买买买了呢,下面就开始具体的制作了,因为本人精力和财力有限,还有这个教程的目的是让更多的人能低成本的使用上远距离高清图传,所以材料选用的都是较廉价的产品,但并不表示将就用,实际效果和距离也是非常好的。 一、材料准备: 树莓派Pi0一个(约60元),树莓派专用的摄像头一个(约40元),Pi3B一个(约200元),2张2G以上的SD卡(建议地面端使用C10以上高速卡)和读卡器,HDMI视频线一根,带HDMI接口的屏幕一个(你家的电视机也可以,越大越好),USB wifi网卡三个(200)(本人使用的是wifi station网卡,建议准备三张,2.4G网卡带宽比较小) 作者给出了一个网卡型号列表,理论上只要芯片(表中第四列)一样应该都可以使用(图中X表示确认可以,而不是否定的意思)
二、连线制作 天空端为了能减轻重量我把网卡的壳子都拆掉,USB插口也拆掉,USB接口定义一般如下
连线图,这是Pi0的接线方式,注意D+和D-位置,根据上图找到的D+和D-直接对应即可,其中5V降压模块一定要测下是不是高于5v,我的5.2V就把Pi0烧了,建议调到5.0V即可
还需要连接数传接口,这样地面端的OSD才能正确的显示飞行数据,接线如下:
天空端摄像头连接Pi0主板:
地面端接线只需要将网卡USB插入Pi3B的USB口,HDMI线连接显示器,供电选用Micro USB手机充电器(5V2A),
以上硬件连接工作就完成了,不要忙着通电,接下来进行软件调试工作 三:软件调试
树莓派镜像文件 下载之后解压镜像文件,安装Etcher,插入读卡器和卡,运行Etcher之后如下界面,依次选择镜像文件,SD卡,让后点击FLASH,天空端和地面端使用相同的镜像文件没有区别
镜像文件写入完成之后你的卡就只能识别32m了,不用担心,如果需要把卡用在别处,使用SDCardFormatter这个工具重新格式化你的卡就恢复原样了
双击进入这个盘找到wifibroadcast-1这个文本文档
箭头所指的位置设置你的频率,这个频率天空端和地面端必须一致,下面大方框里面有可以设置的频率数值,注意区别Ralink和Atheros类型的网卡,他们可选的频率值是不一样的,我使用的是默认频率,没做修改
这个地方设置完成之后,将卡插回树莓派,至此你就可以通电测试了,是不是很期待,反复检查接线是否有误,正负极,供电模块的电压是否5V,再次强调绝对不要超过5v。 然后通电===========================Booooooooom!!!!!!! 那是不可能的,激动人心的画面出现了
基本大功告成了 其他设置: 1、OSD需要飞控的数据才能显示飞行状态,飞控的数传端口波特率为57600,mavlink协议 2、网卡接收端我用一个的时候画面会闪,猜测是因为带宽不足,两张网卡以后就没有这个情况了,
3、OSD画面的定义如下
具体定义自己猜吧,
1、Best signal strength received from all cards(in the example above, card Rx3 has the best signal strength). 2、Bad blocks/visible glitches counter. Withstock settings, one "block" consists of 8 data and 4 FEC packets,thus allowing for a maximum of 4 lost packets without the badblock counterincreasing (and visible glitches appearing) 3、Lost packet counter 4、"FEC/packetloss display". Green (orlow): no packetloss. Yellow (or medium): packetloss is occuring, but stillbeing corrected by the FEC (i.e. not enough to lead to visible glitches yet).Red (or high): heavy packetloss with visible glitches 5、RSSI value from Mavlink telemetry data, i.e.non-WBC R/C RSSI 6、Video bitrate (the bitrate that raspivid hasbeen set to). Number in parentheses is the maximum available bitrate that wasmeasured 7、Injection fail count. Increased whenever the TXcard could not inject data because the channel was already occupied 8、FEC packets skipped count. Increases wheneverthe TX had to skip FEC packets because the channel was already occupied 9、Live video bitrate, i.e. the amount of videodata per second that is currently being received 10、CTS mode 11、lost packets for R/C andtelemetry uplink 12、signal strength foruplink 13、CPU load/temperature ofAirPi 14、CPU load/temperature ofGroundPi 15、GPS Heading in degrees 16、GPS Speed 17、GPS height (MSL) 18、Climb/Fall rate in m/s 19、Airspeed 20、Barometric altitude 21、Distance to Home/Startingpoint 22、GPS Latitude 23、GPS Longitude 24、Flight mode 25、Aircraft's Batteryvoltage 26、Aircraft's Batteryconsumption 27、Number of GPS satellitesacquired 28、Signal strength andnumber of lost packets for each individual RX cards 这个贴的目的是使更多的模友能低成本的制作出高清图传,并不深入,更详细的资料请查阅github,同时也希望能起到抛砖引玉的作用,让更多的人参与进来。 再次向Rodizio等大神致意, 同时也请制作好的模友把自己的心得体会贴出来大家分享,发扬一下开源精神。
57楼更新OSD设置文件的说明2018-11-28
|