mdabrowski1990/uds
GitHub: mdabrowski1990/uds
这是一个Python包,用于实现ISO 14229统一诊断服务协议,解决跨多种诊断总线的通信问题。
Stars: 138 | Forks: 22
## UDS
|CI| |SecurityScan| |BestPractices| |ReadTheDocs| |CodeCoverage|
用于与 ISO 14229 定义的 `统一诊断服务`_ (UDS) 协议进行交互的 Python 包。
它支持通信双方(客户端和服务器)使用不同的通信总线。
## 文档说明
用户文档由 ReadTheDocs 门户托管,可通过以下链接访问:https://uds.readthedocs.io/
此包的安全策略定义在 `SECURITY.md`_ 文件中。
## 开发动机
现有的 Python UDS 包(参见 `替代选项`_)涵盖了协议的部分内容,
但通常专注于单一总线、仅限客户端通信或有限的配置选项。
本包旨在:
开发仍在进行中,但架构已经就绪,并且实现了多项功能。
请查看当前状态:https://uds.readthedocs.io/en/stable/#features
#### 替代选项
##### python-udsoncan
链接:https://github.com/pylessard/python-udsoncan
- 优点:
- 文档详尽
- 社区活跃且维护积极
- 支持多种连接类型
- 完整的 CAN 支持;可通过自定义代码扩展到其他总线
- 可通过 can-isotp 配置 CAN 传输参数
- 实现了多种诊断服务
- 支持正向和负向场景的错误处理
- 可控制 CAN 网络时序(N_As, N_Ar, N_Bs, N_Br, N_Cs, N_Cr)
- 可能注入传输/网络层错误
- 缺点:
- 不支持全双工通信
- 仅实现了客户端通信
##### python-uds
链接:https://github.com/richClubb/python-uds
- 优点:
- 支持 CAN 和 LIN 总线
- 缺点:
- 文档有限
- 未积极维护(最后发布于 2019 年 3 月)
- 接口支持有限(主要依赖 `python-can`_)
- 不支持全双工通信
- 仅实现了客户端通信
- 通信参数配置有限
- 没有错误注入选项(例如流状态操控、错误序列处理)
## 联系方式
- 电子邮箱:uds-package-development@googlegroups.com
- 群组:`UDS 包开发`_
- Discord:`UDS Discord 服务器`_
.. _SECURITY.md: https://github.com/mdabrowski1990/uds/blob/main/SECURITY.md
.. _UDS package development: https://groups.google.com/g/uds-package-development/about
.. _UDS discord server: https://discord.gg/y3waVmR5PZ
.. _Unified Diagnostic Services: https://en.wikipedia.org/wiki/Unified_Diagnostic_Services
.. _python-can: https://github.com/hardbyte/python-can
.. |CI| image:: https://github.com/mdabrowski1990/uds/actions/workflows/testing.yml/badge.svg?branch=main
:target: https://github.com/mdabrowski1990/uds/actions/workflows/testing.yml
:alt: 持续集成状态
.. |SecurityScan| image:: https://github.com/mdabrowski1990/uds/actions/workflows/codeql-analysis.yml/badge.svg?branch=main
:target: https://github.com/mdabrowski1990/uds/actions/workflows/codeql-analysis.yml
:alt: 安全扫描状态
.. |ReadTheDocs| image:: https://readthedocs.org/projects/uds/badge/?version=latest
:target: https://uds.readthedocs.io/
:alt: ReadTheDocs 构建状态
.. |BestPractices| image:: https://bestpractices.coreinfrastructure.org/projects/4703/badge
:target: https://bestpractices.coreinfrastructure.org/projects/4703
:alt: CII 最佳实践
.. |CodeCoverage| image:: https://codecov.io/gh/mdabrowski1990/uds/branch/main/graph/badge.svg?token=IL7RYZ5ERC
:target: https://codecov.io/gh/mdabrowski1990/uds
:alt: 软件测试覆盖率
.. |LatestVersion| image:: https://img.shields.io/pypi/v/py-uds.svg
:target: https://pypi.python.org/pypi/py-uds
:alt: UDS 包的最新版本
.. |PythonVersions| image:: https://img.shields.io/pypi/pyversions/py-uds.svg
:target: https://pypi.python.org/pypi/py-uds/
:alt: 支持的 Python 版本
.. |PyPIStatus| image:: https://img.shields.io/pypi/status/py-uds.svg
:target: https://pypi.python.org/pypi/py-uds/
:alt: PyPI 状态
.. |Licence| image:: https://img.shields.io/badge/License-MIT-blue.svg
:target: https://lbesson.mit-license.org/
:alt: 许可证类型
标签:CAN总线, FlexRay, ISO 14229, K-Line, LIN总线, Python包, UDS, 代码覆盖率, 以太网, 可扩展性, 安全扫描, 客户端-服务器, 嵌入式系统, 开源框架, 持续集成, 文档化, 时序注入, 最佳实践, 汽车诊断, 诊断服务, 车辆通信, 逆向工具, 通信协议, 错误处理