CAN接口:Ubuntu系统下CAN接口使用python调用过程

这篇具有很好参考价值的文章主要介绍了CAN接口:Ubuntu系统下CAN接口使用python调用过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CAN接口:Ubuntu系统下CAN接口使用python调用过程

介绍在Ubuntu系统中通过python程序使用CAN接口。

1. 使用平台

NVIDIA小型边缘设备NX,(Orin NX和Xavier NX都可以),系统采用Ubuntu,(18.04版本和20.04版本都可以),目的是通过python程序调用CAN接口接收数据。

2. 准备工作

  • 首先使用命令查看是否有CAN接口
ifconfig -a

CAN接口:Ubuntu系统下CAN接口使用python调用过程,问题经验分享,ubuntu,python,linux,CAN接口,canlib

说明现在是没有办法使用CAN接口的,需要通过几部操作让CAN接口显示出来。

  • 在~/下添加 .canrc文件,创建一次即可
    指令:sudo vi ~/.canrc
    在里面填写如下信息
[default]
interface = socketcan
channel = can0

然后创建脚本cantest.sh,在脚本中添加以下内容,该脚本在每次开机时需要启动,然后才可以显示CAN端口。

sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0C303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458

sudo modprobe can
sudo modprobe can_raw
sudo modprobe can_dev
sudo modprobe mttcan

再次运行指令,ifconfig -a可以看到出现CAN端口。

CAN接口:Ubuntu系统下CAN接口使用python调用过程,问题经验分享,ubuntu,python,linux,CAN接口,canlib

  • 此时可利用candump进行CAN端口的测试过程。同时CAN接口的操作过程在终端中可以通过类似操作网口的方式操作。
ip link set can0 down   
ip link set can0 type can bitrate 250000 loopback off
ip link set can0 up

上面的代码分别为设置关闭CAN0,设置CAN0参数250k波特率,设置打开CAN0

2. python 所需库

  • canlib
    通过指令
pip install canlib

安装,然后在程序中通过import canlib导入。
相关的使用文档

  • can
    通过指令
pip install python-can

安装,然后在程序中通过import can导入。
相关的使用文档和文档,这都是官方的文档,讲述的比较全面。

在头一次使用的过程中,在运行python程序会出现无法找到libcanlib.so文件的情况,需要首先现在linuxcan文件,然后对文件进行解压,在解压后的目录中打开终端运行,不方便寻找的可以利用下面的下载地址进行下载。

sudo make
sudo make install

此过程会安装上相应的库文件,这时再次运行自己的python程序就不会出现找不到libcanlib.so文件的情况。

3. 注意事项

在python中使用CAN接口的过程中有需要注意的两点。

  • 使用CAN,而不使用canlib,
    这两个库是存在差别的,python-can是Linux下的通用CAN库,
    canlib库是支持很多的USBCAN和虚拟CAN的库,这个和安装Linuxcan是对应的,但是在安装的过程中,通过打印信息可以看到,把SocketCAN加入进了黑名单,所以不能通过canlib调用socketCAN接口,使用过程中会出现在终端中用candump测试没有问题,但是python程序找不到CAN通道。
  • 多使用candump指令在终端中进行测试。
  • 关于socketCAN和Linuxcan的区别在Kvaser的一篇文章中有说明,可以参考。

4. LinuxCAN下载地址

可以利用下面的百度网盘进行下载。
链接:https://pan.baidu.com/s/1AAkmfpfcb4_sx8RdoC0vLg
提取码:lf1v
–来自百度网盘超级会员V5的分享文章来源地址https://www.toymoban.com/news/detail-678926.html

到了这里,关于CAN接口:Ubuntu系统下CAN接口使用python调用过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python接口自动化之request请求,如何使用 Python调用 API?

        尊重原创,转载请注明出处,谢谢!!

    2024年02月08日
    浏览(59)
  • 如何使用postman调用若依系统接口(报错401,认证失败,无法访问系统资源)

    有时候我们想使用postman调用若依接口,会报下面的401错误,认证失败,无法访问系统资源。 原因是请求中没有token,没法通过若依的权限认证,下面来说一下如何解决。 一、登录若依系统,获取token 随便找一个请求,查看请求头中的内容,获取里面的token,复制下面这一块的

    2024年02月05日
    浏览(45)
  • Python调用讯飞星火大模型v3 api接口使用教程

            这里我们可以获取星火免费赠送的200万个token使用和测试,获取方法如下:         打卡网站讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞 ,登录用户点击免费使用                 点击购买首次应该会让创建一个应用, 如下图,按要求内容随意填写

    2024年02月05日
    浏览(44)
  • 使用python调用微步在线接口实现自动化查询IP情报

    目录 一、微步在线接口说明 二、官方示例 三、自动化查询IP情报信息         针对入站场景的IP进行分析, 能够提供IP的地理位置、ASN信息,通过判定规则精准判别IP是否恶意、风险严重级别、可信度级别;识别威胁类型,如:漏洞利用(exploit)、傀儡机(Zombie)、代理

    2024年02月13日
    浏览(42)
  • 【联想PC win11系统安装Ubuntu18.04/Ubuntu20.04】全程记录安装过程,和网卡驱动、显卡驱动等安装以及后续一系列问题

    电脑为联想台式机:Lenovo IdeaCentre-GeekPro 内存:32G 磁盘:512G固态硬盘+2T机械硬盘 CPU:i7-12700 GPU:NVIDIA RTX3060 学习需要安装Ubuntu18.04和win11系统共存。 之前装过Ubuntu16.04因为内核版本太老,显卡、声卡、有线无线网卡、蓝牙驱动都没有…,直接一个毛坯房了属于是,没有显卡驱

    2024年02月04日
    浏览(100)
  • Ubuntu系统Flameshot使用问题

    系统:Ubuntu22.04 问题:使用Flameshot,每次都会先截取整个屏幕,提示需要先分享,再使用Flameshot的功能 开机用户登录时,右下角有设置桌面环境,默认是Ubuntu,修改为Ubuntu on Xorg 使用Flameshot的Take Screenshoot会先截取全屏,出现以下样式 点击“分享”按钮后,才可以正常使用

    2023年04月09日
    浏览(33)
  • Android 调用TTS语音引擎过程及问题记录

      背景是需要在华为平板上部署一个能够进行相关中文语音提示的APP,华为系统为鸿蒙3.0,对应Android API 12.   调用TTS引擎之前,首先要确认自己的设备中是否安装了相关的文本转语音引擎以及是否支持中文,查看方法为“设置-辅助功能-无障碍-文本转语音”,鸿蒙系统是

    2024年02月16日
    浏览(39)
  • 自己在linux ubuntu子系统安装过程中的各种问题(附加到 WSL2: 系统找不到指定的文件。Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FIL)

    无法将pDataLocalPackagesCanonicalGroupLimited.Ubuntu_79rhkp1fndgscLocalStateext4.vhdx”附加到 WSL2: 系统找不到指定的文件。 Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND 解决方法; 1.控制面板下找到程序下的子选项,重新开启关闭 更改设置后重启 失败 2.导入注册列表(慎!!

    2024年04月13日
    浏览(146)
  • java调用接口返回乱码问题

    调用第三方接口。 当调用第三方接口时,存入数据库中的数据正常,打印的数据乱码,在header中加入charset=UTF-8即可。 此处用到了hutool的依赖: 示例代码: 第三方调用接口。 当第三方调用咱们的接口时,可能会出现返回信息中文乱码的情况,我们在自己的方法的注解上加

    2024年02月11日
    浏览(37)
  • Qt调用Python详细过程

      本文福利, 莬 费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击 莬 费领取↓↓ 编写Python代码,

    2023年04月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包