1.背景
在之前一篇《T-Box功能自動化測試方案》的案例分享中,我們介紹了一種利用安卓系統(tǒng)的控制交互指令,實現(xiàn)T-Box和手機端交互功能的自動化測試方案。但是在項目開發(fā)前期,由于T-Box、TSP后臺、App可能由不同的廠家負(fù)責(zé)開發(fā),每個產(chǎn)品開發(fā)的進(jìn)度和完整度是不一致的。所以為了更早的對T-Box的功能進(jìn)行自動化測試和驗證,如果T-Box與TSP后臺的通信使用了MQTT協(xié)議,則可以利用MQTT協(xié)議的特點,通過CANoe仿真另外一個Client,實現(xiàn)CANoe、Broker和T-Box之間的信息交互。
MQTT通信模型
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議)是IBM在1999年發(fā)布的一種基于發(fā)布/訂閱(Publish/Subscribe)模式的"輕量級"通訊協(xié)議。該協(xié)議可用極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實時可靠的消息服務(wù)。作為一種低開銷、低帶寬占用的即時通訊協(xié)議,MQTT在物聯(lián)網(wǎng)等領(lǐng)域有很廣泛的應(yīng)用。
MQTT也是一種基于客戶端-服務(wù)器的發(fā)布/訂閱消息協(xié)議,包含發(fā)布者(Publisher)、代理(Broker)、訂閱者(Subscriber)三個角色。發(fā)布者和訂閱者之間沒有直接的連接,需要通過Broker進(jìn)行消息的存儲和轉(zhuǎn)發(fā),而Broker又通過主題(Topic)進(jìn)行消息的發(fā)送和接收。

圖1 MQTT通信模型
一個典型的MQTT消息通信流程如圖1所示:
1)發(fā)布者(Publisher)連接到Broker;
2)訂閱者(Subscribers)連接到Broker,并訂閱主題“vehiclespeed”;
3)發(fā)布者(Publisher)發(fā)送給Broker一條消息,主題為“vehiclespeed”;
4) Broker收到Publisher的消息后,發(fā)現(xiàn)Subscriber訂閱了“vehiclespeed”主題,然后將消息轉(zhuǎn)發(fā)給Subscriber;
5)訂閱者(Subscribers)從Broker接收發(fā)布者(Publisher)發(fā)送的消息。
2. CANoe CFS介紹和配置
CANoe的連接特性服務(wù)(Connectivity Features Service)主要用于物聯(lián)網(wǎng)或工業(yè)領(lǐng)域支持MQTT協(xié)議的設(shè)備,CANoe將這些設(shè)備抽象成分布式對象(Distributed Objects),通過本地網(wǎng)絡(luò)(Local Network)或云端代理服務(wù)器實現(xiàn)各客戶端之間的通信。同時CANoe 15.0版本新增了一種新的通信方式,讓代理(Broker)在CANoe中運行來實現(xiàn)通信,從而實現(xiàn)一些故障注入的測試。
本文主要以本地網(wǎng)絡(luò)的形式對MQTT的仿真和測試進(jìn)行介紹,其中發(fā)布者和訂閱者通過CANoe仿真實現(xiàn),Broker可使用真實的服務(wù)器,或者在本地電腦搭建測試用Broker,將Broker地址(需使用外網(wǎng)的IP或域名)和端口配置到TBox中。
Broker搭建完成后,在CANoe的Options設(shè)置窗口中配置Broker的IP地址和端口(MQTT功能僅在連接CANoe license時可用),示例如圖2所示:

圖2 CANoe MQTT配置界面
3. MQTT環(huán)境配置
在仿真MQTT Client之前,需要在CANoe的Communication Setup環(huán)境中手動創(chuàng)建Distributed Objects的接口(Interfaces)和對象(Objects),或者通過vCDL文件,創(chuàng)建MQTT的數(shù)據(jù)庫。
手動創(chuàng)建MQTT數(shù)據(jù)庫流程如下:
1) 創(chuàng)建需要的通信接口;
2) 選擇Objects,創(chuàng)建需要通信的對象;
3) 為每個對象創(chuàng)建對應(yīng)的數(shù)據(jù);
4) 選擇創(chuàng)建的Data數(shù)據(jù),在右側(cè)MQTT配置窗口中配置其屬性值。
創(chuàng)建vCDL數(shù)據(jù)庫的流程如下:
1) 打開 “Open vCDL Editor”;
2) 創(chuàng)建MQTT的接口、對象和數(shù)據(jù);
3) 定義MQTT的屬性值;
4) 選擇import Data Source導(dǎo)入創(chuàng)建好的vCDL文件。
vCDL導(dǎo)入成功以后,可查看定義屬性及參數(shù),如圖3所示:

圖3 MQTT模型編輯界面
使用vCDL創(chuàng)建MQTT數(shù)據(jù)庫的示例如圖4所示:

圖4 MQTT vCDL數(shù)據(jù)庫開發(fā)界面
4.測試介紹
通過上面的配置,下面以遠(yuǎn)程解閉鎖控制測試為例,為大家介紹下測試執(zhí)行過程:

圖5 T-Box測試環(huán)境
測試環(huán)境如圖5所示,由于此測試方案CANoe是調(diào)用測試電腦的網(wǎng)卡與Broker進(jìn)行通信,所以需要測試電腦可連接外網(wǎng)。
當(dāng)CANoe運行時,會自動連接到Broker。測試數(shù)據(jù)流如下:
1) CANoe(Publisher)首先仿真TSP發(fā)送遠(yuǎn)程解鎖請求給Broker;
2) Broker根據(jù)Topic,自動轉(zhuǎn)發(fā)該請求給T-Box(Subscriber)。T-Box收到該遠(yuǎn)程請求后,通過CAN或Ethernet將遠(yuǎn)程解鎖請求發(fā)送至車內(nèi)節(jié)點;
3) CANoe仿真車內(nèi)節(jié)點反饋遠(yuǎn)程解鎖成功的應(yīng)答;
4) 收到遠(yuǎn)程解鎖成功應(yīng)答后,T-Box(Publisher)把遠(yuǎn)程解鎖執(zhí)行結(jié)果上傳至Broker,Broker根據(jù)Topic,自動轉(zhuǎn)發(fā)該請求給CANoe(Subscriber)。
測試交互的數(shù)據(jù)如圖6所示:

圖6 CANoe MQTT數(shù)據(jù)監(jiān)控窗口
5.總結(jié)
本方案利用MQTT協(xié)議的技術(shù)特點,無需TSP提供額外的API接口,即可實現(xiàn)T-Box遠(yuǎn)程功能的自動化測試,可以在項目早期完成對T-Box的功能驗證。根據(jù)不同的技術(shù)特點,北匯信息已實現(xiàn)在線測試、離線分析等不同的T-Box自動化測試的方案,歡迎大家進(jìn)一步溝通交流。
注:文中部分圖片來源于Vector。
-
CANoe
+關(guān)注
關(guān)注
4文章
75瀏覽量
9179
發(fā)布評論請先 登錄
CANoe中ADAS功能集介紹

是德示波器MSOX3054T遠(yuǎn)程控制自動化測試

是德頻譜分析儀的遠(yuǎn)程控制與自動化測試方案詳解

金航標(biāo)北斗GPS藍(lán)牙等射頻產(chǎn)品在新能源汽車T-BOX上的應(yīng)用

T-BOX應(yīng)用NXP S32K148控芯片 搭配 貼片式TT卡(SD NAND)存儲的完美結(jié)合

T-BOX硬件方案解析:STM32與SD NAND芯片的高效協(xié)同

基于obd/t-box的車聯(lián)網(wǎng)系統(tǒng)設(shè)計與應(yīng)用

東軟T-BOX連續(xù)三年蟬聯(lián)雙榜第一
T-BOX 的強大功能:遠(yuǎn)程查詢與控制全解析

CANoe仿真HTTP節(jié)點的實戰(zhàn)秘籍大公開

面向汽車T-BOX與域控制器的HIL測試新方案
為人機交互保持預(yù)見性丨基于G32A1445的T-BOX應(yīng)用方案

開關(guān)電源自動化測試設(shè)備:如何實現(xiàn)自動化測試?

車載T-Box通信穩(wěn)定性弱網(wǎng)測試方案

評論