基于doipclient设置一个简易的诊断服务工具

这篇具有很好参考价值的文章主要介绍了基于doipclient设置一个简易的诊断服务工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python-doipclient:

doipclient is a pure Python 3 Diagnostic over IP (DoIP) client which can be used for communicating with modern ECU's over automotive ethernet. It implements the majority of ISO-13400 (2019) from the perspective of a short-lived synchronous client. The primary use case is to serve as a transport layer implementation for the udsoncan library.

doipclient是一个纯Python 3 IP诊断(DoIP)客户端,可用于与ECU的汽车以太网通信。它从客户端的角度实现了ISO-13400(2019)的大部分内容。主要是作为udsoncan库的传输层实现

doipclient github网址链接:https://github.com/jacobschaer/python-doipclient

首先我们看一下github上面给出的例子,通过例子来说明一下实现简易诊断服务工具的框架。

import udsoncan
from doipclient import DoIPClient
from udsoncan.services import *
from doipclient.connectors import DoIPClientUDSConnector
from udsoncan.client import Client

udsoncan.setup_logging()
ecu_ip = '127.0.0.1'
ecu_logical_address = 0x00E0
doip_client = DoIPClient(ecu_ip, ecu_logical_address)
conn = DoIPClientUDSConnector(doip_client)
with Client(conn, request_timeout=2) as client:
   try:
      client.change_session(DiagnosticSessionControl.Session.extendedDiagnosticSession)
   except NegativeResponseException as e:
      print('Server refused our request for service %s with code "%s" (0x%02x)' % (e.response.service.get_name(), e.response.code_name, e.response.code))
   except (InvalidResponseException, UnexpectedResponseException) as e:
      print('Server sent an invalid payload : %s' % e.response.original_payload)
   doip_client.reconnect()
   client.tester_present()
doip_client.close()
  1. 导入DoIPClient 工具类,该工具类基于socket客户端之上实现数据接收,发送,数据校验等方法

  1. 导入uds服务协议工厂类,里面包含了各种uds服务,可续可以用通过该工厂类构建应用层协议(ISO14229-1)数据

  1. 导入一个doipclient conector 通过该conentor将ISO14229-1协议数据包和ISO-13400以及TCP/IP协议连接起来

以上代码我们通过抓包可以发现数据已经发送通过通过网卡发送出去,数据如下

基于doipclient设置一个简易的诊断服务工具

以下是基于doipclient和pyqt5实现的一个应用程序界面,读者可以根据实际需求进行相应的定制开发。文章来源地址https://www.toymoban.com/news/detail-420905.html

基于doipclient设置一个简易的诊断服务工具

到了这里,关于基于doipclient设置一个简易的诊断服务工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Istio是一个开源的基于 envoy proxy 的服务网格工具,它通过提供应用层面的流量管理和安全保障能力,帮助企业构建一个完整的服务网络体系

    作者:禅与计算机程序设计艺术 容器编排工具通常都提供微服务架构,其中包括服务注册与发现、负载均衡、流量控制和熔断等功能。随着云计算的普及,越来越多的人开始使用这些容器编排工具,包括Docker Swarm、Kubernetes、Mesos等。除了提供容器集群管理之外,许多容器编排

    2024年02月07日
    浏览(14)
  • Vue项目实战——实现一个任务清单【基于 Vue3.x 全家桶(简易版)】

    Vue项目实战——实现一个任务清单【基于 Vue3.x 全家桶(简易版)】

    内容 参考链接 Vue2.x全家桶 Vue2.x 全家桶参考链接 Vue2.x项目(一) Vue2.x 实现一个任务清单 Vue2.x项目(二) Vue2.x 实现GitHub搜索案例 Vue3.x项目(三) Vue3.x 实现一个任务清单 1、前言 如果你对 vue3 的基础知识还很陌生,推荐先去学习一下 vue 基础 内容 参考链接 Vue2.x全家桶 Vu

    2024年02月02日
    浏览(83)
  • Linux基于Apache服务搭建简易镜像站

    Linux基于Apache服务搭建简易镜像站

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 安装Apache服务器 配置Apache服务器:编辑Apache配置文件 /etc/httpd/conf/httpd.conf 修改为: Apache配置文件末尾添加如下:配置虚拟主机 使用 httpd -t 命令检查配置文件是否书写错误:重启Apache服务器 创建镜像站目录 编写HTML代

    2024年02月06日
    浏览(32)
  • 基于ESP32的简易web服务器

    基于ESP32的简易web服务器

    本文介绍一下如何使用ESP32快速方便的搭建一个简易的web服务器。 使用ESP32或ESP8266搭建web服务器的方式有很多,但是大多数都的web页面代码都是内嵌在程序中的,这样如果要修改web页面就十分的不方便。今天介绍一种方法将web页面的代码以文件的形式上传到存储器中,然后在

    2024年02月09日
    浏览(13)
  • JAVA开发(基于Restful的微服务第三方简易接口设计)

    JAVA开发(基于Restful的微服务第三方简易接口设计)

       一、需求背景 java后端需要提供接口服务,其中接口服务分为对内网的后台管理系统的接口,对外网的用户接口和对第三方系统的接口。这里主要讲对第三方的接口。 二、接口设计 我们可以参考微信小程序的接口,一般一个系统提供给第三方系统的接口都需要接口权限认

    2024年02月09日
    浏览(12)
  • 基于c++的简易web服务器搭建(初尝socket编程)

    基于c++的简易web服务器搭建(初尝socket编程)

    用 Socket 编程实现一个 Web 服务器(端口号 8080) 实验要求: 该 Web 服务器在一台主机上运行,支持多台主机同时访问 有服务控制界面,开启和关闭按钮 能够指定主页(index.html) 测试方法: 在同组其他主机上,打开浏览器,输入 http://主机 IP 地址:8080,浏览器上显示主页

    2023年04月08日
    浏览(13)
  • 工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 -> 设置 -> 安全设置,将服务端口开启

    工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 -> 设置 -> 安全设置,将服务端口开启

    问题:工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 - 设置 - 安全设置,将服务端口开启 解决方式:打开微信开发者工具——设置——安全——服务端口(开启)

    2024年02月11日
    浏览(8)
  • Java 性能诊断工具你好

    Java 性能诊断工具, 从java自带的工具到单机图形化诊断工具再到分布式诊断工具 Java自带了许多诊断工具,例如JConsole、JVisualVM、jmap、jstack、jcmd等。这些工具都是非常常用的工具,它们可以帮助开发人员诊断Java应用程序的性能问题。其中,JConsole和JVisualVM是图形化工具,可以

    2023年04月08日
    浏览(10)
  • JVM监控及诊断工具大全

    JVM监控及诊断工具大全

    jconsole:从Java5开始,在JDK中自带的java监控和管理控制台。用于对JVM中内存、线程和类等的监控,是一个基于JMX(java management extensions)的GUI性能监控工具。 官方地址:https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html Visual VM是一个功能强大的多合一故障诊断和性能

    2024年02月08日
    浏览(14)
  • Java问题诊断工具——JVisualVM

    Java问题诊断工具——JVisualVM

    这篇文章源自一次加班改bug的惨痛经历=[,,_,,]:3 负责的一个项目占用不断增加,差点搞崩服务器(╥﹏╥)…… 一下子有点懵,不能立刻确定是哪里导致的问题,所以决定好好研究下这个之前一直被我忽视的问题诊断工具🔧——JVisualVM 嘿嘿我们开始吧(。・ω・。)ノ JVisualVM是一

    2023年04月22日
    浏览(12)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包