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, 代码覆盖率, 以太网, 可扩展性, 安全扫描, 客户端-服务器, 嵌入式系统, 开源框架, 持续集成, 文档化, 时序注入, 最佳实践, 汽车诊断, 诊断服务, 车辆通信, 逆向工具, 通信协议, 错误处理