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外设之间的连接与调试。

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

相关推荐
Tfly__1 天前
Ubuntu 20.04 安装 QGC v4.3 开发环境
linux·c++·qt·ubuntu·github·嵌入式·无人机
憧憬一下2 天前
Linux 内核中断描述符 (irq_desc) 的初始化与动态分配机制详解
arm开发·嵌入式硬件·嵌入式·c/c++·linux驱动开发
源码超级联盟4 天前
51单片机和stm32单片机区别
单片机·嵌入式
jjyangyou5 天前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
憧憬一下5 天前
Pinctrl子系统中Pincontroller和client驱动程序的编写
arm开发·嵌入式·c/c++·linux驱动开发
蓝天居士5 天前
ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(4)
嵌入式·音频·es8388
田三番6 天前
使用 vscode 简单配置 ESP32 连接 Wi-Fi 每日定时发送 HTTP 和 HTTPS 请求
单片机·物联网·http·https·嵌入式·esp32·sntp
启明智显6 天前
AI笔筒操作说明及应用场景
人工智能·嵌入式硬件·嵌入式·ai大模型·启明智显·esp32-s3
FreakStudio6 天前
全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现
python·单片机·嵌入式·面向对象·电子diy
Projectsauron10 天前
【STM32】通过 DWT 实现毫秒级延时
stm32·嵌入式·dwt