【vsomeip】vsomeip安装与入门案例

news2024/11/25 7:23:12

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍vsomeip的使用。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习知识,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • :smirk:1. vsomeip介绍
    • :blush:2. vsomeip安装
      • 安装依赖
      • 安装google benchmark基准测试工具
      • 编译安装vsomeip
    • :satisfied:3. vsomeip入门案例

😏1. vsomeip介绍

VSOMEIP (Vehicle Service Oriented Architecture Message Exchange Protocol) 是一种基于 IP 网络的现代化汽车通信协议。它被设计用于在汽车中实现各种服务的高效通信,例如远程诊断、软件更新、车辆故障检测等。

VSOMEIP 不仅适用于汽车内部的通信,而且还可以让车辆与外部系统进行安全稳定的双向通信,如车载娱乐系统、智能交通系统等。它采用了现代化的网络技术和开放式架构,使得多个系统可以轻松地集成和交互,从而实现更高效的车辆连接和数据共享。

VSOMEIP 还提供了灵活的配置选项和可扩展性功能,使得开发人员可以根据需要快速构建自定义的汽车应用程序和服务。同时也支持多种编程语言,如 C ++、Java 和 Python 等,方便不同类型的开发人员使用。

😊2. vsomeip安装

github地址:https://github.com/COVESA/vsomeip

安装依赖

sudo apt-get install libboost-system-dev libboost-thread-dev libboost-log-dev
sudo apt-get install asciidoc source-highlight doxygen graphviz

安装google benchmark基准测试工具

安装完benchmark后,gtest会自动安装。

git clone https://github.com/google/benchmark.git
cd benchmark
cmake -E make_directory "build"
cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../
cmake --build "build" --config Release
cmake -E chdir "build" ctest --build-config Release  #进行安装测试
sudo cmake --build "build" --config Release --target install  #在全局安装google benchmark

安装完成如下:

在这里插入图片描述

编译安装vsomeip

mkdir build
cd build
cmake ..
make
sudo make instal
sudo ldconfig

安装完成如下:

在这里插入图片描述

😆3. vsomeip入门案例

进入vsomeip/examples/hello_world,编译安装:

mkdir build && cd build
cmake ..
make

创建server.sh

#!/bin/bash

env VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_service \
./hello_world_service

创建client.sh

#!/bin/bash

env VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_client \
./hello_world_client

分别运行两个脚本即可,运行如下:

在这里插入图片描述

参考链接:

https://zhuanlan.zhihu.com/p/405534988
https://zhuanlan.zhihu.com/p/545016054
http://t.csdn.cn/YKezX
http://t.csdn.cn/K1Khw
http://t.csdn.cn/HoGm2

在这里插入图片描述

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/566529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

luatOS网站 lua语言学习 练习题

lua 教程跳转链接&#xff0c;练习题都来自这里 逻辑运算 检验大小&#xff08;自测题&#xff09; 题目&#xff1a;如果已知number变量n&#xff0c;那么如果需要判断n是否符合下面的条件&#xff1a; 3<n≤10 以下四行判断代码&#xff0c;正确的是&#xff1f; &a…

【C++】运算符重载(日期类的实现)

【C】运算符重载&#xff08;日期类的实现&#xff09; 前言运算符重载operator全局和类中 日期类的实现成员变量的确定构造函数拷贝构造 运算符重载部分的重载思路实现GETmonthdayoperator 的重载思路实现 -的与-的重载实现 各个比较运算符的重载实现 前置与后置实现 &#xf…

接口自动化【六】——接口关联之jsonpath提取+设置全局变量+通用封装

文章目录 前言一、jsonpath提取二、jsonpath与excel当中提取表达式结合三、类的动态属性设置四、设置全局变量&#xff08;这个模块就作为一个讲解&#xff09;五、new_handle_global_data.py六、new_handle_extract.py七、test_new_upload_image.py 文件中上传图片的代码更改八…

mybatis 在当前项目中的实际应用及自定义分页的实现

mybatis 在当前项目中的实际应用及自定义分页的实现 项目中分页代码的解耦 实现目标 实现目标&#xff0c;使用spring 提供的分页相关的类&#xff0c;避免代码中直接使用PageHelper 具体实现 创建自定义PageHelper&#xff0c;并使用spring-data-common提供的具体实现类操…

OTA升级技术概览

随着物联网技术的不断发展&#xff0c;越来越多的设备和系统需要进行远程升级以保持其安全性和功能性。OTA&#xff08;Over-the-Air&#xff09;升级技术是一种通过无线网络远程升级固件或软件的方法&#xff0c;已经成为现代工业、智能家居、汽车等领域中广泛应用的技术。本文…

欧拉公式——最令人着迷的公式之一

欧拉公式是数学里最令人着迷的公式之一&#xff0c;它将数学里最重要的几个常数联系到了一起&#xff1a;两个超越数&#xff1a;自然对数的底e&#xff0c;圆周率π&#xff1b;两个单位&#xff1a;虚数单位i和自然数的单位1&#xff0c;以及数学里常见的0。 ​而且它对数学领…

generate 和 summary 配合——解析 bingchat 逻辑

generate 和 summary 配合——解析 bingchat 逻辑 new bing 微软作为 openai 公司背后的大股东&#xff0c;多年投入一朝开花结果&#xff0c;当然要把 ChatGPT 技术融入到自己的核心产品中&#xff0c;提升整体生产力。微软的第一个措施&#xff0c;就是在必应搜索引擎 bing…

chatgpt赋能Python-python_span_抓取

介绍 随着互联网的不断发展&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已成为所有网站主人必须面对的问题。在SEO中&#xff0c;抓取是一个非常重要的环节&#xff0c;也是一个关键性的步骤&#xff0c;它直接影响到网站的排名。 在Python编程中&#xff0c;有很多…

Mac上安装多个版本的MySQL

文章目录 准备工作先确定自己机器是多少位的下载包 具体步骤1. 先安装低版本的MySQL2. 清理完后&#xff0c;再安装高版本的MySQL3. 将低版本的文件夹移回 /usr/local4. 切换版本5. 验证 扩展清理命令其他信息 准备工作 先确定自己机器是多少位的 uname -a输出X86_64&#xf…

【Error】Python3.7 No module named ‘_sqlite3‘ 解决方案

场景&#xff1a;docker容器运行keybert时出现错误 No module named ‘_sqlite3‘&#xff0c;是容器环境没有sqlite的库&#xff0c;如下图所示&#xff1a; 本机是能够正常导入sqlite3的&#xff0c;虚拟环境conda下也有该库。 python3.8版本的不可用于python3.7中&#xff0…

【LeetCode】169. 多数元素

169. 多数元素&#xff08;简单&#xff09; 方法一&#xff1a;sort排序&#xff0c;时间复杂度为O(nlogn) 思路 我自己的写法用了最简单的方法&#xff0c;首先使用 sort() 对数组元素按照从小到大进行排序&#xff0c;然后依次遍历每个元素&#xff0c;如果该元素的出现次…

CompletableFuture 异步编排如何使用?

概述&#xff1a; 在做提交订单功能时&#xff0c;我们需要处理的事务很多&#xff0c;如&#xff1a;修改库存、计算优惠促销信息、会员积分加减、线上支付、金额计算、生成产品订单、生成财务信息、删除购物车等等。如果这些功能全部串行化处理&#xff0c;会发费很长的时间…

【盘点】界面控件DevExpress WPF的几大应用程序主题

DevExpress WPF控件包含了50个应用程序主题和40个调色板&#xff0c;用户可以在发布应用程序是指定主题&#xff0c;或允许最终用户动态修改WPF应用程序的外观和样式&#xff0c;其中主题带有调色板&#xff0c;可以进一步个性化您的UI&#xff01; PS&#xff1a;DevExpress …

oracle WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK问题分析

服务概述 财务系统出现业务卡顿&#xff0c;数据库实例2遇到>>> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! <<<错误导致业务HANG住。 对此HANG的原因进行分析&#xff1a; 故障发生时&#xff0c;未有主机监控数据&#xff0c;从可以获取的数据库A…

c++ 11标准模板(STL) std::map(三)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

使用Linkage Mapper工进行物种分布建模的步骤详解(含实际案例分析)

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Linkage Mapper解密数字世界链接 文章目录 引言:一、介绍二、数据准备2.1 物种分布数据获取2.2 环境变量数据获取2.3 数据预处理

【拼多多API 开发系列】百亿补贴商品详情接口,代码封装

为了进行电商平台 PDD 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个 PDD 应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载 PDD API的SDK并掌握基本的API基础知识和调用 4&#xff09;利用SD…

CSS布局:浮动与绝对定位的异同点

CSS布局&#xff1a;浮动与绝对定位的异同点_cherry_vincent的博客-CSDN博客 浮动 ( float ) 和绝对定位 ( position:absolute ) 相同点&#xff1a; &#xff08;1&#xff09;都是漂起来( 离开原来的位置 ) &#xff08;2&#xff09;并且都不占着原来的位置 &#xff08;3…

Flutter 笔记 | Flutter 布局组件

布局类组件都会包含一个或多个子组件&#xff0c;布局类组件都是直接或间接继承SingleChildRenderObjectWidget 和MultiChildRenderObjectWidget的Widget&#xff0c;它们一般都会有一个child或children属性用于接收子 Widget。 不同的布局类组件对子组件排列&#xff08;layo…

企业级WordPress开发 – 创建企业级网站的优秀提示

目录 “企业级”是什么意思&#xff1f; 使用WordPress创建企业级网站有什么好处&#xff1f; 使用 WordPress 进行企业开发的主要好处 WordPress 可扩展、灵活且价格合理 WordPress 提供响应式 Web 开发 WordPress 提供了巨大的可扩展性 不断更新使 WordPress 万无一…