Python-can库的使用(1)——简介与安装

这篇具有很好参考价值的文章主要介绍了Python-can库的使用(1)——简介与安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🙆‍♂️我是纯良思安,爱技术、爱分享,更爱生活🙆‍♂️

💖喜欢的朋友可以关注一下,下次更新不迷路💖


文章目录

1、简介

1.1 主要功能

1.2 官方库文档描述

2、安装

2.1、GNU/Linux 依赖项

2.2、Windows 依赖项

Kvaser

PCAN

IXXAT

NI-CAN

neoVI

Vector

CANtact

CanViewer

在开发模式下安装Python-can


前言

pycanapi,Python-can,python

  python-can是一个Python库,用于提供Controller Area Network (CAN)接口的支持,允许Python脚本与CAN网络进行交互。它是一个开源库,旨在使得与CAN设备和网络通信变得简单易行。CAN是一种广泛使用的、低成本、高可靠性的网络协议,常见于汽车电子、工业自动化以及其他需要电子设备之间进行可靠通信的领域。

1、简介

1.1 主要功能

  1. 发送和接收CAN消息:最基本的功能是能够在CAN网络上发送和接收数据包。python-can提供了简单的API来执行这些操作,无论是简单的消息传递还是更复杂的基于事件的消息处理。

  2. 多种硬件支持python-can支持多种CAN接口硬件,包括但不限于SocketCAN(Linux上的原生CAN驱动)、PCAN、Vector CAN设备等。这意味着你可以使用相同的库代码与不同的硬件通信。

  3. 记录和回放CAN消息python-can可以记录CAN总线上的通信,并将其保存到日志文件中(例如BLF、ASC、CSV格式)。这对于调试、分析通信问题或者测试非常有用。同样,它也支持从这些文件中回放消息到CAN网络。

  4. 高级消息过滤python-can允许对传入的消息进行过滤,这样应用程序只需要处理感兴趣的消息。这对于减少不必要的处理和提高效率非常有帮助。

  5. 网络抽象和模拟:除了真实的硬件通信外,python-can还提供了网络抽象层,允许创建虚拟的CAN网络,以便于开发和测试,而不需要实际的硬件设备。

  6. 跨平台:尽管某些特定的硬件接口或功能可能依赖于操作系统,但python-can本身旨在跨平台运行,支持Linux、Windows、macOS等。

  7. 丰富的文档和社区支持:作为一个活跃的开源项目,python-can拥有详细的文档和一个活跃的社区,这对于解决问题和学习如何有效使用库非常有帮助。

1.2 官方库文档描述

官方python-can库文档链接如下:

python-can 4.3.1 documentation

根据文档描述:

python can库为python提供控制器局域网支持,为不同的硬件设备提供通用抽象,以及一套用于在can总线上发送和接收消息的实用程序。

python可以在任何python运行的地方运行;从具有商用CAN的高功率计算机到USB设备,再到运行linux的低功率设备,如BeagleBone或RaspberryPi。

  • 被动记录 CAN 总线上发生的情况。 例如,使用 OBD-II 端口监控商用车辆。
  • 测试通过 CAN 交互的硬件。 在现代汽车、摩托车、船只甚至轮椅中发现的模块已经使用这个库从 Python 中测试了组件。
  • 在回路中对新的硬件模块或软件算法进行原型设计。 轻松与现有总线交互。
  • 创建虚拟模块以原型 CAN 总线通信。

下面是一个简单的示例,用于使用python-can发送单帧报文到总线:

#!/usr/bin/env python

"""
This example shows how sending a single message works.
"""

import can


def send_one():
    """Sends a single message."""

    # this uses the default configuration (for example from the config file)
    # see https://python-can.readthedocs.io/en/stable/configuration.html
    with can.Bus() as bus:
        # Using specific buses works similar:
        # bus = can.Bus(interface='socketcan', channel='vcan0', bitrate=250000)
        # bus = can.Bus(interface='pcan', channel='PCAN_USBBUS1', bitrate=250000)
        # bus = can.Bus(interface='ixxat', channel=0, bitrate=250000)
        # bus = can.Bus(interface='vector', app_name='CANalyzer', channel=0, bitrate=250000)
        # ...

        msg = can.Message(
            arbitration_id=0xC0FFEE, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=True
        )

        try:
            bus.send(msg)
            print(f"Message sent on {bus.channel_info}")
        except can.CanError:
            print("Message NOT sent")


if __name__ == "__main__":
    send_one()

2、安装

可以直接使用pip install进行安装:

$ pip install python-can

如果你希望与某些硬件连接,可能还必须安装平台依赖项。许多接口可以与python同时安装它们的依赖项,例如接口serial包括pyserial依赖项,该依赖项可以与serial extra一起安装:

$ pip install python-can[serial]

2.1、GNU/Linux 依赖项

合理地说,目前的Linux内核(2.6.25或更新版本)具有socketcan的实现。如果使用python 3.3或更高版本调用此版本的python can,将直接使用socketcan,否则该接口将通过ctypes使用。

2.2、Windows 依赖项

Kvaser

  • 使用Kvaser CANLib SDK作为后端进行安装 python-can
  • 安装Kvaser最新的Windows CANLib驱动程序:Kvaser’s latest Windows CANLib drivers.
  • 测试Kvaser自己的工具是否正常工作,以确保驱动程序安装正确,硬件是否正常工作。

PCAN

下载并安装最新驱动程序: 

  • Windows (also supported on Cygwin)
  • Linux (also works without, see also Linux installation)
  • macOS

请注意,PCANBasic API时间戳从系统启动开始计算秒数。要将这些时间转换为epoch时间,将使用正常运行时间库。如果不可用,则以系统启动后的秒数返回时间。要安装正常运行时间库,请运行.pip install python-can[pcan]

如果安装了 Python for Windows Extensions库,则此库可以利用该库。它将用于获得新消息的通知,而不是使用CPU密集型轮询。

IXXAT

  • 要使用IXXAT VCI V3或V4 SDK作为后端进行安装:python可以
  • 安装IXXAT’s latest Windows VCI V3 SDK or VCI V4 SDK (Win10) drivers 驱动程序。
  • 测试IXXAT自己的工具(即MiniMon)是否正常工作,以确保驱动程序安装正确,硬件是否正常工作。

NI-CAN

  •  下载并安装National Instruments
  • 需要注意的是,目前该驱动程序仅支持Windows上的32位Python

neoVI

  • 查看Intrepid Control Systems neoVI. 

Vector

要使用XL驱动程序库作为后端安装python-can 

  1. 安装Vector硬件接口的最新驱动 
  2. 安装XL驱动程序库XL Driver Library ,或复制vxlapi.dllvxlapi64.dll到您的工作目录中
  3. 使用Vector Hardware Configuration给你的应用程序分配通道

CANtact

CANtact支持Linux、Windows和macOS。要使用CANtact驱动程序作为后端安装python可-can:

python3 -m pip install "python-can[cantact]"

如果已经安装,则可以单独安装CANtact后端

pip install cantact

更多CANtact相关文档,可以查看 cantact.io

CanViewer

python-can支持运行python -m can.viewer显示一个简单的CAN viewer 终端应用程序。在Windows上,这取决于Windows curses库,该库可以通过以下方式安装:

python -m pip install "python-can[viewer]"

在开发模式下安装Python-can

此软件包的“开发”安装允许你在本地进行更改或从Git存储库中拉取更新并使用它们,而无需重新安装。下载或克隆源存储库,然后:GitHub - hardbyte/python-can: The can package provides controller area network support for Python developershttps://github.com/hardbyte/python-can

python setup.py develop

🎈如果文章对您有帮助,您可以“点赞、收藏、关注”,这也是我创作动力的源泉🎈
💘感谢支持💘文章来源地址https://www.toymoban.com/news/detail-831224.html

到了这里,关于Python-can库的使用(1)——简介与安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • python 安装库常用的国内镜像、使用镜像安装库的方法

    语法格式: pip install 库名 -i 镜像网址 如使用豆瓣安装requests库:

    2024年02月06日
    浏览(46)
  • 软件测试|Python requests库的安装和使用指南

    简介 requests 库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用requests库,以及一些常见的用例示例。 安装requests库 首先,我们要先安装好Python环境。然后,可以使用

    2024年02月02日
    浏览(87)
  • Pygame:Python游戏开发库的安装和使用指南

    Pygame:Python游戏开发库的安装和使用指南 如果你想使用Python编写游戏,那么Pygame游戏开发库可能是你最好的选择。这个库提供了丰富的功能和工具,可让你轻松地创建各种类型的游戏。在本文中,我们将介绍如何安装Pygame,并使用它来创建一个简单的游戏。 安装Pygame 要使用

    2024年02月06日
    浏览(72)
  • Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法

    Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法 在Python中进行视频编辑是一件令人兴奋的事情,它能够让你深入了解和控制你想要的任何一帧视频。而在Python视频编辑工具中,ffmpeg-python库可以说是至关重要的一员。它能够让你轻松地处理视频、音频等多媒体数据

    2024年02月10日
    浏览(59)
  • Python安装库的几种方法(使用Pycharm几种方法)

    1.我的Pycharm已经改成中文格式了 首先在Pycharm中进行安装库 进入Python解释器中。 里面搜素需要的库,可能速度很慢,有的库没有,可以采用别的方法。 2. cmd安装库文件 Windows+R进入CMD命令下。 直接输入 pip install *** 就可以了 就是自动安装需要的库。 3.直接使用别人已经安装好

    2024年02月13日
    浏览(45)
  • PySerial:Python串口通信库的详细介绍、安装及使用方法攻略

    PySerial:Python串口通信库的详细介绍、安装及使用方法攻略 一、PySerial 简介 PySerial 是 Python 的一个串口通信库,支持不同平台下的串口操作。在 Python 应用中,使用 PySerial 可以非常方便地实现对串口设备的读写操作。 二、PySerial 的安装 在 Windows 平台下,可以通过 pip 命令安装

    2024年02月09日
    浏览(55)
  • Py的利器:Python库——dlib库的介绍、使用指南及安装

    Py的利器:Python库——dlib库的介绍、使用指南及安装 dlib库是一个适用于C++和Python的现代化机器学习、计算机视觉和图像处理工具包,它具有优雅和高效的编程接口。 本文将为大家介绍dlib库的特点、安装方法和使用指南,并为大家提供一些实用的示例代码来帮助大家更好地了

    2024年02月12日
    浏览(45)
  • Py之AV:Python下音视频处理的良伴,AV库的全面介绍、详细安装和使用方法!

    Py之AV:Python下音视频处理的良伴,AV库的全面介绍、详细安装和使用方法! Python作为一门广泛使用的编程语言,其实也可以用来进行音视频的处理。AV库就是一个功能强大、易于使用的Python音视频处理库,能够方便地完成多种音视频格式的读取、解码和编码等操作。 本文将全

    2024年02月12日
    浏览(63)
  • 【MQTT】MQTT简介+安装+使用 python MQTT客户端

    目录 前言 MQTT 协议简介 为何选择 MQTT MQTT 通讯运作方式 MQTT 协议帧格式 MQTT服务器搭建和使用  公共MQTT 测试服务器 MQTT服务器搭建 各种MQTT代理服务程序比较 Mosquitto安装 MQTT使用方法 测试MQTT服务器 程序中使用MQTT 本文随时更新,转载请注明出处,源地址:http://t.csdn.cn/kCC0B 文

    2024年02月01日
    浏览(48)
  • python cupy库的安装

    https://www.jianshu.com/p/dc8d13cb0c80 其实不止这一篇,总结就是3种方法1.pip2.whl3.conda,最方便的无疑是conda。 pip安装:依照官网https://docs.cupy.dev/en/latest/install.html,我的cuba版本是11.8,所以选择pip install cupy-cuda11x安装完成,但应该是欠缺一些依赖包,没有运行成功。 whl安装:即下载

    2024年01月23日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包