0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MQTT協(xié)議的車云通信設(shè)計(jì)

經(jīng)緯恒潤(rùn)研發(fā)服務(wù) ? 來源:經(jīng)緯恒潤(rùn)研發(fā)服務(wù) ? 2025-01-08 10:24 ? 次閱讀

隨著智能汽車的發(fā)展,車云通信的功能場(chǎng)景及數(shù)據(jù)量也逐漸增多,具有輕量化、可靠性等特點(diǎn)的MQTT協(xié)議成為很多OEM車云通信協(xié)議的選擇。本文主要介紹。

什么是MQTT?

MQTT(Message Queuing Telemetry Transport)是由OASIS發(fā)布的應(yīng)用層協(xié)議,采用訂閱/發(fā)布的通信模式,下層基于TCP/IP進(jìn)行傳輸。該標(biāo)準(zhǔn)在工業(yè)物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域有廣泛應(yīng)用。

MQTT主要有以下特點(diǎn):

發(fā)布/訂閱模式:實(shí)現(xiàn)Client之間的解耦

輕量:非常小的通信開銷,最小的消息大小為2字節(jié)

可靠:基于TCP可靠通信,并可以提供三種消息發(fā)布服務(wù)質(zhì)量等級(jí)QoS,以適應(yīng)不穩(wěn)定網(wǎng)絡(luò)的傳輸需求

開源:存在較多開源代碼工程,支持各種流行編程語言,成熟度高

MQTT在通信過程中包括兩種角色Client和Broker:

Client:MQTT客戶端,交互應(yīng)用數(shù)據(jù)的節(jié)點(diǎn),發(fā)布數(shù)據(jù)的角色為Publisher,接收數(shù)據(jù)的角色為Subscriber

Broker:MQTT服務(wù)器,中轉(zhuǎn)通信數(shù)據(jù),將從Publisher收到的應(yīng)用數(shù)據(jù)轉(zhuǎn)發(fā)給Subscriber

MQTT的通信過程:Subscriber向Broker以Topic的形式訂閱數(shù)據(jù),Publisher以Topic的形式向Broker發(fā)布應(yīng)用數(shù)據(jù),Broker接收Publisher發(fā)送的Topic后,再發(fā)送給已訂閱相關(guān)Topic的Subscriber,如此實(shí)現(xiàn)Publisher和Subscriber的通信過程。

59868042-ccd6-11ef-9310-92fbcf53809c.jpg

圖1 MQTT通信示意圖

MQTT系統(tǒng)設(shè)計(jì)

MQTT協(xié)議在車載通信領(lǐng)域的典型應(yīng)用場(chǎng)景是車云通信,因此本文以車內(nèi)節(jié)點(diǎn)與云端的通信場(chǎng)景為示例,介紹MQTT系統(tǒng)設(shè)計(jì)的主要流程和方法。

59ac4098-ccd6-11ef-9310-92fbcf53809c.jpg

圖2 MQTT系統(tǒng)設(shè)計(jì)流程

MQTT系統(tǒng)設(shè)計(jì)需要依賴前期完成的車云UC(Use Case)描述、通信矩陣、車內(nèi)拓?fù)湟约霸贫思軜?gòu)部署等作為輸入,針對(duì)MQTT的特點(diǎn),完成通信設(shè)計(jì),主要輸出產(chǎn)物為基于特定車型或平臺(tái)的MQTT通信矩陣。車端和云端的開發(fā)工程師需要根據(jù)設(shè)計(jì)輸出產(chǎn)物,完成相關(guān)功能的軟件開發(fā),測(cè)試工程師也需要以設(shè)計(jì)輸出為基礎(chǔ),開展MQTT測(cè)試驗(yàn)證工作。

MQTT通信系統(tǒng)設(shè)計(jì)涉及以下方面:

MQTT角色設(shè)計(jì):基于功能需求為通信節(jié)點(diǎn)部署角色

Topic設(shè)計(jì):明確Topic定義和數(shù)量

數(shù)據(jù)類型設(shè)計(jì):為每個(gè)Topic指定傳輸信息

QoS設(shè)計(jì):為Topic匹配QoS策略

MQTT角色定義

基于MQTT協(xié)議的特點(diǎn),需要首先明確車云通信拓?fù)渲懈鞴?jié)點(diǎn)的MQTT角色。

由于各節(jié)點(diǎn)間需要交互的數(shù)據(jù)均需要經(jīng)過Broker,因此一般將性能較好的云端的服務(wù)器部署為Broker,車內(nèi)需要與云端通信的節(jié)點(diǎn)為Client,云端后臺(tái)/APP等節(jié)點(diǎn)為Client。

59c7af68-ccd6-11ef-9310-92fbcf53809c.jpg

圖3 MQTT角色部署

Topic設(shè)計(jì)

MQTT系統(tǒng)內(nèi)各節(jié)點(diǎn)用Topic來交互應(yīng)用數(shù)據(jù),Topic的劃分可以從數(shù)據(jù)內(nèi)容或者功能角度劃分,例如車況上傳的數(shù)據(jù)在一個(gè)Topic,遠(yuǎn)程車輛控制的數(shù)據(jù)在一個(gè)Topic。

除此之外,MQTT的Topic名稱設(shè)計(jì)也應(yīng)遵循一定的原則,例如:命名長(zhǎng)度不應(yīng)超過65535 Bytes,建議采用統(tǒng)一的命名規(guī)則,并且按照分級(jí)符“/”進(jìn)行層級(jí)劃分。例如針對(duì)某平臺(tái)的車況上傳數(shù)據(jù),其Topic可設(shè)計(jì)為:{vehicle_platform}/{vehicle_model}/{ECU}/vehicle_info/{vin}/up 。

數(shù)據(jù)類型設(shè)計(jì)

MQTT協(xié)議單幀報(bào)文支持的最大傳輸數(shù)據(jù)為256M Bytes,因此一次性傳輸需求超過該大小的數(shù)據(jù)不適合采用MQTT進(jìn)行傳輸。

MQTT數(shù)據(jù)格式?jīng)]有嚴(yán)格定義,只要收發(fā)雙方采用統(tǒng)一的編碼/解碼規(guī)則即可,常采用JSON數(shù)據(jù)格式,需要傳輸?shù)膽?yīng)用數(shù)據(jù)信息,用“key-value”進(jìn)行描述,key的定義以及value的數(shù)據(jù)類型需要參考車內(nèi)的通信矩陣,可以保持一致。

使用JSON格式的好處是只要求數(shù)據(jù)收發(fā)雙方對(duì)同一個(gè)key的理解是一致的,對(duì)“key-value”組合的排布順序無嚴(yán)格要求,如果有擴(kuò)展需求,可以直接添加“key-value”組合定義,并且“key-value”組合是可選的,按照時(shí)間/事件情況選擇發(fā)送/不發(fā)生即可,無需額外制定協(xié)議層策略,兼容性和靈活性較高。

59dc7db2-ccd6-11ef-9310-92fbcf53809c.jpg

圖4 Topic數(shù)據(jù)定義

QoS設(shè)計(jì)

MQTT具備QoS策略以保證不同情況下的通信服務(wù)質(zhì)量,因此需要根據(jù)功能場(chǎng)景需求為不同的數(shù)據(jù)Topic設(shè)計(jì)匹配的QoS策略,整體原則如下:

對(duì)于實(shí)時(shí)性要求較高,且允許一定程度丟幀的場(chǎng)景,QoS推薦設(shè)計(jì)為0,例如用于實(shí)時(shí)顯示用的周期上傳的數(shù)據(jù)

對(duì)于不允許丟幀、可重復(fù)傳輸?shù)膱?chǎng)景,QoS推薦為1,例如反饋云端下發(fā)指令是否正常接收的信號(hào)

對(duì)于具有嚴(yán)格傳輸需求(不允許丟幀、不允許重復(fù)傳輸)的場(chǎng)景,QoS推薦為2,例如安全相關(guān)的數(shù)據(jù)

總結(jié)

本文首先介紹了MQTT協(xié)議,再從MQTT角色設(shè)計(jì)、Topic設(shè)計(jì)、數(shù)據(jù)類型設(shè)計(jì)、QoS設(shè)計(jì)幾個(gè)方面出發(fā),介紹MQTT系統(tǒng)設(shè)計(jì)流程和方法,車端ECU及云端的開發(fā)工程師需要根據(jù)MQTT系統(tǒng)設(shè)計(jì)的輸出完成后續(xù)軟件開發(fā),實(shí)現(xiàn)車云功能的通信。

經(jīng)緯恒潤(rùn)作為OPEN聯(lián)盟會(huì)員和AUTOSAR聯(lián)盟的高級(jí)合作伙伴,長(zhǎng)期為國內(nèi)外各大OEM和供應(yīng)商提供涵蓋TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技術(shù)領(lǐng)域的設(shè)計(jì)和測(cè)試咨詢服務(wù),積極研發(fā)和探索車載網(wǎng)絡(luò)前沿技術(shù)的工程應(yīng)用。通過多個(gè)項(xiàng)目的實(shí)踐經(jīng)驗(yàn),已建立了高質(zhì)量、本土化的設(shè)計(jì)與測(cè)試一體化解決方案,為整車網(wǎng)絡(luò)架構(gòu)提供可靠支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 云通信
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11047
  • MQTT協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    98

    瀏覽量

    5844

原文標(biāo)題:讓MQTT運(yùn)轉(zhuǎn)起來—車路云一體化之MQTT系統(tǒng)設(shè)計(jì)

文章出處:【微信號(hào):經(jīng)緯恒潤(rùn)研發(fā)服務(wù),微信公眾號(hào):經(jīng)緯恒潤(rùn)研發(fā)服務(wù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MQTT為何成為物聯(lián)網(wǎng)協(xié)議

    MQTT(Message Queuing Telemetry Transport)即消息隊(duì)列遙測(cè)傳輸協(xié)議,已成為物聯(lián)網(wǎng)領(lǐng)域廣泛應(yīng)用的協(xié)議,這主要得益于其在資源占用、通信效率、可靠性、擴(kuò)
    的頭像 發(fā)表于 05-20 09:54 ?154次閱讀

    工業(yè)智能網(wǎng)關(guān)與MQTT物聯(lián)網(wǎng)平臺(tái)的關(guān)系

    工業(yè)智能網(wǎng)關(guān)與 MQTT 物聯(lián)網(wǎng)平臺(tái)在物聯(lián)網(wǎng)架構(gòu)中是互補(bǔ)協(xié)作的關(guān)系,具體可歸納為以下幾點(diǎn): 數(shù)據(jù)交互橋梁 工業(yè)智能網(wǎng)關(guān)負(fù)責(zé)采集現(xiàn)場(chǎng)設(shè)備(如 PLC、傳感器、儀器儀表等)的實(shí)時(shí)數(shù)據(jù),通過協(xié)議轉(zhuǎn)換(如
    的頭像 發(fā)表于 03-21 09:44 ?331次閱讀

    《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT協(xié)議連接阿里服務(wù)器

    第五十五章 基于MQTT協(xié)議連接阿里服務(wù)器 本章主要學(xué)習(xí)lwIP提供的MQTT協(xié)議文件使用,通過 M
    發(fā)表于 03-18 09:22

    百問MQTT協(xié)議分析 - MQTT簡(jiǎn)述及協(xié)議報(bào)文格式組成

    )1字節(jié)固定報(bào)頭,2字節(jié)心跳報(bào)文,報(bào)文結(jié)構(gòu)緊湊 e)消息QoS支持,可靠傳輸保證 16.1.3 應(yīng)用 ?MQTT協(xié)議廣泛應(yīng)用于物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、智能硬件、聯(lián)網(wǎng)、電力能源等領(lǐng)域。 a)物聯(lián)網(wǎng)M2M
    發(fā)表于 12-13 09:29

    MQTT物聯(lián)網(wǎng)平臺(tái)有什么功能

    隨著物聯(lián)網(wǎng)(IoT)技術(shù)的迅猛發(fā)展,MQTT(Message Queuing Telemetry Transport)物聯(lián)網(wǎng)平臺(tái)作為一種重要的基礎(chǔ)設(shè)施,正在智能制造、智能家居、聯(lián)網(wǎng)等多個(gè)領(lǐng)域發(fā)揮
    的頭像 發(fā)表于 10-09 14:15 ?645次閱讀

    物聯(lián)網(wǎng)行業(yè)中MQTT通信協(xié)議詳解以及使用

    一 概述 MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級(jí)”通訊協(xié)議
    的頭像 發(fā)表于 09-20 17:08 ?2453次閱讀
    物聯(lián)網(wǎng)行業(yè)中<b class='flag-5'>MQTT</b><b class='flag-5'>通信協(xié)議</b>詳解以及使用

    MQTT協(xié)議網(wǎng)關(guān)的工作原理及功能特性

    在物聯(lián)網(wǎng)的快速發(fā)展中,MQTT協(xié)議網(wǎng)關(guān)作為連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器的重要橋梁,扮演著不可或缺的角色。MQTT是一種基于發(fā)布/訂閱模式的輕量級(jí)通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡(luò)
    的頭像 發(fā)表于 09-18 17:00 ?1093次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)的工作原理及功能特性

    鋇錸PLC網(wǎng)關(guān)快速實(shí)現(xiàn)三菱、西門子PLC轉(zhuǎn)MQTT協(xié)議

    PLC轉(zhuǎn)MQTT網(wǎng)關(guān)BL102是一款專為PLC聯(lián)網(wǎng)和遠(yuǎn)程PLC程序上傳下載調(diào)試而研發(fā)的,下行采集協(xié)議支持三菱、西門子、歐姆龍、臺(tái)達(dá)、施耐德等PLC協(xié)議,上行傳輸協(xié)議支持
    的頭像 發(fā)表于 07-31 17:00 ?773次閱讀
    鋇錸PLC網(wǎng)關(guān)快速實(shí)現(xiàn)三菱、西門子PLC轉(zhuǎn)<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>

    鋇錸技術(shù)Modbus轉(zhuǎn)MQTT網(wǎng)關(guān):橋接Modbus協(xié)議MQTT協(xié)議

    提供了一鍵對(duì)接亞馬遜平臺(tái)的解決方案。 BL101網(wǎng)關(guān)是鋇錸技術(shù)研發(fā)的一款高性能工業(yè)物聯(lián)網(wǎng)設(shè)備,通過橋接Modbus協(xié)議MQTT通信協(xié)議,實(shí)現(xiàn)了工業(yè)設(shè)備與云端平臺(tái)之間的高效互聯(lián)。支持
    的頭像 發(fā)表于 07-30 16:28 ?674次閱讀
    鋇錸技術(shù)Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān):橋接Modbus<b class='flag-5'>協(xié)議</b>與<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>

    利用鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)高效上傳至華為平臺(tái)

    西門子PLC通常通過Modbus協(xié)議進(jìn)行數(shù)據(jù)傳輸,但平臺(tái)更傾向于使用MQTT等輕量級(jí)、高效的數(shù)據(jù)傳輸協(xié)議。為此,鋇錸技術(shù)推出了 Modbus轉(zhuǎn)MQ
    的頭像 發(fā)表于 07-30 13:53 ?634次閱讀
    利用鋇錸Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)高效上傳至華為<b class='flag-5'>云</b>平臺(tái)

    基于MQTT協(xié)議平臺(tái)的Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)

    數(shù)據(jù)的上傳和云端控制指令的下發(fā),讓設(shè)備能夠與基于MQTT協(xié)議平臺(tái)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸和遠(yuǎn)程監(jiān)控。 網(wǎng)關(guān)功能特點(diǎn) 協(xié)議轉(zhuǎn)換 :BL
    的頭像 發(fā)表于 07-29 17:59 ?1082次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>云</b>平臺(tái)的Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)

    Modbus RTU、Modbus TCP轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)Modbus設(shè)備與平臺(tái)的無縫通信

    。這一轉(zhuǎn)換過程使得設(shè)備能夠與基于MQTT協(xié)議平臺(tái)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸和遠(yuǎn)程監(jiān)控。本文將帶大家學(xué)習(xí)如何配置平臺(tái),感興趣的朋友可以
    的頭像 發(fā)表于 07-23 16:58 ?4327次閱讀
    Modbus RTU、Modbus TCP轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)實(shí)現(xiàn)Modbus設(shè)備與<b class='flag-5'>云</b>平臺(tái)的無縫<b class='flag-5'>通信</b>

    鋇錸協(xié)議網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)MQTT協(xié)議

    Modbus是一種在工業(yè)自動(dòng)化領(lǐng)域廣泛使用的通信協(xié)議,以其簡(jiǎn)單性和可靠性而著稱。然而,隨著物聯(lián)網(wǎng)技術(shù)的興起,傳統(tǒng)的Modbus協(xié)議需要與通信協(xié)議MQTT相結(jié)合,以實(shí)現(xiàn)更廣泛的應(yīng)用場(chǎng)景和
    的頭像 發(fā)表于 07-23 15:51 ?610次閱讀
    鋇錸<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>

    MQTT通信物聯(lián)網(wǎng)網(wǎng)關(guān)有什么功能和特點(diǎn)

    :物聯(lián)網(wǎng)網(wǎng)關(guān)可以將不同設(shè)備使用的各種通信協(xié)議(如HTTP、CoAP、Zigbee等)轉(zhuǎn)換為MQTT協(xié)議,實(shí)現(xiàn)不同設(shè)備之間的互聯(lián)互通。 2.數(shù)據(jù)采集與轉(zhuǎn)發(fā):網(wǎng)關(guān)從各種傳感器和設(shè)備中采集數(shù)據(jù),并將這些數(shù)據(jù)通過
    的頭像 發(fā)表于 07-19 13:50 ?636次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>通信</b>物聯(lián)網(wǎng)網(wǎng)關(guān)有什么功能和特點(diǎn)

    MQTT物聯(lián)網(wǎng)平臺(tái)是什么

    MQTT (Message Queuing Telemetry Transport) 是一種輕量級(jí)的發(fā)布/訂閱型消息通信協(xié)議,專門為低帶寬、高延遲或不穩(wěn)定的網(wǎng)絡(luò)環(huán)境設(shè)計(jì)的。它基于TCP/IP協(xié)議
    的頭像 發(fā)表于 06-25 15:32 ?1044次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品