5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 28092|回复: 69
打印 上一主题 下一主题

WiFi数传图传实验

  [复制链接]
跳转到指定楼层
楼主
发表于 2013-4-15 21:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gault 于 2013-6-7 14:08 编辑

为了能够有效的保证wifi的通信信号,目前正在研究AAT(天线自动跟踪系统)……

论坛上也有其他模友作一些相似的研究(最近才发现),我把链接放在最底下了,感兴趣的可以去看一下。我估计在多旋翼上应用这个方案应该说是比较成熟了,固定翼上最大的问题就是wifi通信距离。废话不多说,先看图。





好久没写程序了,努力捡了点Qt编程回来,写了个udp控制端,取代直接打命令。本是想集成开源的mavlink协议,然后就可以用开源的地面站直接控制就行了,搞了半天发现没啥意义,因为等这个方案验证了最终是要用apm之类的飞控来代替arduino开发板的,现在只需要验证一下wifi作为图传数传的可行性就行,换句话说就是能控制和传回数据就行。
总体思路是703n与arduino之间用串口通信,在703n上用socat将串口与一个UDP端口映射,然后在电脑上用这个程序去连接703n上的udp端口,这样就可以操作到arduino了。

把USB摇杆也整进来了,用USB摇杆可以多个通道同时控制。我到底在做什么?呵呵。。。貌似我要做的只是验证图传数传的可行性,而不是做wifi遥控器。。。今天把2.4g控和usb摇杆一起测试了,2.4g控制下发现动usb摇杆发现有很大的干扰,出身冷汗,以为真的是wifi和2.4g有干扰,后来证实是arduino上程序的问题,归根结底还是通信协议没设计好,看来集成mavlink协议还是有必要的。



设备清单:
  • 舵机  x 3
  • 电机 x 1
  • 电调 x 1
  • 电池 x 1
  • 2.4g接收 x 1
  • 2.4g遥控 x 1  (未显示在图中)
  • usb摄像头 x 1
  • tp-link wr703n mini无线路由器 x 1 (刷openwrt,升级了rom和ram,加了外置天线)
  • usb hub (4口) x 1
  • usb连接线 x 2
  • Arduino UNO + 传感器扩展板 x 1 (图中已经连在一块了)


硬件连接:
  • 将2.4g信号线连接到Arduino指定数字引脚上,我的接收机是6通的,所以占用6个数字引脚。
  • 电机,电调,电池正常连接(最后一步再上电),电调信号线和舵机信号线连接到Arduino指定数字引脚上,我这用了3个舵机和1个电调,所以占用4个数字引脚。
  • 将Arduino与USB Hub用USB数据线连起来,作用是一方面给USB Hub供电,另一方面作为Arduino与路由器串口通信。
  • 将无线路由器的电源口用USB线与USB Hub连接起来,作用是从USB Hub那里取电。
  • 将USB Hub的USB接头插入无线路由器的USB口(非电源口,703n带一个USB接口的),作用是扩展路由器的USB口,因为我们要给路由器连接USB摄像头和Arduino开发板。
  • 将USB摄像头插入USB Hub中。
  • 通通连接好之后给电调插入锂电池上电,至此,所有硬件均已通电。

实验目的:
  • 验证是否可以通过无线路由器+USB摄像头方案代替数传与图传模块。实验暂用Arduino作为飞控板,自己编写实验程序。实用方案可以采用Ardupilot-mega (APM 2.5)代替Arduino.

实验程序:
将控制分为两种模式:2.4g遥控器控制模式 + 串口终端控制模式。在任何模式下,另外一种模式均可取得控制权,但不能二者同时控制。
  • 如果当前是串口终端控制模式,遥控器要想取得控制权只需拨动指定的空闲通道,我这里用的是襟翼通道,是个三向开关,只要随意拨动一档,遥控器马上取得控制权。此时,串口终端失去控制权。
  • 如果当前是遥控器控制模式,串口终端要想取得控制权需要发送控制请求命令给无线路由器,路由器在成功应答后,串口终端马上取得控制权。此时,遥控器将失去控制权。

实验结果:
  • 图像传回稳定,不受2.4g信号干扰。
  • 遥控器模式控制精准,没有wifi信号干扰。
  • 串口终端模式控制精准,不受2.4g信号干扰,遥测数据正常。

实验结论:
  • tp-link wr703n mini无线路由器 + USB摄像头方案从理论上讲,可以代替普通数传与图传模块。

遗留问题:
  • 相较于普通数传与图传模块,这里代替它们的设备是USB Hub, wr703n, usb摄像头以及若干USB数据线。如何减重?这里先想到的有去掉所有设备外壳,包括摄像头和wifi天线外壳,选用较轻较短的USB数据线,必要时重新焊接定制的USB线等。
  • mini无线路由器信号发射距离和信号接收灵敏度如何?因为我们这里是需要遥控和测量+图像双向通信,即所谓的遥测再加一个图像,所以这两方面都需要考虑。增加了外置天线后效果如何?需要场测数据。另外,可以考虑连接大功率USB无线网卡(如8187l和rt3070)取代内置的无线模块。

To do list:
  • 拉距测试,预期1KM覆盖半径。两端均使用rt3070大功率USB无线网卡(标称发射功率400mv,峰值功率1000mw,烧得脑袋疼啊,呵呵)。飞机端使用高增益全向天线或蘑菇天线(一般2.4G图传用多少dbi的?),地面站使用14dbi高增益大面积平板天线。(BJ限号不让买车,真是不太方便出去场测啊,郁闷)
  • 在无线路由器上将Arduino串口映射成一个UDP端口,在网上找到的资料,看来是不用写代码了,Linux能复用的东西就是多啊。(已完成)
  1. socat udp-l:14551,reuseaddr file:/dev/ttyACM0,nonblock,raw,echo=0,waitlock=/var/run/tty,b115200
复制代码
  • 研究mjpg-stream开源网络摄像头视频传输软件。一方面提高画面传输速率,目前画面传输的延迟大概在半秒左右(一般要求多少?FPV和UAV分开来说),在网上查到的资料是有一些udp,rtsp等协议的模块,但不稳定。另一方面,研究一下源码看看能不能直接在路由器上合成OSD(对于FPV有意义,对于UAV实际上没什么意义了,把遥测数据传回地面站在PC上合成肯定快得多,而且大部份地面站也支持这功能)。

相似研究:
最新想法:

    mjpg-streamer传视频延迟大,500ms左右,而且运动画面效果也不佳。有可能是USB摄像头本身采集数据就很慢,我用的是中星微301芯片的摄像头,很低端的摄像头了,高端一点的摄像头可能会好点。因为mjpg-streamer本身并不作任何编码,只是把摄像头的每一贞画面拿出来再通过http转发,所以按理说不存在性能瓶颈。实测也是CPU占用很低,703n的CPU还很空闲。估计可能的的原因出在http上,http针对这种实时性要求很高的应用,显然是不适合的。现在能够想到的一是换高端摄像头,至少在电脑上用采集速度很快的,二是要想办法用其它实时性更高的协议,如rtp,udp等。
    另外,拿iPhone做了实验,iPhone自带的摄像头照像速度很快路人皆知了,也是它的优势功能之一。iPhone有无线摄像头这样的应用,电脑上装上对应的驱动程序后会创建一个无线网络摄像头,就像使用正常的usb摄像头一样,QQ等聊天软件都能正常使用,而且速度很快。真的很快,比USB摄像头还要快,而且是无线的!!!不过如果这个方案要上iPhone,好像就没什么意义了。安卓也有类似的应用,不过安卓手机本身的取景速度和照像性能不敢恭维。


    所以目前的想法如下,用手机代替USB摄像头,利用高性能拍照手机的摄像能力来达到准FPV和UAV的图传要求。其它模块功能保持不变。





    实验程序:
    • 上位机: WifiControl.zip (9.45 KB, 下载次数: 148)
    • 下位机: arduino_pilot_control.ino (7.66 KB, 下载次数: 2133)

评分

参与人数 1威望 +2 收起 理由
cyk0123 + 2 很给力!

查看全部评分

欢迎继续阅读楼主其他信息

沙发
发表于 2013-4-15 22:46 | 只看该作者
就是遥控距离实在是近
3
发表于 2013-4-15 22:46 | 只看该作者
你敢说明白点么
4
发表于 2013-4-15 22:48 | 只看该作者
超过70米就算航拍了。。。不错!
5
发表于 2013-4-15 22:51 | 只看该作者
楼主你上效果视频啊
6
发表于 2013-4-15 22:58 | 只看该作者
楼主普及一下 原理啊
7
发表于 2013-4-15 22:59 | 只看该作者
顶顶!!
基本原理我懂,tp-link 703n 刷openwrt能够做成wifi robot,视屏传输,高达八路舵机控制,增加超声波啥的都是可能的,也想过用在航拍上,就是不知道如何实施!!求个效果和实际教程!!
8
发表于 2013-4-15 23:01 | 只看该作者
不重吗?
9
发表于 2013-4-15 23:33 | 只看该作者
求普及!!!
10
发表于 2013-4-16 00:31 | 只看该作者
气氛真好,就差发 “PM价格” 的那位了。
11
发表于 2013-4-16 01:23 | 只看该作者
实际玩起来效果如何
12
发表于 2013-4-16 10:41 | 只看该作者
keyzheng 发表于 2013-4-15 22:46
就是遥控距离实在是近

可以加功放的哟。。
13
发表于 2013-4-16 10:52 | 只看该作者
上教程,看效果!

14
 楼主| 发表于 2013-4-16 10:59 | 只看该作者
没错,最大的问题就是遥控距离太近,因为这个路由器的发射功率太小,室外空旷地实测120米左右。这个解决方案实际上已经用在wifi mini 四轴飞行器上了。
对于固定翼,现在最大的问题就是发射功率。但openwrt支持外挂大功率usb无线网卡(不太明白的就是现在这个路由器相当于这个路由器是个mini电脑,有一个usb口,这个usb口先接usb hub(要带电源的),通过hub再接飞控,usb免驱摄像头,usb大功率无线网卡,这回总懂了吧?)

重量的话因为数传图传模块加起来才一个路由器(路由器本身轻得可怜,用过的人应该清楚),一个usb hub(可选,但要轻!)再加一个免驱摄像头(要小,要轻!),还有可能外挂大功率usb无线网卡(要轻!!),这些设备加起来应该不会比传统的数传加图传模块重(话说传统的图传+数传两套发射系统两根天线两套接收着实讨厌啊)。
15
发表于 2013-4-16 15:58 | 只看该作者
gault 发表于 2013-4-16 11:06
,本人纯技术研究,这张图片只是从淘宝上抓取的一张连接好的效果图更能说明问题而已。
我自己已 ...

这个路由我很早就买了,
,
,
,
,
,
,
,
,
然后焊内存,刷rom, ,
,
,
,
,
,
刷成砖了.....




16
 楼主| 发表于 2013-4-16 16:01 | 只看该作者
FKK 发表于 2013-4-16 15:58
这个路由我很早就买了,
,
,

本人也对焊接本身没兴趣,主要是手工太差,又没工具,自己改造真不如买现成的,也就70块钱的东西贵一倍而已,完全没必要自己去折腾。
如果你焊接了ttl口,怎么会变砖?可以走串口刷机啊。

17
 楼主| 发表于 2013-4-16 16:08 | 只看该作者
大功率usb无线网卡,8187l芯片,发射功率400mw。
(图片包含广告、商业链接,予以删除,版主留)
18
发表于 2013-4-16 22:26 | 只看该作者
强帖留名,再详细点就好了。
19
发表于 2013-5-2 22:44 | 只看该作者
顶楼主啊
20
 楼主| 发表于 2013-5-4 19:00 | 只看该作者
晕,版主把我的图片全给删 了。。。
上自己的图片不会被删 了吧?

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表