python控制器局域网接口模块

python-can的Python项目详细描述


Latest Version on PyPiDocumentationTravis CI Server for develop branchAppVeyor CI Server for develop branchTest coverage reports on Codecov.ioDownloads on PePy

cc ontrollerarean网络是设计的总线标准 允许微控制器和设备相互通信。它 具有基于优先级的总线仲裁和可靠的确定性 沟通。它被用于汽车、卡车、船只、轮椅等。

can包为 python开发人员;为 不同的硬件设备,以及一套用于发送和接收的实用程序 can总线上的信息。

该库支持Python2.7、Python3.5+以及PyPy2&3并运行 在Mac、Linux和Windows上。

Library VersionPython
2.x2.6+, 3.4+
3.x2.7+, 3.5+
4.x (expected)3.6+

功能

  • 用于can通信的通用摘要
  • 支持许多不同的后端(参见docs
  • 接收、发送和定期发送消息
  • 正常和扩展仲裁ID
  • 有限的CAN FD支持
  • 支持回放的许多不同的记录器和读取器:asc(canalyzer格式)、blf(按矢量的二进制日志格式)、csv、sqlite和canutils日志
  • 在内核或硬件上高效地筛选受支持接口上的消息
  • 从文件或环境变量读取总线配置
  • 用于处理can总线的cli工具(请参见docs
  • 更多

示例用法

# import the libraryimportcan# create a bus instance# many other interfaces are supported as well (see below)bus=can.Bus(interface='socketcan',channel='vcan0',receive_own_messages=True)# send a messagemessage=can.Message(arbitration_id=123,is_extended_id=True,data=[0x11,0x22,0x33])bus.send(message,timeout=0.2)# iterate over received messagesformsginbus:print("{X}: {}".format(msg.arbitration_id,msg.data))# or use an asynchronous notifiernotifier=can.Notifier(bus,[can.Logger("recorded.log"),can.Printer()])

您可以在文档中找到更多信息,在线 python-can.readthedocs.org

讨论

如果你遇到了错误,你可以把它们归档到 issue tracker在github上。

还有一个python-can 用于开发讨论的邮件列表。

Stackoverflow有几个 用python+can标记的问题和答案。

无论我们在哪里交流,我们都会努力遵循 Python Community Code of Conduct

贡献

请参见doc/development.rst了解入门信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javai是JAXB的新手。如何将两个具有不同名称空间的不同xml合并为一个具有根元素的xml并将其解组?   JDO中的java应该是可传递的DefaultFetchGroup吗   java服务器配置问题   java在理解JList时遇到困难   java何时将RequestContextFilter用于Jersey?   java从数据库中读取文本文件。jar文件   Java正则表达式,仅适用于不包括零的正数   爪哇番石榴。类路径中的jar   JavaEE:关于设计的问题   java GUI,在面板中排列按钮   java Android为什么使用接口被认为是活动和片段之间通信的最佳实践?   java如何获取wicket图像的url以在开放图元标记中使用它   从Java字节[]>Base64>Javascript数组缓冲>Base64>byte[]   java正则表达式帮助字符串JWE766。1.pdf格式摘录766   java Hibernate,JPA忽略@Formula