疑似一些新的指令
(1)使用CommMonitor串口监控精灵进行数据抓包看到了大量手册之外的指令,疑似隐藏指令集?
(2)隐藏指令中部分指令的含义还没找到合理的解释。
(3)隐藏指令读取参数的时候,涉及门限参数读取的部分没太计算明白,确实没有计算出上位机显示的数值。
上位机抓包(模块连接部分)
由于RD03雷达模组是基于串口的数据传输,故本部分测试使用CommMonitor串口监控精灵进行数据抓包。在刷新连接设备的瞬间,串口监控精灵会请求获取串口操作,该部分与具体的协议无关,感兴趣的小伙伴可以自行查看


打开命令模式
而后的部分为打开命令模式与配置的部分,奇怪的是实际抓取到的数据与通信协议手册发生了一点冲突,话不多说,直接看数据。相信大家都能看出来,命令字的地方原数据为01 00,然而实际抓到的是02 00,与通信协议手册存在不一致的部分,但好在返回的部分是一致的(帧头FD FC FB FA前的那一串为ASCII码,具体内容为distance:166,疑似设定前就有数据进来被系统接收到了)。




或许是由于连包,而后果然数据没有被正常解析,上位机选择了反馈重发的操作,因为数据一样,只是接收到了无连包的数据,上位机正常接收了,所以后续此命令没有反馈重发而已。
新的指令??
但是奇怪的事情还没有结束,而后是一包协议中未出现的数据,数据格式和上位机的返回内容如下。


这包数据是什么意思呢?好像没有头绪,但是嗅觉敏锐的小伙伴可能已经看出来了,76 33 2E 32这4byte放在一起,刚好就是ASCII码的v3.2,这是被手册遗失的固件版本查询指令?不知道,但是应该差不多。甚至在后续,我们看到了更多类似的情况,下面这条指令的含义确实没搞懂。


新的查询指令??
再往后有一堆疑似参数配置或参数读取的指令,共10组。


为什么说是疑似呢?因为通信协议手册里也有一组参数配置和读取指令,如果认为有一组格式如下,不知道能不能解释通呢?
例如读取多个参数(类似I2C协议):FD FC FB FA 0C 参数字 参数ID 参数ID ... ... 04 03 02 01
但是可惜的是,指令的格式不太一样,该组参数是0x0007协议参数字下的一组数据,手册里的使用示例如下。


再往后是一组参数读取的数据,读取的是003F位置的参数,而巧合的是,前面的十组查询指令刚好就剩余了003F的参数未被读取。



新的数据上报模式?
随后是系统参数的配置部分,根据手册内容,此处有两种参数配置形式,分别如下所示,可是上位机软件的配置过程仍然是不出意料地配置了不存在地参数值选项,并且模组地回复也完全正常,存在隐藏的数据上报模式。



退出命令模式
这条指令过后即是退出命令模式的指令,这条指令很正常,就没什么可说的了。




但是事情到此处并没有结束,因为在这些配置结束之后,和最开始被粘包的那部分内容又出现了,反馈数据的格式变成了distance:166,且不需要给出指令触发,模组会已知将该指令发送给上位机,但是在协议中,上报数据的格式却如下。



结语
结束了吗?当然没有,我稍微观察了一下,那组疑似读取参数的数据似乎有一些规律,下面这张图是我的初始界面的参数配置,可惜的是,该组参数中只有最大距离和目标延迟时间计算无误,门限值的计算没有得出数据,可能是我计算的问题。但是我相信这组数据含义的猜测是正确的,因为在保持不变的数据个数上,两个部分是保持一致的。

参数地址 |
读取结果 |
界面显示 |
1 |
0x0055(85) |
8.5 |
4 |
0x0005(5) |
5 |
