从零开始 使用OMNET++结合VEINS,INET和SUMO的联合仿真

omnet++ 快速入门 | 计算机网络仿真 | omnet++ 入门教程 omnet 1 网络仿真软件综述 01 wsn仿真软件 看博客: wsn simulator 02 为什么使用omnet 简单易用 提供强大的GUI 有支持团队不断在更新维护 2 omnet介绍 1 omnet安装与启动 安装必须进行的步骤 下载OMNeT : 下载地址 将存档解压缩到新文件夹中。 打开mingw.cmd 键入./configure和后make (这步可能要30分钟左右) 将path/to/OMNeT/build添加path/to/OMNeT/build目录到PATH环境变量中。 阅读详情

背景知识

当我们探索未来的交通系统和智能交通解决方案时,车辆到一切(Vehicle-to-Everything, V2X)通信技术显得尤为重要。V2X是指在车辆与车辆(V2V)、车辆与基础设施(V2I)、车辆与行人(V2P)以及车辆与网络(V2N)之间进行的通信。这种技术能够提高道路安全,优化交通流量,减少拥堵,提升驾驶体验,并为自动驾驶汽车的实现打下基础。

为了准确模拟和分析V2X通信中的复杂交互,需要使用一些专用的仿真工具:

  1. OMNeT++ 是一个公开源码的网络仿真框架,提供了广泛的工具集和功能,用于构建复杂的网络和其他分布式系统。OMNeT++的灵活性和模块化使其成为研究和模拟通信网络,特别是V2X通信网络的理想选择。

  2. INET 是OMNeT++的一个扩展模型库,专注于互联网协议和网络技术的仿真。INET提供了大量的网络协议模型,如TCP/IP、路由协议等,允许研究者构建和测试各种网络架构和服务。

  3. SUMO (Simulation of Urban MObility) 是一个开源的交通仿真软件,用于模拟城市的车辆流动。通过SUMO,研究人员可以创建详细的城市交通场景,包括道路网络、交通信号灯、车辆行为等,来分析不同交通策略和管理措施的效果。

  4. VEINS 是一个允许OMNeT++和SUMO之间进行联合仿真的框架,专门用于车辆通信系统的研究。它使得OMNeT++模拟的通信网络和SUMO模拟的移动车辆能够实时交互,从而实现对V2X通信场景的全面仿真。

使用OMNeT++结合VEINS、INET和SUMO进行联合仿真,能够在复杂的城市交通环境中准确模拟V2X通信。这种仿真可以帮助研究者评估V2X技术在实际应用中的表现,如通信延迟、系统可靠性和安全性等。此外,仿真结果还可以指导政策制定者和工程师设计更有效的交通管理策略和智能交通系统,推动智能交通技术的发展,为实现无缝、安全和高效的未来交通网络提供支持。

在这篇博文中,我将尝试:

  • 搭建仿真的环境,导入VEINS和INET开源库
  • 使用INET库中提供的网络协议和功能模型来模拟通信协议和网络功能
  • 使用SUMO创建道路网络和车辆轨迹,并导出到OMNeT++中
  • 在OMNeT++中使用VEINS通过socket和SUMO连接,借助VEINS实现的TRACI接口来设置车辆相关的行为和场景
  • 在OMNET++中结合VEINS,SUMO和INET运行联合仿真实验,并分析车辆在遇到紧急情况下的通信状况和具体行为

环境搭建

OMNet++ / Veins / INET / SUMO下载

关于这四个软件的下载安装,以下两篇博文是很好的参考:

https://www.cnblogs.com/Xylona/p/17779621.html

(veins5.0+sumo1.2.0+OMNeT++5.5.1)车载自组织网络仿真环境安装配置教程(一步一步)_sumo1.3.0+veins5.2+omnet++5.5.1-CSDN博客

 我最终使用的版本:

  • OMNeT++ 5.6.2
  • Veins 5.2
  • SUMO 1.10.0
  • INET 4.2.5

环境配置

  • 修改configure.user:

在分别下载好这四个版本的软件后,进入OMNet++文件夹,打开configure.user,修改PREFER_CLANG的值为no

  • sumo环境变量配置:

共配置四条:

  • 解压&编译OMNET++:

打开OMNet++中的“mingwenv.cmd”,并按下任意键开始解压;

解压完成后分别输入“./configure”和“make”进行编译,make的时间大概要一个小时

  • 打开OMNETT++:

在“mingwenv.cmd”中输入“omnetpp”打开IDE界面

  • 导入VEINS & INET:

点击左上角File -> Import:

导入inet和veins:

注意!对于veins要勾选search for nested projects!!

  • 点击左上角Project -> Build All
  • 运行INET的示例仿真:

点击inet -> examples -> aodv ->  omnetpp.ini,然后右键Run as Omnet ++ simulation就可以看到示例仿真:

  •  运行VEINS的示例仿真:

在“mingwenv.cmd”中输入以下指令使veins连接上sumo:

C:/Users/Majiaming/Desktop/WESTERN/9038_wireless_comm/project/project_new/veins-veins-5.2/bin/veins_launchd -vv -c C:/Users/Majiaming/Desktop/WESTERN/9038_wireless_comm/project/project_new/sumo-1.10.0/bin/sumo.exe

点击左侧veins -> examples -> veins -> omnetpp.ini,然后右键Run as Omnet ++ simulation就可以看到示例仿真:

点击Run后:


现在,成功完成了环境搭建,接下来就要开始创建一个属于我的项目。

关于接下来的大体步骤,我参考了以下油管的视频,但是如果仿真软件的版本和我相差不大,建议参考我的版本,因为我按照我下载的这一套VEINS,SUMO,INET,OMNET++版本完全按照视频操作会出现一些问题,所以建议有什么不会再去参考油管的视频:

How to Create a New OMNET++ Project That Works with INET and Veins (youtube.com)

How to Simulate a V2V Network using OMNET++, INET, and Veins - YouTube

从零开始学习OMNeT++系列第一弹——OMNeT++的介绍与安装 主要用于构建网络仿真器。这里的“网络”具有更广泛的含义,包括和、片上网络、排队网络等。特定领域的功能,如对传感器网络、无线局域网络、互联网协议、性能建模、光子网络等的支持,由模型框架提供,这些框架作为独立项目开发。OMNeT++ 提供了一个基于 Eclipse 的集成开发环境、图形化运行时环境和许多其他工具。还有实时仿真、网络仿真、数据库集成、SystemC 集成等扩展功能。OMNeT++ 为模型提供了一个组件架构。,然后使用。模型的可重用性是自然而然的。 阅读详情

相关推荐

OMNeT++下载、安装及实例tictoc1-tictoc18

文章主要介绍了OMNeT++网络仿真软件的下载、安装步骤以及小白学习必看的18个例子,tictoc1---tictoc18

weixin_43797015的博客 8429

车联网仿真四件套:OMNET++、SUMO、VEINS、INET联合环境搭建实战

从智能交通与车联网通信的仿真需求出发,理解网络仿真与交通仿真融合的基本原理。OMNET++作为离散事件仿真内核,负责协议栈与无线信道建模;INET提供完整的网络协议实现;SUMO模拟真实车辆移动;VEINS借助TraCI协议实现数据双向同步,构成动态拓扑下的联合仿真闭环。该方案能评估V2X通信协议、拥塞控制算法及ADAS场景,适用于车联网技术研究。文章聚焦环境搭建的实操细节,梳理版本匹配、安装顺序与常见问题,帮助开发者快速构建可复现的OMNET++与SUMO联合仿真环境。

weixin_30768925的博客 267

MacOS Sequoia系统下,Omnet++ 6.2与veins/inet/sumo联合仿真环境一站式搭建指南

本文提供在MacOS Sequoia系统下,一站式搭建Omnet++ 6.2与veins、inet、sumo联合仿真环境的详细指南。针对Apple Silicon(M系列芯片)平台,重点解决版本兼容性、依赖安装及环境配置问题,涵盖从基础环境准备到项目集成测试的全流程,帮助用户高效构建车联网仿真开发环境。

weixin_29292431的博客 265

MacOS Sequoia下Omnet++ 6.2与veins/inet/sumo联合仿真环境全攻略

本文详细介绍了在最新macOS Sequoia系统上,从零开始搭建Omnet++ 6.2、veins 5.3.1、inet 4.5与sumo 1.21.0联合仿真环境的完整流程。针对ARM架构Mac,提供了从系统环境配置、依赖安装、编译避坑到项目创建与联调测试的全方位指南,旨在帮助车联网与智能交通仿真研究者高效构建稳定、兼容的开发环境。

weixin_29266749的博客 235

Windows 10下车联网仿真环境搭建:OMNeT++、INET、SUMO与Veins完整指南

车联网仿真依赖OMNeT++、INET、SUMO和Veins等工具链,版本兼容性直接影响仿真结果的可信度。OMNeT++作为离散事件仿真框架,通过模块化设计支持复杂网络建模;INET提供TCP/IP协议栈实现,Veins则基于TraCI接口实现与SUMO的联合仿真,支撑V2X通信与车队协同算法验证。在Windows 10环境下,合理规划安装顺序、配置环境变量、解决编译依赖,是快速跑通车联网仿真的关键。本文分享一套经典组合的实战搭建经验,帮助研究者避开常见陷阱。

weixin_29185493的博客 244

从零开始学习OMNeT++系列第二弹——新建一个OMNeT++的工程

创建一个有两个节点的网络,其中一个节点会创建一个数据包,两个节点会来回传递相同的数据包,这两个节点分别叫做 tic和toc ,接着我们会逐渐拓展这个模型,在这个过程中介绍Omnet++的特征。通过该流程的学习,我们了解到一个模型的创建包含了三类主要文件ned 、cpp和ini。ned文件构建模块和网络,可以通过图形化界面或文本输入构建cpp文件编程各个模块的具体功能ini文件确定运行那个网络或传递参数等。除了学习到创建各个文件的用途、创建方式、命名规则等。

loveCC_orange的博客 3437

全面掌握Omnet++:网络仿真基础与进阶

Omnet++是一种开放源代码的离散事件仿真框架,主要用于通信网络、多协议路由器、网络协议和其他分布式系统的模拟。它的设计目标是提供一个高度灵活、可扩展的仿真环境,以便研究者和开发者可以在其上构建自定义的仿真模型。Ned语言是用于描述网络仿真模型的专用语言,它支持复杂网络的模块化定义,并与C++代码相结合实现高级仿真。学习Ned语言是进行Omnet++仿真的基础。在Ned中,网络结构是通过模块和连接定义的。一个模块可以包含其他模块作为子模块,并可以定义到模块之间如何连接。

weixin_42405592的博客 2020

Omnet++网络仿真编程实战教程

本文还有配套的精品资源,点击获取 简介:Omnet++是一个开源的网络和分布式系统仿真器,具有强大的模块化和组件化编程环境。Inet框架用于实现TCP/IP协议栈的各种网络协议。本教程通过分析和使用Omnet++和Inet框架中的源代码,指导用户构建复杂的网络模型,并深入了解网络各层的工作原理。教程包括物理层、数据链路层、网络层、传输层以及会话层、表示层和应用层的网络协议实...

weixin_29903713的博客 4046

用Coze平台30分钟打造《花光10亿》小游戏:零代码AI开发实战

本文详细介绍了如何利用字节跳动推出的Coze平台,在30分钟内零代码开发一款名为《花光10亿》的AI小游戏。通过配置提示词、集成图像生成插件、构建自动化工作流以及使用数据库功能,即使没有编程基础的用户也能快速将创意转化为可交互的智能应用,体验AI开发的便捷与高效。

weixin_29313547的博客 198

告别‘Duang’的一声:手把手解决RK3588开发板PCIe初始化卡死问题(DTS修改实战)

本文详细介绍了解决RK3588开发板PCIe初始化卡死问题的完整过程,包括问题诊断、DTS文件修改及编译烧写步骤。通过禁用未使用的PCIe硬件资源,有效解决了启动卡死问题,为嵌入式开发者提供了实用的调试方法和经验总结。

weixin_30753873的博客 210

[XJTUSE DATABASE]——第三章 关系数据库标准语言SQL

新年了,来个大的,写了好几天,将近9000字,希望对大家有所帮助

weixin_47692652的博客 3113

【WorkBuddy专栏52】Codex与WorkBuddy生态适配、用户争夺与未来走向(下)

【WorkBuddy专栏52】Codex与WorkBuddy在中国大陆的发展——生态适配、用户争夺与未来走向(下)

AI人人懂 650

osgearth添加经纬度网格,并显示鼠标所指经纬高度信息

一、代码 osgearth官方例子 #include <osg/Notify> #include <osgGA/StateSetManipulator> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgEarth/MapNode> #include <osgEarthUtil/EarthManipulator> #

ljjjjjjjjjjj的博客 3560

YOLO26改进策略【Neck】| 关键点检测:SDFM 表层细节融合模块,利用通道-空间注意力机制,实现深层与浅层特征融合,抑制噪声干扰

本文记录的是利用SDFM 模块改进 YOLO26 的颈部融合部分,专门用于关键点检测。SDFM模块(Surface Detail Fusion Module,表层细节融合模块) 通过在特征提取网络的浅层引入通道-空间注意力机制,动态生成深层与浅层特征融合权重。该模块可自适应保留不同模态中的独特信息,抑制背景噪声与光照干扰,实现低层细节的精准对齐与互补增强,为后续检测提供高保真度的底层特征表示,从而提升模型在复杂场景下的目标检测鲁棒性与定位准确性。Rethinking the necessity of ima

Limiiiing的博客 170

STM32CubeIDE开发环境搭建与GPIO控制实战

嵌入式开发中,MCU开发环境构建是软硬件协同的起点,其核心在于工具链选型、外设抽象层级与调试可靠性。HAL库作为ST官方标准硬件抽象层,通过统一接口屏蔽芯片差异,显著提升工程可移植性;而STM32CubeIDE则以图形化配置+自动生成代码的方式,实现‘配置即代码’的确定性开发范式。该组合在教学验证、原型迭代和中小规模量产中具备高性价比技术价值,广泛应用于智能传感、工业HMI及IoT终端等场景。本文聚焦STM32CubeIDE 1.15.0环境部署、MyST账户与固件包管理、ST-LINK驱动校验,以及基于H

weixin_33531560的博客 77

【Agent实战】Agent Skills 深度解析:从原理到落地的完整指南

本文深入解析了Agent Skills的概念及其在AI协作中的实际应用。Skill是一种可被AI按需发现和加载的任务执行说明书,它将团队经验、规则和步骤固化为结构化文档,如SKILL.md。文章阐明了Skill与Prompt、MCP、Function Calling的关系,强调Skill专注于"怎么做"而非底层能力。重点介绍了SKILL.md的编写规范,包括元数据命名规则、描述技巧和正文内容优化,旨在帮助开发者高效构建可复用的知识资产,提升Agent的任务执行稳定性与专业性。通过清晰的示例和对比,为AI架构

少说,多做 113

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 基于树莓派实现 --- 智能家居
下一篇: 在树莓派中安装alloma
mjmmm
博客等级 码龄8年 356粉丝 135原创
评论 21
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值