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

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

相关推荐
small_wh1te_coder2 天前
GCC深度剖析:从编译原理到嵌入式底层实战
汇编·c++·面试·嵌入式·状态模式·c
stone51952 天前
TOTP算法与HOTP算法
c语言·物联网·算法·嵌入式·iot平台·智能门锁
酷飞飞3 天前
RTC时钟倒计时数码管同步显示实现(STC8)
单片机·嵌入式硬件·51单片机·嵌入式·stc8
酷飞飞5 天前
基于STC8单片机的RTC时钟实现:从原理到实践
单片机·嵌入式硬件·51单片机·嵌入式
望兮5 天前
现代永磁同步电机FOC控制技术指南
嵌入式
Jason_zhao_MR8 天前
如何板端编译OpenCV并搭建应用--基于瑞芯微米尔RK3576开发板
人工智能·嵌入式硬件·mcu·opencv·物联网·计算机视觉·嵌入式
优信电子8 天前
基于STM32F103驱动SI5351 3通道时钟信号发生器输出不同频率信号
单片机·嵌入式
DIY机器人工房8 天前
开发板RK3568和stm32的异同:
嵌入式硬件·嵌入式·diy机器人工房
Skylar_.9 天前
嵌入式 - 数据结构:哈希表和排序与查找算法
数据结构·算法·嵌入式·哈希算法·散列表
DIY机器人工房9 天前
一个程序通过 HTTP 协议调用天气 API,解析 JSON 格式的天气数据,提取关键信息并格式化输出:日期、天气状况、温度范围、风向、湿度等核心气象数据。
嵌入式硬件·嵌入式·diy机器人工房