CAN协议转换模块/转换器介绍和“HelloWorld“例程演示

关键词:CAN协议转换/转换器/转换模块,Lua编程,DroneCAN/UAVCAN/CAN转换器,Ardupilot,Px4,Pixhawk,UartAssist

Keywords:Introduction to CAN protocol conversion module/converter and "HelloWorld" case demonstration, CAN protocol conversion/converter/conversion module, Lua programming, DroneCAN/UAVCAN/CAN converter, Ardupilot, Px4, Pixhawk, UartAssist

Ключевые слова:Знакомство с модулем/конвертером преобразования протокола CAN и демонстрация кейса «HelloWorld», Модуль преобразования/конвертера/преобразования протокола CAN, программирование Lua, преобразователь DroneCAN/UAVCAN/CAN, Ardupilot, Px4, Pixhawk, UartAssist

哈喽大家好,我是Mokel。这是CAN协议转换器/转换模块例程演示的第一期视频。这期视频中我会带大家认识CAN协议转换器/转换器模块,并使用CAN协议转换器/转换器模块完成"hello world"例程的演示。

在视频中我将用到Pogo-CAN协议转换器/转换模块以及一根typeC转USB线。在CAN协议转换器/转换模块中装载的固件为转换器模块默认固件,即官方代码仓库发行版中的can-convertor.bin固件。

你可以在淘宝搜索“CAN协议转换 px4”找到这个商品或者直接点击评论区置顶链接 (https://item.taobao.com/item.htm?spm=a21n57.1.0.0.7e56523cjhl6Oc&id=750897861626&ns=1&abbucket=17#detail) 跳转到商品。

商品也上架了俄罗斯🇷🇺电商平台OZON,你可以通过搜索关键词“Модуль преобразования cоглашение CAN”找到商品或者直接点击评论区置顶链接(https://www.ozon.ru/product/modul-preobrazovaniya-coglashenie-can-podderzhka-px4-pixhawk-ardupilot-podderzhka-programmirovaniya-1346610729/?asb=a7D3xKAAFCBoCKqQPIHhDhA7YESO2M9%252BDg4SWOxhKmk%253D&asb2=dtTUZykkKGWFh2Dos3wDcpH9qvmxF3jrRLoQjbqXhHyDWLPydKdYk1CiwF1q9MHCZ98QmDvbtyMlFo8dsqXSiw0iL-tFl3ZFWsg5n72DgGiT61hWqEPZ_fN-hOpkPNTi&avtc=1&avte=2&avts=1703401190&keywords=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C+%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+c%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5+CAN)跳转到商品。

CAN协议转换器/转换模块,是专门设计用于Px4/Pixhawk/Ardupilot等飞控项目中作为协议转换模块使用,在转换器上提供了两组CAN口,一侧可接入CAN外设,一侧可接入Px4/Ardupilot飞控等dronecan设备,从而在两侧的设备之间起到转换协议数据的作用,使得两侧不同协议的设备能够正常通信和交换数据。

CAN协议转换器/转换模块内置Lua解释器,官方在转换器模块内封装了原生CAN和DroneCAN协议的Lua函数库,用户不需要理解复杂的底层驱动,便可以通过Lua脚本进行二次编程。Lua作为一种轻量级语言,设计之初便是为了嵌入式开发。因为其具有高效性、移植性强、简单强大、小巧便捷等特点,所以其代码执行效率高,速度快。且由于Lua语法简单、可移植性强,可嵌入其他语言开发,并与其他编程语言交互体验良好,所以采用Lua脚本编程可以极大简化用户开发难度,缩短开发周期。

CAN协议转换器/转换模块通过搭载Flash芯片,让模块可以以U盘的形式被电脑识别,为用户提供了简单的替换Lua脚本方式。用typeC转USB线将转换器模块接入电脑,当电脑识别到一个U盘设备,转换器模块连接成功。在U盘内存在一个pogo.lua文件,这便是在转换器模块中运行的Lua脚本。你可以将编写好的Lua代码拖进U盘中替换pogo.lua文件,从而对转换器的功能进行自定义开发。

CAN协议转换器/转换模块默认载入的pogo.lua脚本,它提供将数据在原生CAN协议与DroneCAN协议之间转换的功能。

我们尝试自定义转换器模块功能,以"hello world"例程为例,用vscode打开pogo.lua文件,将代码替换为“hello world”例程代码,代码如下。关闭Lua脚本文件,拔掉CAN转换器/转换模块后再重新连接转换器模块,给转换器重新上电,使新的Lua脚本在转换器模块中运行。

while true do
    print("hello,world!") -- 打印 "hello world"
    delay(1000) -- 延迟1秒
end

代码替换完成,在演示开始之前,我们需要安装UartAssist串口调试助手,帮助我们调试例程代码。在CAN转换器/转换模块的官方代码仓库中为我们提供了UartAssist的可执行文件。打开gitee代码仓库(https://gitee.com/pogo-tech/can-pro-lua/releases),在仓库的发行版中找到UartAssist.exe资源,点击下载。下载并安装UartAssist串口调试助手后便可直接使用。

下载过程中浏览器可能会弹出警告提示,只需要点击下载框右侧的三个点,再点击保留,此时浏览器会弹出一个选项框,点击选项框中的显示详细信息,选择仍然保留即可下载成功。

安装好后,打开UartAssist串口调试助手,此时UartAssist会识别到一个#USB 串行设备,这便是我们重新接入的CAN协议转换器/转换模块。选中它,点击打开,调试信息便在UartAssist的数据日志窗口中打印出来。我们观察到在数据日志窗口中以每秒一次的频率不断打印“hello world”,例程执行成功。

如果点击打开按钮后数据日志中没有任何输出,可以尝试关闭串口调试助手,并拔掉CAN协议转换器/转换模块,重新进行连接调试。如果例程仍然不执行,检查Lua代码或代码格式是否存在问题,没问题的话,可以尝试将转换器模块格式化,重新导入pogo.lua脚本,再进行调试。

CAN协议转换器/转换模块教程第一期到这里就结束了。这期视频中我们介绍了CAN协议转换器/转换模块,并通过“hello world”例程演示了如何通过Lua脚本自定义转换器功能。在接下来的视频中我们带着大家演示更多的例程,并展示CAN协议转换器/转换模块的实际使用。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值