• 737查看
  • 0回复

[Autosar] AP Autosar -SOME/IP -- 配置实操

[复制链接]


该用户从未签到

发表于 10-8-2023 09:33:56 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


本文将以时钟clock 作为一个服务,来配置一下 someip 的配置流程。以及最后生成的配置文件。

在这里面我们将明白配置SOME/IP 需要的一些元素,网络配置等知识点。

接上篇

AP Autosar -Execution Management -- 基础实操


首先我们打开配置界面

AP Autosar -SOME/IP -- 配置实操w3.jpg

AP Autosar -SOME/IP -- 配置实操w4.jpg

好,在这里我们进行简单的例子配置。

01

服务端配置

some/ip 是服务端与客户端相互通讯的模型。这里我们首先先建一个服务端。

AP Autosar -SOME/IP -- 配置实操w5.jpg

名字暂且叫做 vsomeip-udp-service

然后我们紧接着就需要对网络进行配置。

网络配置

AP Autosar -SOME/IP -- 配置实操w6.jpg

这里可以看到。这里配置了两个IP



    多播IP

    指定地址IP


多播 IP 这里是为了服务发现使用 也就是我们说到的 some/ip sd.

Multicast IP(多播IP)是一种网络技术,它允许一台计算机向多个目标计算机发送数据包。在SOME/IP中,Multicast IP通常用于实现消息的广播或组播。Multicast IP地址是一个特殊的IP地址范围,其中的数据包可以被一组指定的计算机接收和处理。

具体IP 如上图。

然后哦我们对指定地址IP 也进行了配置,这里是执行客户端的请求。

AP Autosar -SOME/IP -- 配置实操w7.jpg

上午可以看到指定IP的IP 配置。

到这里网络配置算配置完成。

下面要对服务发现进行"组装"。什么意思呢?就是把IP 和 port 对应好。

服务发现 SD

这里使用刚才的多播IP 与 port 5000 作为SD 的配置参数。如下图。

AP Autosar -SOME/IP -- 配置实操w8.jpg

技术设施已经搭建完毕,下面需要来配置一下我们这个machine 需要实现的server 是什么,如何配置。

server 配置

AP Autosar -SOME/IP -- 配置实操w9.jpg

从上图可以看出一些必要参数。

AP Autosar -SOME/IP -- 配置实操w10.jpg

deployment ID: 99

在SOME/IP(Scalable service-Oriented MiddlewarE over IP)中,Server端的Deployment ID(部署ID)是指用于唯一标识SOME/IP服务端的标识符。

Deployment ID在SOME/IP中的作用是确保每个SOME/IP服务端实例都具有唯一的标识符,以便其他SOME/IP节点能够准确地识别和寻址该服务端。

Server端的Deployment ID通常由网络管理员或系统开发人员在部署时分配和配置。它可以是一个整数、字符串或其他形式的唯一标识符,取决于具体实现和部署需求。每个SOME/IP服务端实例都应该具有不同的Deployment ID,以确保唯一性。

通过使用Deployment ID,其他SOME/IP节点可以向特定的服务端发送请求,而不会与其他同类型的服务端混淆。它在SOME/IP网络中充当服务端的身份证,帮助其他节点定位和访问特定的服务端。

因此,Server端的Deployment ID在SOME/IP中用于唯一标识一个特定的服务端实例,方便其他节点定位和与该服务端进行通信。

也就是说,让客户端能找到服务器。



2. Service Instance ID: 19

在SOME/IP(Scalable service-Oriented MiddlewarE over IP)中,Server端的Service Instance ID(服务实例ID)是指用于标识和区分服务端的不同服务实例的唯一标识符。

在SOME/IP协议中,一个服务端可以提供多个不同的服务,每个服务可以拥有一个或多个实例。Service Instance ID用于标识特定服务在服务端中的不同实例。

Service Instance ID通常在服务端启动时分配和配置。它可以是一个整数、字符串或其他形式的唯一标识符,具体格式和规则根据SOME/IP实现和应用需求而定。

通过使用Service Instance ID,SOME/IP客户端可以根据具体的服务实例向服务端发送请求。它在服务端中充当服务实例的身份证,以便客户端能够准确识别和访问特定的服务实例。

总之,Server端的Service Instance ID在SOME/IP中用于唯一标识服务端中的不同服务实例,以便客户端能够识别和访问特定的服务实例。

也就是说,让客户端找到服务器后,能准确地告诉服务器要的是哪个服务。



3. Event ID

在SOME/IP(Scalable service-Oriented MiddlewarE over IP)中,Server端的Event ID(事件ID)是指用于标识和区分不同事件的唯一标识符。

在SOME/IP协议中,事件(Event)是指由服务端触发并向其他节点通知的特定情况或状态变化。例如,一个传感器节点可能定期发送传感器数据,这个数据到达时将触发一个事件,通知其他节点数据的到达。

Event ID在Server端中用于标识不同的事件。它通常由服务端定义和分配,并在事件触发时通过SOME/IP协议通知其他节点。Event ID可以是一个整数、字符串或其他形式的唯一标识符,具体格式和规则取决于SOME/IP实现和应用需求。

通过使用Event ID,其他节点(如客户端)可以订阅感兴趣的事件,并在事件触发时接收相应的通知和数据。Event ID帮助服务端和其他节点准确识别和处理不同类型的事件。

总之,Server端的Event ID在SOME/IP中用于标识不同的事件,并在事件触发时与其他节点进行通信,以便进行事件的订阅、处理和通知。

也就是说 让服务端知道 客户端想要这个服务干什么具体的事情。

通讯协议UDP。至于UDP 和 TCP 这里就不多说了。前面刚好有个文章说了一下TCP。

简单说一下UDP的应用,看抖音直播的都是UDP。

到这里我们的服务端就已经配置完成。

下面我们看一下客户端的配置。

02

服务端配置

整体思路和服务端一致。首先客户端也是一个machine。这里就叫做ClockClient。

AP Autosar -SOME/IP -- 配置实操w13.jpg

然后对网络进行配置。注意的是这里的IP 需要是和服务器一个网段。因为我们设计的是服务端与客户端可以直接通讯。

网络配置

AP Autosar -SOME/IP -- 配置实操w14.jpg

服务发现,也就是SOME/IP SD 这里和前面一样。配置多播IP 与port

服务发现SD



最后 配置一下客户端的本身内容,client.

client 本身

AP Autosar -SOME/IP -- 配置实操w16.jpg

这里介绍的很少,因为参数的含义在服务端已经介绍过了。

下面我们看一下通过上文的配置。会具体生成什么样的配置文件。

03

配置文件生成

AP Autosar -SOME/IP -- 配置实操w17.jpg

服务端
{  "unicast": "192.168.56.20",  "netmask": "255.255.0.0",  "logging": {    "level": "debug",    "console": "true",    "file": {      "enable": "true",      "path": "/var/log/vsomeip.log"    },    "dlt": "true"  },  "applications": [],  "clients": [],  "services": [    {      "name": "vsomeip-udp-service_clock_PSSI",      "service": "99",      "instance": "19",      "unreliable": "5000",      "events": [        {          "name": "clockEvent",          "event": "127",          "is_field": "false",          "is_reliable": "false",          "update_cycle": 0        }      ],      "eventgroup": [],      "methods": []    }  ],  "routing": "/COMSIPGATEWAY",  "service-discovery": {    "enable": "true",    "multicast": "224.244.224.245",    "port": "5000",    "protocol": "udp",    "initial_delay_min": "0.0",    "initial_delay_max": "0.0",    "repetitions_base_delay": "0.0",    "repetitions_max": "0",    "ttl": "0",    "cyclic_offer_delay": "0.0",    "request_response_delay": "0.0"  }}

客户端
{  "unicast": "192.168.56.21",  "netmask": "255.255.0.0",  "logging": {    "level": "debug",    "console": "true",    "file": {      "enable": "true",      "path": "/var/log/vsomeip.log"    },    "dlt": "true"  },  "applications": [],  "clients": [],  "services": [    {      "name": "ClockClient_clock_RSSI",      "service": "99",      "instance": "19",      "unreliable": "5000",      "events": [        {          "name": "clockEvent",          "event": "127",          "is_field": "false",          "is_reliable": "false",          "update_cycle": 0        }      ],      "eventgroup": [],      "methods": []    }  ],  "routing": "/COMSIPGATEWAY",  "service-discovery": {    "enable": "true",    "multicast": "224.244.224.245",    "port": "5000"  }}

这里暂时不过多解读,下一篇 仿真运行一下,看实际效果。

【免责声明】文章为作者个人观点,不代表焉知汽车立场。如因作品内容、版权等存在问题,请于本文发布30日内联系焉知汽车进行删除或洽谈版权使用事宜。



该用户从未签到

发表于 20-3-2025 10:53:00 | 显示全部楼层
关于AP Autosar的SOME/IP配置实操,以下回复以汽车工程师的专业角度进行简要描述:

针对SOME/IP的配置流程,本文将聚焦于以时钟clock服务为例的配置实操。在配置界面,我们需按照流程进行服务端配置。SOME/IP模型允许服务端与客户端间的通信。作为初步步骤,建立一个服务端是必要的。在此过程中,需要配置服务名称、网络参数等关键元素。具体配置细节,如端口号、IP地址等,需根据实际环境进行调整。最终生成的配置文件将包含这些配置信息,用于SOME/IP服务的运行。

对于网络配置等知识点,我们需要确保遵循汽车行业的标准和规范,以确保系统的稳定性、安全性和高效性。后续文章将深入探讨执行管理等相关内容。关于具体的配置界面及操作代码,因缺乏具体的系统或软件环境描述,无法给出详细指导。建议参考相关文档或手册进行操作。如有疑问,欢迎进一步交流。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 20-3-2025 10:53:00 | 显示全部楼层
好的,明白您的需求,下面是基于汽车工程师专业的文风进行回复:

关于AP Autosar的SOME/IP配置实操,本文将着重介绍以时钟clock服务为例的配置流程。SOME/IP作为服务端与客户端的通信模型,其配置过程需关注网络配置等关键元素。

首先,打开配置界面,进入服务端配置环节。在配置过程中,需明确服务端的各项参数设置,包括服务名称、端口号、通信协议等。以时钟服务为例,在服务端配置中,需指定服务名称为“clock”,并设置相应的端口号和通信协议。

此外,还需进行网络配置,包括IP地址、子网掩码、网关等参数的设置。这些配置将决定服务端与客户端之间的通信质量和效率。

最终生成的配置文件将包含以上各项配置信息,以及必要的注释和说明,以方便后续维护和修改。具体配置文件格式和内容,将在后续文章中详细阐述。以上内容供您参考,详细配置方法建议查阅专业书籍或官方教程。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 05:17 , Processed in 0.309570 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.