車聯網場景中的 MQTT 協議

2022-09-24 06:24:11 字數 3792 閱讀 6068

目前我國車聯網行業處於與 5g 技術的深度融合時期,隨著 5g 與 v2x 技術的發展成熟,未來的車聯網產業必將開啟新的成長空間。

車聯網是物聯網技術在交通系統領域的典型應用,車聯網行業所涉及的相關技術領域的融合布局與協同發展在某種程度上與物聯網一脈相通。作為一家開源物聯網資料基礎設施軟體**商,emq 多年來也為車聯網領域的眾多客戶提供了雲邊端協同的物聯基礎設施軟體,實現對人、車、路、雲的統一連線,為整車製造商、t1 **商、後市場服務商、出行服務公司等打造智慧型網聯、自動駕駛和 v2x 等場景解決方案。

本文將從 emq 車聯網行業使用者實際案例經驗出發,對比不同物聯網通訊協議在車聯網平台搭建應用中的利弊,分享企業該如何基於自身情況選擇合適的 mqtt 訊息接入產品與服務,以及當前在資料傳輸安全、資料整合等方面的最熱門技術方案。

整個車聯網業務架構複雜,涉及多個通訊環節,在本文中我們討論的是車聯網平台主要負責的雲-端訊息接入模組。

mqtt 是基於發布/訂閱模式的物聯網通訊協議,具有簡單易實現、支援 qos、報文小等特點,佔據了物聯網協議的半壁江山。在車聯網場景中,mqtt 依然能夠勝任海量車機系統靈活、快速、安全接入,並保證複雜網路環境下訊息實時性、可靠性, 其主要應用優勢如下:

開放訊息協議,簡單易實現。市場上有大量成熟的軟體庫與硬體模組,可以有效降低車機接入難度和使用成本;

提供靈活的發布訂閱和主題設計,能夠通過海量的 topic 進行訊息通訊,應對各類車聯網業務;

payload 格式靈活,報文結構緊湊,可以靈活承載各類業務資料並有效減少車機網路流量;

提供三個可選的 qos 等級,能夠適應車機裝置不同的網路環境;

綜上,如果配以具備海量車端連線、軟實時、高併發資料吞吐以及多重安全保障能力的訊息中介軟體產品,mqtt 協議無疑是將為車聯網平台的搭建帶來便利。

目前為止大多數車聯網客戶首選的都是 mqtt 協議,我們也遇到過一些客戶曾選擇其他諸如私有 tcp、http 協議,但從最終結果來看,mqtt 都是車聯網場景下的最佳選擇。

華東某大型主機廠現有一百多萬的存量車機,之前的車聯網平台採用私有的 tcp 協議構建,面對百萬車機海量的訊息通訊,私有化的 tcp 協議維護成本高,訊息可靠性無保障,日常系統維護和功能擴充套件開發工作量大。隨著 mqtt 協議在集團內部車聯網平台廣泛採納,該主機廠也開始啟動 mqtt 協議的改造公升級工作,目前針對部分車型已經通過 ota 公升級的方式完成了公升級,未來他們計畫分階段逐步完成所有車型的公升級改造工作。

還有乙個車企客戶早期與我們接觸過,但考慮到初期業務比較簡單以及自身技術選型問題,最終使用了自建 http 服務的形式接入車機。隨著業務發展,傳統的請求-響應模式通訊已經無法滿足新增業務需求,同時隨著功能與終端數量增多,整個平台通訊量成倍增加,使用 http 接入出現了效能瓶頸。該客戶最終還是選擇了 mqtt 作為接入協議,使用 emqx 提供的資料接入方案很好地解決了之前的業務難題。

總體來看,私有協議具有封閉性、排他性等特點,在制定初期是為了解決特定的問題而設計導致缺乏靈活性,往往在業務調整之後難以滿足新的需求,企業不得不在協議中加入更多的特性;又或者因為接入量的增多,私有協議 server 端過早達到了效能和擴充套件性的瓶頸。以上種種原因最終導致使用者工作的重心從業務開發轉移到接入層、中介軟體的開發,無形中增加了平台專案成本。因此 mqtt 協議順理成章地成為最適合車聯網領域的主流協議。

平台設計中,系統架構設計與產品選型是乙個嚴謹的過程。使用者首先要結合應用場景,評估產品功能是否滿足業務需求,效能與可擴充套件性能否能夠支撐平台短期的設計容量以及未來可能的增長;產品使用成本也是乙個重要的考量,產品本身的成本、iaas 基礎設施、開發整合和維護工作這些都會影響客戶的總體擁有成本;此外還應當結合產品全球化能力進行評估,對於有海外業務的專案,產品能否支援全球部署、是否滿足各個地區的合規性、能否避免雲計算提供商鎖定這些都是選擇產品的依據。

emq 的車聯網客戶在選型過程中經常會與雲計算提供商的物聯***接入 saas 服務進行對比。相比之下 emqx 的優勢主要在於私有部署和標準化能力 —— 支援私有部署到任意雲平台,無平台鎖定,提供標準 mqtt 協議,這也是車聯網客戶普遍看重的一點。

避免雲計算**商鎖定有助於企業使用者獲得競價優勢,可以減少企業與雲計算**商中止合作關係而帶來的影響。另一方面多雲支援也可以充分使用不同雲計算提供商的技術與商業優勢,比如一些全球運營的企業可以在國內和海外選擇不同的雲計算提供商。

此外還有相當一部分客戶看中 emqx 較低的使用成本,根本原因是由於計費方式不同,往往業務規模越大,雲計算提供商的接入服務成本越高。

不過從成本考量也有例外。之前曾有車企使用者評估了雲提供商的接入服務和 emqx 後,考慮到自身的運維成本和風險後最終放棄私有部署,選擇了雲提供商的接入服務。而隨著 emq 的全託管 mqtt 訊息服務 - emqx cloud 的上線,這個問題也得到解決。通過 emqx cloud,現在使用者可以在免除基礎設施管理維護負擔的同時,保持了同私有部署一致的成本預算清晰可控、跨雲跨平台等優勢,沒有後顧之憂地開展車聯網平台建設。

對於有私有部署需求的客戶,emqx 也有其獨有的優勢。emqx 提供全球性的商業支援,較高的產品效能可帶來海量連線和吞吐能力,規則引擎與資料橋接則提供快速整合能力。同時針對車聯網領域,高可靠和易擴充套件架構能力以及雲邊一體的 v2x 資訊互動能力也讓 emqx 在支援私有部署的同類產品中脫穎而出。

2018 年上汽大眾在設計研發新一代車聯網系統時,sc 部門考慮到新型車聯網大併發、低時延、高吞吐的場景需求,參考了國內外主流新型車聯網系統架構,最終採用了基於 mqtt 協議建設新一代車聯網平台。

該專案中,mqtt 的特性與 emqx 強大規則引擎資料整合能力和通用型匯流排能力有效滿足了客戶對複雜網路下訊息實時性可靠性的要求,並解決了專案時間緊、任務重,需要快速開發對接的需求。

檢視客戶成功故事:上汽大眾聯合 emq 打造新一代智慧型車聯網系統

作為訊息中介軟體,emqx 提供了豐富且靈活的整合能力,且每個功能都提供了不同的技術方案以供使用者選擇,經過長期使用總結,比較熱門的技術方案如下:

在傳輸鏈路層上我們均推薦使用者啟用 tls 加密傳輸,但是多數雲計算提供商的負載均衡產品不支援 tls 終結,生產部署時需要額外部署 haproxy 等元件來解除安裝 tls 證書。另外有部分客戶需要國密演算法 tls 加密傳輸,我們也專門定製提供了方案。

tbox 接入最常見的是使用證書認證,emqx 提供可擴充套件的認證鏈,支援第三方認證平台擴充套件(如 pki 系統),基於使用者名稱/密碼的外接資料來源和內部資料庫認證其次。

此外絕大部分使用者都啟用了 emqx 鑑權功能,為不同 tbox 終端分配相應的發布、訂閱許可權以有效保護資料安全。

將流經 emqx 的海量車聯網資料與業務系統連線是客戶最重視的能力,emqx 內建了規則引擎和資料橋接能力,可以將 mqtt 資料流式傳輸到 kafka、各類 sql / nosql / 時序資料庫中,而實際專案中絕大多數客戶都使用 kafka 作為後端流處理元件。

kafka 專注於資料的儲存和讀取,而 emqx 則側重於客戶端和伺服器之間的通訊,emqx 用來快速接收和處理來自大量物聯網裝置的訊息,kafka 可以收集並儲存這些資料並將其傳送給後端程式來分析和處理,這個架構是目前應用最廣的資料整合方案。

目前汽車電子發展迅速,助推車聯網行業技術公升級,智慧型交通及汽車行業未來市場前景可觀,可以預見有更多的車主消費者和騎車廠家將從中收益。基於完善的 mqtt 協議和 emqx 強大的產品能力可以幫助車聯網平台開發者快速構建健壯、靈活的車聯網平台。emq 也將緊跟行業發展趨勢,推進訊息傳輸和邊緣計算相關的技術發展和落地,為自動駕駛、車輛協同、車聯網使用者提供更快、更好、更智慧型的訊息服務基礎設定。

物聯網協議之 MQTT協議

mqtt協議 message queuing telemetry transport 遙信訊息佇列傳輸,是ibm公司於1999年提出的,現在最新版本是3.1.1。mqtt是乙個基於tcp的發布訂閱協議,設計的初始目的是為了極有限的記憶體裝置和網路頻寬很低的網路不可靠的通訊,非常適合物聯網通訊。如上圖...

物聯網傳輸協議MQTT

mqtt是乙個物聯網傳輸協議,它被設計用於輕量級的發布 訂閱式訊息傳輸,旨在為低頻寬和不穩定的網路環境中的物聯網裝置提供可靠的網路服務。mqtt是專門針對物聯網開發的輕量級傳輸協議。mqtt協議針對低頻寬網路,低計算能力的裝置,做了特殊的優化,使得其能適應各種物聯網應用場景。目前mqtt擁有各種平台...

物聯網傳輸協議MQTT

mqtt是乙個物聯網傳輸協議,它被設計用於輕量級的發布 訂閱式訊息傳輸,旨在為低頻寬和不穩定的網路環境中的物聯網裝置提供可靠的網路服務。mqtt是專門針對物聯網開發的輕量級傳輸協議。mqtt協議針對低頻寬網路,低計算能力的裝置,做了特殊的優化,使得其能適應各種物聯網應用場景。目前mqtt擁有各種平台...