CN111818138B - 面向智能车的车云实时数据通信方法 - Google Patents
面向智能车的车云实时数据通信方法 Download PDFInfo
- Publication number
- CN111818138B CN111818138B CN202010596476.1A CN202010596476A CN111818138B CN 111818138 B CN111818138 B CN 111818138B CN 202010596476 A CN202010596476 A CN 202010596476A CN 111818138 B CN111818138 B CN 111818138B
- Authority
- CN
- China
- Prior art keywords
- data
- mqtt
- intelligent vehicle
- vehicle
- flash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种面向智能车的车云实时数据通信方法,在智能车的云端服务器搭建MQTT控制总台与服务端,将智能车主***进行控制模块划分,设置MQTT客户端为其中一个控制模块,MQTT客户端所对应的ROS节点订阅所有其他ROS节点的智能车驾驶数据,对接收到的数据处理后进行融合,发送至云端的MQTT服务端,在云端服务器搭建Flask监控界面框架,并融合MQTT服务端,通过多线程的方式对智能车上传的数据进行处理并送到Flask前端页面进行显示。本发明结合MQTT协议和Flask,提高车云通信的实时性和安全性。
Description
技术领域
本发明属于智能车技术领域,更为具体地讲,涉及一种面向智能车的车云实时数据通信方法。
背景技术
在目前的自动驾驶领域,随着研究的深入与自动驾驶级别的提升,智能车需要处理的场景也越来越复杂,而车端的计算力毕竟有限,因此构建车云***是自动驾驶领域一项重要部署。利用车云协同技术,可以更好地优化车端计算资源的分配,有效降低车端成本,使车载计算量减少,有利于车端嵌入式AI硬件产品的研发,以满足车规级部件的需求。
公开号为CN108777702A的专利介绍了一种基于车载云的网络数据通信方法,网络包括接入节点和车辆节点,每个接入节点的地理坐标具有唯一性;一个接入节点和两个以上的车辆节点构成一个域,所述车辆节点在所有的接入节点中距离自己所在域的接入节点距离最近。此方法只是考虑本车周围临近的数据,覆盖面比较窄。
公开号为CN107284471A的专利介绍了一种基于车车通信的CBTC***,所述CBTC***包括:智能列车监控ITS***、对象控制器OC、列车管理平台 TMC、数据通信***DCS以及设置于各列车上的智能车载控制器IVOC。此方法虽然考虑到了云端***和监控界面,但是消息传输机制过于复杂和冗余,不利于后期的数据分析。
以上现有的车云通信***构建方法局限于车辆与车辆之间,仅仅从车辆自身出发考虑驾驶时的各种状况,已有的很多方案对于信息的传输和处理比较冗余,但是智能车在行驶时需要快速实时的信息交互,对信息传输的方式和效率要求比较高。
发明内容
本发明的目的在于克服现有技术的不足,提供一种面向智能车的车云实时数据通信方法,结合MQTT协议和Flask,提高车云通信的实时性和安全性。
为了实现上述发明目的,本发明面向智能车的车云实时数据通信方法包括以下步骤:
S1:在智能车的云端服务器搭建MQTT控制总台与服务端,同时搭建包括网页前台和后台的Flask监控模块,;
S2:将智能车主***进行控制模块划分,设置MQTT客户端为其中一个控制模块,然后为每个控制模块定义数据传输格式与类别,打包成ROS节点;
S3:智能车主***中的MQTT客户端所对应的ROS节点订阅所有其他ROS 节点的智能车驾驶数据,对接收到的数据处理后进行融合,得到融合数据的 MQTT数据包,然后发送至云端服务器的MQTT服务端;
S4:云端服务器的MQTT服务端在接收到融合数据后,将每种智能车驾驶数据的类型与其MQTT数据包固定头中的位置长度做变量映射,将完整的变量映射存入MQTT数据包固定头的可扩展字节中,然后将处理后的MQTT数据包发送至Flask监控模块;Flask监控模块通过多线程的方式对MQTT数据包进行处理并送到Flask监控模块的网页前台进行显示。
本发明面向智能车的车云实时数据通信方法,在智能车的云端服务器搭建 MQTT控制总台与服务端,将智能车主***进行控制模块划分,设置MQTT客户端为其中一个控制模块,MQTT客户端所对应的ROS节点订阅所有其他ROS 节点的智能车驾驶数据,对接收到的数据处理后进行融合,发送至云端的MQTT 服务端,在云端服务器搭建Flask监控界面框架,并融合MQTT服务端,通过多线程的方式对智能车上传的数据进行处理并送到Flask前端页面进行显示。
本发明具有以下有益效果:
1)本发明通过MQTT客户端对应的ROS节点将智能车中不同类别的数据打包进行传输,提高了传输的效率,降低了传输格式的复杂度,;
2)在云端服务器对MQTT和Flask进行融合,保证了信息的安全性和实时性,可以将数据实时上传到监控界面进行显示,并且同时利用MySQL数据库进行存储。
附图说明
图1是本发明面向智能车的车云实时数据通信方法的具体实施方式流程图;
图2是传统MQTT数据包格式示意图;
图3是本发明改进后的MQTT数据包格式示意图;
图4是本实施例中Flask监控模块网页前台示例图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明面向智能车的车云实时数据通信方法的具体实施方式流程图。如图1所示,本发明面向智能车的车云实时数据通信方法的具体步骤包括:
S101:云端设置:
在智能车的云端服务器搭建MQTT(Message Queuing Telemetry TransportProtocol,消息队列遥测传输)控制总台与服务端,同时搭建Flask监控模块。
控制总台是MQTT服务***中自带的核心结构,负责监控所有基于MQTT 消息协议进行传递的消息,通过控制总台提供的可视化界面,可以对目前正在参与通信的用户及其信息等参数,以供管理员对整个信息流进行把控。
为了突破局域网的限制,可以基于云端服务器所在网段进行路由器端口映射,使云端服务器开放到公网。
S102:智能车主***设置:
将智能车主***进行控制模块划分,一般根据功能进行划分,例如数据采集控制模块、行驶控制模块、车辆定位模块、地图模块等。本发明中为了实现车云实时通信,需要设置MQTT客户端为其中一个控制模块,然后为每个控制模块定义数据传输格式与类别,打包成ROS(Robot Operating System,机器人操作***)节点。也就是说,本发明中的智能车主***是由多个ROS节点组合而成的,每个ROS节点包含其自身的输入和输出。
S103:智能车上传数据:
智能车主***中的MQTT客户端所对应的ROS节点订阅所有其他ROS节点的智能车驾驶数据,对接收到的数据处理后进行融合,得到融合数据的MQTT 数据包,然后发送至云端的MQTT服务端。其中数据处理包括根据预设的规则进行消息精简以及二次处理,包括打上帧数ID、时间戳和类型名称,最后合并成一个Topic进行信道传输。
S104:云端数据处理与显示:
本发明在云端服务器设置了Flask监控模块和MQTT服务端,需要对二者进行融合,本发明通过修改MQTT的消息格式来实现,以提高数据传输的速率。图2是传统MQTT数据包格式示意图。如图2所示,在传统的MQTT数据包中,固定头存在于所有数据包中,固定头长度比较短,主要表示数据包和数据的相关属性,其中包括MQTT数据包类型、数据类型标识和可扩展字节三部分,可扩展字节是一个小型的数据空间,一般用来保存可变头的消息体的总大小,也可以用来保存少量的其它信息。MQTT数据包第二部分是一个可变头,它驻位于固定的头和负载之间。可变头的内容因数据包类型而不同,较常的应用是作为包的标识。MQTT数据包的第三部分是Payload(有效载荷)消息体,消息体的空间很大,主要包含客户端和用户的信息、订阅的主题以及主体的消息内容。
图3是本发明改进后的MQTT数据包格式示意图。如图3所示,为了提高 Flask解析MQTT消息的速度,本发明对扩展字节进行了改良。由于扩展字节空间有限,借鉴哈希表的思想,本发明将每种智能车驾驶数据的类型与其MQTT 数据固定头中的位置长度做变量映射,将完整的变量映射存入MQTT数据固定头的可扩展字节。采用这各种方式,缩短了有效读取长度,那么在Flask监控模块从MQTT服务端读取数据包时,只需解析到可扩展字节,然后直接根据变量映射表去MQTT数据包头的指定位置进行读取,从而大大减少了Flask读取 MQTT数据包所需要的时间。
根据以上描述可知,云端服务器的MQTT服务端在接收到融合数据后,将每种智能车驾驶数据的类型与其MQTT数据包固定头中的位置长度做变量映射,将完整的变量映射存入MQTT数据包固定头的可扩展字节中,然后将处理后的MQTT数据包发送至Flask监控模块;Flask监控模块通过多线程的方式对 MQTT数据包进行处理并送到Flask监控模块的网页前台进行显示。
本发明采用三个不同的线程实现了不同的功能,分别是数据解析、数据显示、数据库操作,下面分别对这三个线程进行详细说明。
数据解析线程从MQTT服务端读取数据包并进行解析,首先对固定包头进行解析,从可扩展字节中提取数据,然后根据变量映射表去MQTT数据包头的指定位置读取相应数据。在智能车上传数据时,会对数据进行融合,那么Flask 监控模块收到的数据为多种类型数据混合在一起的融合数据,数据解析线程需要依据数据类型将融合数据进行拆分,得到不同类型的智能车驾驶数据,并将其返回给其它两个线程。
数据显示线程接收解析之后得到的不同类型的智能车驾驶数据,根据预先的设置从中筛选出需要在Flask监控模块网页前台进行显示的数据,通过Flask 后台传送到Flask网页前台进行显示,对智能车的驾驶状态进行实时跟踪。Flask 网页前台还可以通过开源地图OpenStreetMap对智能车的位置进行实时的跟踪。
数据库操作线程接收解析之后得到的不同类型的智能车驾驶数据,依据类型将驾驶数据存入MySQL数据库的对应数据表中。在实际应用中,还可以加入人工增加、删除、修改的功能,以供后期数据的再利用、人工数据校正。
多线程可以对同一个数据实现不同的功能或者应用,为了保证多个线程操作同一数据时不会发生冲突,提高了数据传输和操作的效率,通常会采用线程锁。线程锁是多线程操作中一种常用的机制,其具体方法在此不再赘述。采用线程锁也可以对数据加以保护,提高了数据的安全性。
图4是本实施例中Flask监控模块网页前台示例图。如图4所示,采用本发明搭建的车云实时监控***,可以对智能车的驾驶状态进行实时的监控,压缩了信息传输的复杂度,提高了信息传输的效率,同时可以很方便地对车辆行驶状态进行实时的监控,并对车辆驾驶数据进行分类存储。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种面向智能车的车云实时数据通信方法,其特征在于,包括以下步骤:
S1:在智能车的云端服务器搭建MQTT控制总台与服务端,同时搭建包括网页前台和后台的Flask监控模块;
S2:将智能车主***进行控制模块划分,设置MQTT客户端为其中一个控制模块,然后为每个控制模块定义数据传输格式与类别,打包成ROS节点;
S3:智能车主***中的MQTT客户端所对应的ROS节点订阅所有其他ROS节点的智能车驾驶数据,对接收到的数据处理后进行融合,得到融合数据的MQTT数据包,然后发送至云端服务器的MQTT服务端;
S4:云端服务器的MQTT服务端在接收到融合数据后,将每种智能车驾驶数据的类型与其MQTT数据包固定头中的位置长度做变量映射,将将完整的变量映射存入MQTT数据包固定头的可扩展字节中,然后将处理后的MQTT数据包发送至Flask监控模块;Flask监控模块通过多线程的方式对MQTT数据包进行处理并送到Flask监控模块的网页前台进行显示;多线程包括数据解析、数据显示、数据库操作三个线程,其中:
数据解析线程从MQTT服务端读取数据包并进行解析,首先解析到可扩展字节,然后根据变量映射表去MQTT数据包头的指定位置读取相应数据,依据数据类型将融合数据进行拆分,得到不同类型的智能车驾驶数据,并将其返回给其它两个线程;
数据显示线程接收解析之后得到的不同类型的智能车驾驶数据,根据预先的设置从中筛选出需要在Flask监控模块网页前台进行显示的数据,通过Flask后台传送到Flask网页前台进行显示,对智能车的驾驶状态进行实时跟踪;
数据库操作线程接收解析之后得到的不同类型的智能车驾驶数据,依据类型将智能车驾驶数据存入MySQL数据库的对应数据表中。
2.根据权利要求1所述的车云实时数据通信方法,其特征在于,所述步骤S1还包括基于云端服务器所在网段进行路由器端口映射,使云端服务器开放到公网。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010596476.1A CN111818138B (zh) | 2020-06-28 | 2020-06-28 | 面向智能车的车云实时数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010596476.1A CN111818138B (zh) | 2020-06-28 | 2020-06-28 | 面向智能车的车云实时数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111818138A CN111818138A (zh) | 2020-10-23 |
CN111818138B true CN111818138B (zh) | 2021-07-13 |
Family
ID=72856434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010596476.1A Active CN111818138B (zh) | 2020-06-28 | 2020-06-28 | 面向智能车的车云实时数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111818138B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492094B (zh) * | 2020-12-01 | 2021-10-26 | 宁波波导易联电子有限公司 | 一种远程驾驶方法 |
CN112799396A (zh) * | 2020-12-25 | 2021-05-14 | 深圳市优必选科技股份有限公司 | Slam控制方法、机器人、服务器、终端及存储介质 |
CN112884944B (zh) * | 2021-04-28 | 2021-07-06 | 奥特酷智能科技(南京)有限公司 | 基于Telemetry技术实现车载传感器快速诊断方法及*** |
CN113178024A (zh) * | 2021-05-11 | 2021-07-27 | 南京信易达计算技术有限公司 | 基于人工智能的融合型车载智能存储***及方法 |
CN114070829B (zh) * | 2021-10-22 | 2024-01-09 | 南通软云智能科技有限公司 | 一种基于mqtt的异常数据采集方法及*** |
CN114900654B (zh) * | 2022-04-02 | 2024-01-30 | 北京斯年智驾科技有限公司 | 自动驾驶车辆实时监控视频传输*** |
CN114793250B (zh) * | 2022-04-28 | 2023-07-04 | 重庆长安汽车股份有限公司 | 一种可配置化的can数据解析方法 |
CN116582462B (zh) * | 2023-07-14 | 2023-09-22 | 浪潮通信信息***有限公司 | 融合业务监控方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107154972A (zh) * | 2017-04-27 | 2017-09-12 | 上海斐讯数据通信技术有限公司 | 一种基于设备快照的物联网智能设备状态同步方法及*** |
CN109094609A (zh) * | 2018-08-23 | 2018-12-28 | 天津市北海通信技术有限公司 | 基于云服务的列车状态智能监控方法及*** |
CN110099313A (zh) * | 2019-05-09 | 2019-08-06 | 山东莱钢永锋钢铁有限公司 | 一种实现低延迟工业实时数据采集***和方法 |
CN110768882A (zh) * | 2019-11-07 | 2020-02-07 | 青岛合启立智能科技有限公司 | 一种数据监控方法、***、监听设备及车辆 |
CN110855774A (zh) * | 2019-11-11 | 2020-02-28 | 卡乐电子(苏州)有限责任公司 | 基于mqtt协议的自动配置的物联网*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580468B (zh) * | 2015-01-12 | 2019-02-26 | 重庆嗨驾科技有限公司 | 带智能管理***的车辆 |
CN105788280A (zh) * | 2016-03-29 | 2016-07-20 | 安徽中凯信息产业有限公司 | 一种基于车联网的智慧城市车辆自动追踪*** |
US10568524B2 (en) * | 2016-08-25 | 2020-02-25 | Intel Corporation | Compliance checker for service agreement |
CN108600346A (zh) * | 2018-04-10 | 2018-09-28 | 常州信息职业技术学院 | 基于云端的智能小车控制*** |
CN109756550B (zh) * | 2018-06-01 | 2021-12-21 | 启迪云控(北京)科技有限公司 | 一种智能网联驾驶车云通信方法、装置以及*** |
CN109618136B (zh) * | 2018-12-14 | 2022-01-18 | 北京汽车集团有限公司 | 车辆管理***和方法 |
CN109688224A (zh) * | 2018-12-28 | 2019-04-26 | 国汽(北京)智能网联汽车研究院有限公司 | 一种智能网联汽车云控平台架构 |
CN109714421B (zh) * | 2018-12-28 | 2021-08-03 | 国汽(北京)智能网联汽车研究院有限公司 | 基于车路协同的智能网联汽车运行*** |
CN109714730B (zh) * | 2019-02-01 | 2021-03-19 | 清华大学 | 用于车车及车路协同的云控平台***及协同***和方法 |
CN110519382A (zh) * | 2019-08-30 | 2019-11-29 | 成都康普斯北斗科技有限公司 | 一种汽车智能监控*** |
-
2020
- 2020-06-28 CN CN202010596476.1A patent/CN111818138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107154972A (zh) * | 2017-04-27 | 2017-09-12 | 上海斐讯数据通信技术有限公司 | 一种基于设备快照的物联网智能设备状态同步方法及*** |
CN109094609A (zh) * | 2018-08-23 | 2018-12-28 | 天津市北海通信技术有限公司 | 基于云服务的列车状态智能监控方法及*** |
CN110099313A (zh) * | 2019-05-09 | 2019-08-06 | 山东莱钢永锋钢铁有限公司 | 一种实现低延迟工业实时数据采集***和方法 |
CN110768882A (zh) * | 2019-11-07 | 2020-02-07 | 青岛合启立智能科技有限公司 | 一种数据监控方法、***、监听设备及车辆 |
CN110855774A (zh) * | 2019-11-11 | 2020-02-28 | 卡乐电子(苏州)有限责任公司 | 基于mqtt协议的自动配置的物联网*** |
Also Published As
Publication number | Publication date |
---|---|
CN111818138A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818138B (zh) | 面向智能车的车云实时数据通信方法 | |
EP4017207B1 (en) | Method and apparatus for performing sidelink communication by ue in nr v2x | |
DE112019005933T5 (de) | Verfahren zum senden/empfangen von pdb-bezogenen signalen in einem drahtlosen kommunikationssystem und vorrichtung dafür | |
DE112009001028B4 (de) | Verfahren zur Bordkommunikation, Bordkommunikationsvorrichtung und Kooperatives Strasse-Fahrzeug/Auto-Auto Kommunikationssystem | |
DE69434896T2 (de) | Zugriffsverfahren auf ein drahtloses lokales ad-hoc Netzwerk über ein zellulares Weitbereichnetzwerk mit Koppelung des LAN-MAC-Paketkopfes. | |
EP4057257A1 (en) | Remote control method and apparatus, and vehicle | |
DE112019003526T5 (de) | Verfahren zum Senden und Empfangen von Uplink-Daten unter Verwendung von PUR in einem Drahtloskommunikationssystem und Vorrichtung dafür | |
WO2020150872A1 (en) | Ethernet and controller area network protocol interconversion for in-vehicle networks | |
DE112019003463T5 (de) | Verfahren, mit dem ein Endgerät Daten im unlizenzierten Band überträgt, und Gerät, das dieses Verfahren verwendet | |
US20200146100A1 (en) | Method and apparatus for restricting to receive a system information in a wireless communication system | |
EP3893530B1 (en) | Communication method and communication device | |
DE112019004117T5 (de) | Verfahren und vorrichtung für zufallszugriffsverfahren mit einer bestätigung in einem drahtlosen kommunikationssystem | |
US20220240225A1 (en) | Method and apparatus for direct link management in wireless communication system | |
US11968696B2 (en) | Resource handling for NR V2X based on split of CU-DU | |
DE102016215084A1 (de) | Betriebsverfahren von Kommunikationsknoten im Netzwerk | |
CN112511586A (zh) | 一种基于云边协同的高速铁路智能行车调度安全卡控*** | |
DE112019003430T5 (de) | Verfahren und Vorrichtung zum Senden und Empfangen von Signalen in einem drahtlosen Kommunikationssystem | |
DE112019003329T5 (de) | Verfahren zum senden und empfangen von signalen in einem drahtlosen kommunikationssystem zur unterstützung eines unlizensierten bandes, und gerät zur unterstützung desselben | |
CN114884998B (zh) | 一种协作式软件定义车载网络***、调度方法及cacc | |
CN111246430A (zh) | 面向铁路智能客运车站的网络平台及其构建方法 | |
US20230042730A1 (en) | Method and apparatus for transmission prioritization in wireless communication system | |
DE112019003557T5 (de) | Verfahren und vorrichtung zum senden/empfangen von signalen im drahtlosen kommunikationssystem | |
EP3439253B1 (de) | Verfahren zur medienzugriffssteuerung und taktisches luftverteidigungssystem | |
Ding et al. | Edge-to-cloud intelligent vehicle-infrastructure based on 5G time-sensitive network integration | |
CN113949417B (zh) | 一种基于混合通信的电网数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |