我读了一篇关于从Parrot编写AR Drone 2.0的有趣文章。在这段代码中,我们让nodeJS与无人机交谈。因此,代码从创建流到/dev/ttyO0
我开始更多地了解linux功能的背景,并想知道:
我知道这不是一个简单而简单的答案,但我很乐意了解更多相关内容或了解,在哪里可以了解这一点。但最初关于找到合适设备的问题会非常有趣。
谢谢
答案 0 :(得分:2)
我不知道你问题第一部分的答案,但我可以解决第二部分。
是的,AR.Drone使用TCP和UDP进行无人机和控制器应用程序之间的所有通信,包括命令,遥测和视频。您可以使用标准网络嗅探器,如tcpdump或Wireshark。连接到无人机时,其默认IP地址为192.168.1.1。配置嗅探器以捕获进出该地址的所有流量。以下是您可以看到的一些亮点:
命令/“AT”通信,端口5556上的UDP:此端口用于向无人机发送命令。命令采用ASCII格式,看起来像AT*...
,例如AT*REF=7,256
或AT*PCMD=7,1,-1110651699,0,0,1050253722
。 AR.Drone Developer Guide的第6节描述了大多数(但不是全部)命令。
Navdata,端口5554上的UDP:这是从无人机发送的二进制编码数据,包含传感器数据和有关无人机状态的信息。它包括气压,高度估计,位置估计,飞行模式和GPS(如果您的无人机配备一个)。由于您提到了Javascript,node-ar-drone库中的文件parseNavdata.js包含用于解析navdata的代码。
视频,端口5555上的TCP:这是来自无人机的实时视频,采用差不多的H264格式,称为PaVE。该格式记录在开发人员指南的第7.3节中,大多数与AR.Drones交谈的库都可以解析格式。
您可能会注意到另一件事: