匿名地面站V6.5传输协议

匿名地面站V6.5常用功能研究和传输协议。
因为做无人机功能的增加,以及不知道什么神奇的原因我的电脑打不开我们常用的V4.5版本,因此不得不使用更新一点的地面站。新版本的地面站相对于4.5版本(也是现在匿名官网免费提供的版本),增加了飞行控制模块可供使用,而对于我们这些做比赛的学生狗而言,飞行控制功能要比遥控器实用多了,因此果断更新。
然后,就开始了6.5版本的采坑之路。(此处默哀三分钟)首先是两个版本的传输协议不一样,需要更换传输协议,这可是折腾的我不轻,我可是之前一直以为两个版本是一样的传输协议的,白让我用新版本的数据传输试了好久,为啥死活收不到任何东西返回。然后才发现传输协议有这么大的不一样,真心难受。下面就让我们主要对比一下两个协议之间的区别来阐述一下代码该怎么写。至于源码(嘿嘿嘿)我花了那么久搞定的东西你们也得花点坑人的C币是把。我是链接

传输协议对比讲述

首先是规定的暗号变了,之前传输是固定的帧头的,现在的话是会因为你的设备不一样有所变化,不过如果你买的不是匿名的设备的话这个小区别就不要管了,我们直接规定好就OK这里以发送版本信息为例(我的代码是我们自己用的,只有常用功能,有些无关紧要的就没有再写,比如版本信息)
版本信息
基本的帧格式是这样子要求的,这里我们根据协议上面的样例来确定发送设备和接收设备,比如当下位机给上位机发送的时候,我们的S_ADDR=0X05,D_ADDR=0XAF。那么一帧数据的基本格式就OK了,这是传输一下基本的传感器数据然后看一下都OK,不会有问题。但是这个功能也不太够,至少加上个用户数据吧,我们好传输一些自己代码里面奇奇怪怪的东西进去,其实没有什么区别,就是把帧头功能码对应换一下就OK了,然后就可以使用高级收码来观察自己的数据啦,当然也可以用数据波形来看自己的数据啊,记得先点设置将波形更换为用户波形。
当然有这些还是不太够,我们还需要PID的功能,就是这个玩意:匿名地面站V6.5传输协议_第1张图片
低智商的我看着这个图,狂点写入飞控,一点反应都没有,可把我伤心的。经过多方丢人才咨询到,需要先点一下读取飞控才行。本以为就是点一下,没想到还得返回数据才行(那你倒是说清楚啊!!!)经过我不懈的努力,我终于发现这个神奇的东西该怎么用,原来点过读取飞控以后就会有信息传导下位机,而这个指令还是E0功能字的,可怕可怕(你明明说了E0功能字是用来传指令的不是读参数的哎)
匿名地面站V6.5传输协议_第2张图片
反正无论如何,上位机发来查询指令以后,下午机就要返回对应的信息,啥子呢。。。。E1方式传输对应序号的指令,当时我可开心了,花了几个小时就搞定了(大家教我怎么输入微笑符号)之后数据通讯成功,神奇的一幕就发生了,写入飞控可以点击了,之后按照要求写就行了呗(哈哈哈)。
匿名地面站V6.5传输协议_第3张图片
然后就是这个功能也比较重要,我们可以控制他怎么飞,这个模块使用的是E0功能,因此啥都不说,数据原样返回就行了,发过来的东西一解析,然后送回去就可以正常使用了。至于其他更高级的功能的话,由于本人暂时没有用到,因此也没写,等研究过来再来补上去吧。

你可能感兴趣的:(大学,无人机)