Windows下安装和使用dronecan_gui_tool

哈喽大家好,我是Mokel,这是DroneCAN调试器系列视频的第2期。这期视频我们将介绍在Windows下安装和使用dronecan_gui_tool的内容。

你可以在ardupilot的文档 (ardupilot.org/plane/docs/...) 找到dronecan_gui_tool的下载链接,推荐你下载msi安装文件,下载完成后,只需要点击安装,并依次点击下一步即可,推荐你修改软件的安装位置,将非系统软件安装在C盘以外的软件盘,避免C盘存储空间的无故消耗,比如我这里将它安装到了D盘的dronecan_gui_tool文件夹下。

安装完成后,dronecan_gui_tool就可以正常使用了,我们将使用两个Pogo-DroneCAN调试器互连来演示测试dronecan_gui_tool的使用,你可以在淘宝搜索"DroneCAN调试器"找到这个商品,也可以通过评论区置顶链接(item.taobao.com/item.htm?sp...) 直接跳转商品,调试器默认为slcan固件,同时支持使用QGC更新固件,我们将在后续视频里分享利用QGC更新固件的过程,并介绍官方提供的几个可用固件。

如我所演示,我们将两个DroneCAN调试器的GH1.25口通过一根双头反向端子线连接在一起,然后通过USB-TypeC线或者TypeC-TypeC线先将其中一个调试器连接到电脑上,等它通电启动后,重新打开dronecan_gui_tool上位机,可以看到上位机识别到了我们的DroneCAN调试器STM...Virtual COM Port,选择这个CAN Interface,点击OK进入上位机主页面。

注意观察,在进入上位机主页面的过程中,已经通过TypeC线连接到电脑的DroneCAN调试器会闪烁一下,你可以把这个理解为是调试器正常工作的一个前置信号。在主页面的左上角,点击 √(对勾)应用本地节点ID,此时点击右下角的小火箭,dronecan_gui_tool上位机会识别到我们已经连接到电脑的DroneCAN调试器,它的节点ID为127。

然后我们再用另外一根TypeC线把另外一个DroneCAN调试器连接到电脑,然后新开一个dronecan_gui_tool窗口,与刚才相同的情况,点击OK进入上位机主页面,这里你可能会遇到报错,提示端口被占用,此时你需要关闭刚刚打开的dronecan_gui_tool新窗口,然后重插一下刚刚的DroneCAN调试器,等个5s,等电脑识别到了新插入的调试器后再新开一个dronecan_gui_tool窗口,与刚才相同的情况,点击OK进入上位机主页面。

你可能已经注意到,我是依次将DroneCAN调试器连接到电脑的,具体地说,先插上一个DroneCAN调试器,然后打开并进入dronecan_gui_tool上位机,设置好local node ID;再插上另外一个DroneCAN调试器,然后打开并进入一个新的dronecan_gui_tool上位机页面,并设置好local node ID。请注意,目前在Windows下连接多个DroneCAN调试器时,你必须采取依次连接的方式。

在新开的dronecan_gui_tool上位机主页面里,注意这几个情况,首先是左上角的本地节点ID,它需要与刚刚的本地节点ID不同,比如刚刚的本地节点ID为127,那么这里可以更改为126,然后点击 √ (对勾)应用本地节点ID;然后是这边的online nodes,可以看到,它已经识别到了我们刚才的127节点;最后点击一下右下角的小火箭,可以看到已经成功地识别到了我们的127和126节点。

回到127节点的上位机主页面中,可以看到online nodes有126节点,右下角同样识别到了126节点和127节点,这意味着两个DroneCAN调试器都成功被上位机识别了,且两个调试器之间也成功建立了连接。

最后,我们通过dronecan_gui_tool的工具来测试一下通过这两个DroneCAN调试器的CAN数据的收发、转换是否能够正确执行。

在127节点的dronecan_gui_tool主页新建一个执行器面板(actuator panel),它位于Panels -> Actuator Panel下,将其修改为我所演示的设置,具体是:value值分别为0.1、0.2、0.3、0.4,ID值分别为0、1、2、3,并且勾选四个Enabled,可以看到在Generated message中显示了完整的数据内容,如果有需要你可以点击Pause暂停数据的发送,再次点击则恢复数据的发送。

然后在126节点的dronecan_gui_tool主页新建一个bus monitor,它位于Tools -> Bus Monitor下,点击左上角的摄像头icon开始捕获数据(start capturing),可以看到数据在持续地刷新,随机选择一条uavcan.equipment.actuator数据,它的数据详情会显示在下方, 可以看到,126节点收到的数据与127节点发出的数据完全一致。

也就是说,dronecan_gui_tool上位机向127节点DroneCAN调试器以slcan协议发送的CAN数据,经过127节点调试器转换为dronecan协议数据并发送给126节点DroneCAN调试器后,126节点调试器再将dronecan协议数据转换回slcan协议数据并回传给dronecan_gui_tool上位机显示,经过一个完整的发送、转换、传递、转换、回传环节的收发数据完全一致,这意味着DroneCAN调试器正确地工作了。

并且,你可以注意到,发送数据的DroneCAN调试器的呼吸灯的闪烁频率更快。如下面视频所演示,右侧的DroneCAN调试器为127节点调试器,它是发送数据侧,它的呼吸灯的闪烁频率更快。 两个DroneCAN调试器互连收发数据演示

后续,你可以将其中一个调试器更换为你的DroneCAN外设并给外设通电,然后外设将持续产生dronecan协议的数据发送给DroneCAN调试器,调试器将dronecan协议的数据转换为slcan协议数据后回传给dronecan_gui_tool显示,此时你就可以根据外设的实际数据进行相关开发调试工作了,我们将在后续视频中演示测试DroneCAN调试器与CANGPS外设之间的连接与调试。

那么这期视频就到这里了,记得点赞投币收藏和关注,我们下期视频,不见不散!

相关推荐
网易独家音乐人Mike Zhou10 小时前
【无人机】MavLink通讯协议的回调解析函数及状态机
单片机·mcu·物联网·嵌入式·无人机·iot
小柯博客20 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十二)
c语言·stm32·单片机·嵌入式硬件·php·嵌入式
SY师弟1 天前
台湾TEMI协会竞赛——0、竞赛介绍及开发板介绍
c语言·单片机·嵌入式硬件·嵌入式·台湾temi协会
憧憬一下1 天前
FreeRTOS同步和互斥
嵌入式·freertos
zhuhit1 天前
FASTDDS的安全设计
分布式·机器人·嵌入式
憧憬一下2 天前
FreeRTOS任务之深入篇
stm32·嵌入式·freertos
scoone2 天前
四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
嵌入式
Evan_ZGYF丶2 天前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci
全干工程师—3 天前
FreeRTOS实时操作系统学习笔记
嵌入式·freertos·实时操作系统
The Kite3 天前
MPLAB X IDE 软件安装与卸载
ide·c#·嵌入式