本發(fā)明涉及汽車診斷領(lǐng)域,尤其涉及模擬汽車通訊的方法、系統(tǒng)以及計算機可讀存儲介質(zhì)。
背景技術(shù):
隨著經(jīng)濟的發(fā)展,導(dǎo)致了人們的出行方式發(fā)生了改變,如今,汽車已經(jīng)成為許多人的代步工具,在汽車的使用過程中,難免要對汽車進行保養(yǎng)和維修。在對汽車進行保養(yǎng)和維修時,汽車診斷儀是經(jīng)常被使用的工具。汽車診斷儀在開發(fā)和測試的時候,都需要和汽車總線或者ecu(電子控制單元/行車電腦)進行數(shù)據(jù)通訊,但是不論是汽車還是ecu在接收到檢測儀發(fā)出的詢問命令后回復(fù)的命令都是固定的,不能按照實際的測試條件設(shè)置回復(fù)命令,達不到檢測要求。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種模擬汽車通訊的方法、系統(tǒng)以及計算機可讀存儲介質(zhì),旨在解決現(xiàn)有技術(shù)中汽車診斷儀在開發(fā)和測試的時候,都需要和汽車總線或者ecu(電子控制單元/行車電腦)進行數(shù)據(jù)通訊,但是不論是汽車還是ecu在接收到檢測儀發(fā)出的詢問命令后回復(fù)的命令都是固定的,不能按照實際的測試條件設(shè)置回復(fù)命令,達不到檢測要求的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供一種模擬汽車通訊的方法,所述模擬汽車通訊的方法應(yīng)用于上位機,所述模擬汽車通訊的方法包括:
接收下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令;
判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令;
若數(shù)據(jù)庫中存在所述回復(fù)命令,則將所述回復(fù)命令發(fā)送至所述下位機,以供下位機反饋至汽車檢測儀。
優(yōu)選地,所述接收下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令之前包括:
根據(jù)車系類型將對應(yīng)的若干詢問命令以及對應(yīng)的回復(fù)命令關(guān)聯(lián)存儲在所述車系對應(yīng)的數(shù)據(jù)庫中。
優(yōu)選地,所述判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令包括:
確定所述詢問命令對應(yīng)的車系;
判斷所述車系對應(yīng)的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種模擬汽車通訊的方法,所述模擬汽車通訊的方法應(yīng)用于下位機,所述模擬汽車通訊的方法包括:
當(dāng)接收到來自汽車檢測儀發(fā)出的檢測命令,將所述檢測命令對應(yīng)的詢問命令發(fā)送至上位機;
當(dāng)接收到來自上位機發(fā)送的回復(fù)命令,根據(jù)預(yù)置通訊協(xié)議對所述回復(fù)命令進行格式轉(zhuǎn)化,將所述格式轉(zhuǎn)化后的回復(fù)命令發(fā)送至汽車檢測儀。
優(yōu)選地,所述當(dāng)接收到來自汽車檢測儀發(fā)出的檢測命令,將所述檢測命令對應(yīng)的詢問命令發(fā)送至上位機之前包括:
接收上位機發(fā)出的設(shè)置命令,根據(jù)所述設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通訊參數(shù)以及通訊協(xié)議。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種模擬汽車通訊的系統(tǒng),所述模擬汽車通訊的系統(tǒng)包括:存儲器、處理器、通信總線以及存儲在所述存儲器上的模擬汽車通訊的程序:
所述通信總線用于實現(xiàn)處理器和存儲器之間的連接通信;
所述處理器用于執(zhí)行所述模擬汽車通訊的程序,以實現(xiàn)以下步驟:
接收下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令;
判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令;
若數(shù)據(jù)庫中存在所述回復(fù)命令,則將所述回復(fù)命令發(fā)送至所述下位機,以供下位機反饋至汽車檢測儀。
優(yōu)選地,所述判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令包括:
確定所述詢問命令對應(yīng)的車系;
判斷所述車系對應(yīng)的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令。
優(yōu)選地,所述處理器用于執(zhí)行所述模擬汽車通訊的程序,還實現(xiàn)以下步驟:
當(dāng)接收到來自汽車檢測儀發(fā)出的檢測命令,將所述檢測命令對應(yīng)的詢問命令發(fā)送至上位機;
當(dāng)接收到來自上位機發(fā)送的回復(fù)命令,根據(jù)預(yù)置通訊協(xié)議對所述回復(fù)命令進行格式轉(zhuǎn)化,將所述格式轉(zhuǎn)化后的回復(fù)命令發(fā)送至汽車檢測儀。
優(yōu)選地,所述處理器用于執(zhí)行所述模擬汽車通訊的程序,還實現(xiàn)以下步驟:
接收上位機發(fā)出的設(shè)置命令,根據(jù)所述設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通訊參數(shù)以及通訊協(xié)議。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有模擬汽車通訊的程序,所述模擬汽車通訊的程序被處理器執(zhí)行時實現(xiàn)如上所述的模擬汽車通訊的方法的步驟。
本發(fā)明中,當(dāng)上位機接收到來自下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令時,在已存儲的數(shù)據(jù)庫中查找該詢問命令對應(yīng)的回復(fù)命令,并將回復(fù)命令發(fā)送給下位機。通過靈活設(shè)置詢問命令對應(yīng)的回復(fù)命令,以供汽車診斷儀根據(jù)回復(fù)命令對汽車進行診斷,從而達到開發(fā)和測試汽車診斷儀的目的。
附圖說明
圖1為本發(fā)明模擬汽車通訊的方法第一實施例的流程示意圖;
圖2為本發(fā)明模擬汽車通訊的方法第二實施例的流程示意圖;
圖3為圖1中步驟s30的細化流程示意圖;
圖4為本發(fā)明模擬汽車通訊的方法第三實施例的流程示意圖;
圖5是本發(fā)明實施例方案涉及的硬件運行環(huán)境的終端\裝置結(jié)構(gòu)示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
由于現(xiàn)有技術(shù)汽車診斷儀在開發(fā)和測試的時候,都需要和汽車總線或者ecu(電子控制單元/行車電腦)進行數(shù)據(jù)通訊,但是不論是汽車還是ecu在接收到檢測儀發(fā)出的詢問命令后回復(fù)的命令都是固定的,不能按照實際的測試條件設(shè)置回復(fù)命令,達不到檢測要求。
本發(fā)明提供一種解決方案,當(dāng)上位機接收到來自下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令時,在已存儲的數(shù)據(jù)庫中查找該詢問命令對應(yīng)的回復(fù)命令,并將回復(fù)命令發(fā)送給下位機。通過靈活設(shè)置詢問命令對應(yīng)的回復(fù)命令,以供汽車診斷儀根據(jù)回復(fù)命令對汽車進行診斷,從而達到開發(fā)和測試汽車診斷儀的目的。
參照圖1,圖1為本發(fā)明模擬汽車通訊的方法第一實施例的流程示意圖。
在一實施例中,模擬汽車通訊的方法應(yīng)用于上位機,該模擬汽車通訊的方法包括:
步驟s20,接收下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令;
在本實施例中,下位機同上位機建立連接通訊的方式不限,可以是無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式,在此不作限制,具體根據(jù)實際情況選擇合適的方式。
在本實施例中,詢問命令由汽車診斷儀發(fā)送至下位機,然后由下位機發(fā)送至上位機。該詢問命令是指請求獲取某一車系車輛的數(shù)據(jù)流,以供汽車診斷儀在獲取到該車系車輛的數(shù)據(jù)流后對該車輛的工作狀況進行診斷。汽車數(shù)據(jù)流是指電子控制單元(ecu)與傳感器和執(zhí)行器交流的數(shù)據(jù)參數(shù),包括冷卻液溫度、發(fā)動機轉(zhuǎn)速、發(fā)動機負荷、發(fā)動機每循環(huán)噴油持續(xù)時間等信息。本發(fā)明中自由設(shè)置這些數(shù)據(jù)參數(shù),得到模擬的汽車數(shù)據(jù)流,以供汽車診斷儀對模擬的汽車數(shù)據(jù)流進行診斷。
步驟s30,判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令;
步驟s40,若數(shù)據(jù)庫中存在所述回復(fù)命令,則將所述回復(fù)命令發(fā)送至所述下位機,以供下位機反饋至汽車檢測儀。
在本實施例中,回復(fù)命令包含了汽車數(shù)據(jù)流(即代表一種汽車狀態(tài)),可供汽車診斷儀根據(jù)回復(fù)命令中的汽車數(shù)據(jù)流進行診斷工作。本實施例中,回復(fù)命令可自由更改,即將汽車數(shù)據(jù)流進行更改,以供汽車診斷儀對不同的汽車數(shù)據(jù)流(即代表汽車的不同狀態(tài))進行診斷。
本實施例中,根據(jù)車系不同,建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,其中詢問命令同回復(fù)命令一一對應(yīng)。如表1所示,表1為一實施例的數(shù)據(jù)庫列表。
表1
例如,若此時詢問命令2對應(yīng)車系2,則在車系2對應(yīng)的數(shù)據(jù)庫中中尋找詢問命令2對應(yīng)的回復(fù)命令2。
在本實施例中,通過自由設(shè)置詢問命令對應(yīng)的回復(fù)命令(汽車數(shù)據(jù)流參數(shù)),以供汽車診斷儀對回復(fù)命令中包含的汽車數(shù)據(jù)流進行診斷,即通過模擬的汽車數(shù)據(jù)流完成對汽車診斷儀的開發(fā)和測試,而不需要實際車輛參與,節(jié)省了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步的,參照圖2,圖2為本發(fā)明模擬汽車通訊的方法第二實施例的流程示意圖。
在一實施例中,步驟s20之前包括:
步驟s10,根據(jù)車系類型將對應(yīng)的若干詢問命令以及對應(yīng)的回復(fù)命令關(guān)聯(lián)存儲在所述車系對應(yīng)的數(shù)據(jù)庫中。
在本實施例中,根據(jù)車系不同,建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,其中詢問命令同回復(fù)命令一一對應(yīng)。如表1所示,表1為一實施例的數(shù)據(jù)庫列表。
表1
在本實施例中,還可以根據(jù)汽車檢測儀需要檢測的車系來建立數(shù)據(jù)庫,例如,當(dāng)前需要對汽車檢測儀a的功能進行測試,汽車檢測儀a支持檢測的車系為車系3,則根據(jù)車系3建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫。
在本實施例中,在對汽車檢測儀的功能進行測試前,根據(jù)汽車檢測儀檢測的車系類型,在上位機中建立該車系對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,使得不需要通過實際的車輛,而是通過回復(fù)命令(模擬汽車數(shù)據(jù)流)完成對汽車檢測儀的開發(fā)與測試,節(jié)省了時間與經(jīng)費。
參照圖3,圖3為圖1中步驟s30的細化流程示意圖。
在一實施例中,步驟s30包括:
步驟s301,確定所述詢問命令對應(yīng)的車系;
步驟s302,判斷所述車系對應(yīng)的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令。
在本實施例中,例如,此時需要測試汽車診斷儀對某一車系車輛進行檢測的檢測效果,例如,針對車系a,汽車診斷儀發(fā)出對應(yīng)的詢問命令(請求獲取車系a的數(shù)據(jù)流),上位機在接收到該詢問命令后,在存儲的數(shù)據(jù)庫中,查找車系a對應(yīng)的數(shù)據(jù)庫,在車系a對應(yīng)的數(shù)據(jù)庫中查找該詢問命令對應(yīng)的回復(fù)命令(包含汽車數(shù)據(jù)流),然后將該回復(fù)命令發(fā)送給下位機,通過下位機對該回復(fù)命令進行格式化后發(fā)送至汽車診斷儀。
在本實施例中,為每個車系建立對應(yīng)的數(shù)據(jù)庫,實現(xiàn)測試汽車診斷儀對不同車系的檢測效果,且不需要實際車輛參與,節(jié)省了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步,在本發(fā)明另一可選實施例中,模擬汽車通訊的方法應(yīng)用于下位機,該模擬汽車通訊的方法包括:
當(dāng)接收到來自汽車檢測儀發(fā)出的檢測命令,將所述檢測命令對應(yīng)的詢問命令發(fā)送至上位機;
當(dāng)接收到來自上位機發(fā)送的回復(fù)命令,根據(jù)預(yù)置通訊協(xié)議對所述回復(fù)命令進行格式轉(zhuǎn)化,將所述格式轉(zhuǎn)化后的回復(fù)命令發(fā)送至汽車檢測儀。
在本實施例中,診斷設(shè)備為汽車診斷儀,汽車診斷儀是一款專門針對汽車檢測的專業(yè)儀器,可實時檢測車輛的性能,并對車輛故障進行檢測,是檢測車輛必備的一種工具。本實施例中,下位機通過預(yù)置obd接口以can總線的形式同汽車診斷儀建立通訊連接。下位機通過無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式同上位機建立通訊連接。下位機接收到來自汽車診斷儀發(fā)出的詢問命令,將所述詢問命令發(fā)送至上位機。
參照圖4,圖4為本發(fā)明模擬汽車通訊的方法第三實施例的流程示意圖。
本實施例中,下位機通過上述方式同上位機以及汽車診斷儀建立通訊連接,根據(jù)上位機發(fā)送的設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,以供完成后續(xù)的數(shù)據(jù)傳輸工作。當(dāng)接收到來自obd總線的基于汽車檢測儀發(fā)出的檢測命令時,將該命令通過有線或無線通訊方式發(fā)送至上位機;當(dāng)接收到來自上位機的回復(fù)命令時,根據(jù)汽車診斷儀的類型,按照預(yù)置通訊協(xié)議(bosh、canbus、kwp、pwm、vpw)對回復(fù)命令進行格式化,以供格式化后的回復(fù)命令能被汽車診斷設(shè)備處理。其中,作為iso11898can標(biāo)準的canbus,是制造廠中連接現(xiàn)場設(shè)備(傳感器、執(zhí)行器、控制器等)、面向廣播的串性總線系統(tǒng)。kwp是obdii通訊協(xié)議的一種。pwm指脈沖寬度調(diào)制。vpw指可變脈寬調(diào)制。
在本實施例中,通過在下位機預(yù)置通訊協(xié)議以供對上位機發(fā)送的回復(fù)命令進行格式化,使得格式化后的回復(fù)命令能夠被診斷設(shè)備處理,使得本發(fā)明可以用于對多種汽車診斷儀進行開發(fā)與測試。
在本實施例中,當(dāng)需要對汽車診斷儀的功能進行開發(fā)或測試時,不需要車輛實際參與,通過上位機與下位機構(gòu)成模擬車輛,達到開發(fā)或測試汽車診斷儀的目的,節(jié)約了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步,在本發(fā)明另一可選實施例中,模擬汽車通訊的方法應(yīng)用于下位機,該模擬汽車通訊的方法還包括:
接收上位機發(fā)出的設(shè)置命令,根據(jù)所述設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通訊參數(shù)以及通訊協(xié)議。
本實施例中,下位機通過無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式同上位機建立通訊連接。根據(jù)上位機發(fā)送的設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,以供完成后續(xù)的數(shù)據(jù)傳輸工作。
在本實施例中,通過通過靈活設(shè)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,使得本發(fā)明可以用于對多種汽車診斷儀進行開發(fā)與測試。
此外,本發(fā)明實施例還提供一種模擬汽車通訊的系統(tǒng)。所述模擬汽車通訊的系統(tǒng)包括:存儲器、處理器、通信總線以及存儲在所述存儲器上的模擬汽車通訊的程序。
如圖5所示,圖5是本發(fā)明實施例方案涉及的硬件運行環(huán)境的終端結(jié)構(gòu)示意圖。
本發(fā)明實施例模擬汽車通訊的系統(tǒng)包括交互的上位機和下位機以及診斷設(shè)備。上位機可以是pc,也可以是智能手機、平板電腦、便攜計算機等具有顯示功能的終端設(shè)備。下位機可通過串口或者usb口或者wifi、藍牙等方式同上位機建立通訊連接,下位機還可通過obd接口同汽車診斷設(shè)備建立通訊連接。
如圖1所示,該模擬汽車通訊的系統(tǒng)可以包括:處理器1001,例如cpu,網(wǎng)絡(luò)接口1004,用戶接口1003,存儲器1005,通信總線1002。其中,通信總線1002用于實現(xiàn)這些組件之間的連接通信。用戶接口1003可以包括顯示屏(display)、輸入單元比如鍵盤(keyboard),可選用戶接口1003還可以包括標(biāo)準的有線接口、無線接口。網(wǎng)絡(luò)接口1004可選的可以包括標(biāo)準的有線接口、無線接口(如wi-fi接口)。存儲器1005可以是高速ram存儲器,也可以是穩(wěn)定的存儲器(non-volatilememory),例如磁盤存儲器。存儲器1005可選的還可以是獨立于前述處理器1001的存儲裝置。
本領(lǐng)域技術(shù)人員可以理解,圖1中示出的終端結(jié)構(gòu)并不構(gòu)成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
如圖4所示,作為一種計算機存儲介質(zhì)的存儲器1005中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及模擬汽車通訊的程序。
在圖4所示的終端中,網(wǎng)絡(luò)接口1004主要用于連接后臺服務(wù)器,與后臺服務(wù)器進行數(shù)據(jù)通信;用戶接口1003主要用于連接客戶端(用戶端),與客戶端進行數(shù)據(jù)通信;而處理器1001可以用于調(diào)用存儲器1005中存儲的模擬汽車通訊的程序,并執(zhí)行以下操作:
接收下位機基于汽車檢測儀發(fā)出的檢測命令所發(fā)送的詢問命令;
在本實施例中,下位機同上位機建立連接通訊的方式不限,可以是無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式,在此不作限制,具體根據(jù)實際情況選擇合適的方式。
在本實施例中,檢測命令由汽車診斷儀發(fā)送至下位機,然后由下位機將檢測命令對應(yīng)的詢問命令(檢測命令與詢問命令一致)發(fā)送至上位機。該詢問命令是指請求獲取某一車系車輛的數(shù)據(jù)流,以供汽車診斷儀在獲取到該車系車輛的數(shù)據(jù)流后對該車輛的工作狀況進行診斷。汽車數(shù)據(jù)流是指電子控制單元(ecu)與傳感器和執(zhí)行器交流的數(shù)據(jù)參數(shù),包括冷卻液溫度、發(fā)動機轉(zhuǎn)速、發(fā)動機負荷、發(fā)動機每循環(huán)噴油持續(xù)時間等信息。本發(fā)明中自由設(shè)置這些數(shù)據(jù)參數(shù),得到模擬的汽車數(shù)據(jù)流,以供汽車診斷儀對模擬的汽車數(shù)據(jù)流進行診斷。
判斷預(yù)置的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令;
若數(shù)據(jù)庫中存在所述回復(fù)命令,則將所述回復(fù)命令發(fā)送至所述下位機,以供下位機反饋至汽車檢測儀。
在本實施例中,回復(fù)命令包含了汽車數(shù)據(jù)流(即代表一種汽車狀態(tài)),可供汽車診斷儀根據(jù)回復(fù)命令中的汽車數(shù)據(jù)流進行診斷工作。本實施例中,回復(fù)命令可自由更改,即將汽車數(shù)據(jù)流進行更改,以供汽車診斷儀對不同的汽車數(shù)據(jù)流(即代表汽車的不同狀態(tài))進行診斷。
本實施例中,根據(jù)車系不同,建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,其中詢問命令同回復(fù)命令一一對應(yīng)。如表1所示,表1為一實施例的數(shù)據(jù)庫列表。
表1
例如,若此時詢問命令2對應(yīng)車系2,則在車系2對應(yīng)的數(shù)據(jù)庫中中尋找詢問命令2對應(yīng)的回復(fù)命令2。
在本實施例中,通過自由設(shè)置詢問命令對應(yīng)的回復(fù)命令(汽車數(shù)據(jù)流參數(shù)),以供汽車診斷儀對回復(fù)命令中包含的汽車數(shù)據(jù)流進行診斷,即通過模擬的汽車數(shù)據(jù)流完成對汽車診斷儀的開發(fā)和測試,而不需要實際車輛參與,節(jié)省了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步地,處理器1001可以調(diào)用存儲器1005中存儲的模擬汽車通訊的程序,還執(zhí)行以下操作:
根據(jù)車系類型將對應(yīng)的若干詢問命令以及對應(yīng)的回復(fù)命令關(guān)聯(lián)存儲在所述車系對應(yīng)的數(shù)據(jù)庫中。
在本實施例中,根據(jù)車系不同,建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,其中詢問命令同回復(fù)命令一一對應(yīng)。如表1所示,表1為一實施例的數(shù)據(jù)庫列表。
表1
在本實施例中,還可以根據(jù)汽車檢測儀需要檢測的車系來建立數(shù)據(jù)庫,例如,當(dāng)前需要對汽車檢測儀a的功能進行測試,汽車檢測儀a支持檢測的車系為車系3,則根據(jù)車系3建立對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫。
在本實施例中,在對汽車檢測儀的功能進行測試前,根據(jù)汽車檢測儀檢測的車系類型,在上位機中建立該車系對應(yīng)的詢問命令以及回復(fù)命令的數(shù)據(jù)庫,使得不需要通過實際的車輛,而是通過回復(fù)命令(模擬汽車數(shù)據(jù)流)完成對汽車檢測儀的開發(fā)與測試,節(jié)省了時間與經(jīng)費。
進一步地,處理器1001可以調(diào)用存儲器1005中存儲的模擬汽車通訊的程序,還執(zhí)行以下操作:
確定所述詢問命令對應(yīng)的車系;
判斷所述車系對應(yīng)的數(shù)據(jù)庫中是否存在所述詢問命令對應(yīng)的回復(fù)命令。
在本實施例中,例如,此時需要測試汽車診斷儀對某一車系車輛進行檢測的檢測效果,例如,針對車系a,汽車診斷儀發(fā)出對應(yīng)的檢測命令(請求獲取車系a的數(shù)據(jù)流),上位機在接收到該檢測命令(即詢問命令)后,在存儲的數(shù)據(jù)庫中,查找車系a對應(yīng)的數(shù)據(jù)庫,在車系a對應(yīng)的數(shù)據(jù)庫中查找該詢問命令對應(yīng)的回復(fù)命令(包含汽車數(shù)據(jù)流),然后將該回復(fù)命令發(fā)送給下位機,通過下位機對該回復(fù)命令進行格式化后發(fā)送至汽車診斷儀。
在本實施例中,為每個車系建立對應(yīng)的數(shù)據(jù)庫,實現(xiàn)測試汽車診斷儀對不同車系的檢測效果,且不需要實際車輛參與,節(jié)省了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步地,處理器1001可以調(diào)用存儲器1005中存儲的模擬汽車通訊的程序,還執(zhí)行以下操作:
當(dāng)接收到來自汽車檢測儀發(fā)出的檢測命令,將所述檢測命令對應(yīng)的詢問命令發(fā)送至上位機;
當(dāng)接收到來自上位機發(fā)送的回復(fù)命令,根據(jù)預(yù)置通訊協(xié)議對所述回復(fù)命令進行格式轉(zhuǎn)化,將所述格式轉(zhuǎn)化后的回復(fù)命令發(fā)送至汽車檢測儀。
在本實施例中,診斷設(shè)備為汽車診斷儀,汽車診斷儀是一款專門針對汽車檢測的專業(yè)儀器,可實時檢測車輛的性能,并對車輛故障進行檢測,是檢測車輛必備的一種工具。本實施例中,下位機通過預(yù)置obd接口以can總線的形式同汽車診斷儀建立通訊連接。下位機通過無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式同上位機建立通訊連接。下位機接收到來自汽車診斷儀發(fā)出的詢問命令,將所述詢問命令發(fā)送至上位機。
參照圖4,圖4為本發(fā)明模擬汽車通訊的方法第三實施例的流程示意圖。
本實施例中,下位機通過上述方式同上位機以及汽車診斷儀建立通訊連接,根據(jù)上位機發(fā)送的設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,以供完成后續(xù)的數(shù)據(jù)傳輸工作。當(dāng)接收到來自obd總線的基于汽車檢測儀發(fā)出的檢測命令時,將該命令通過有線或無線通訊方式發(fā)送至上位機;當(dāng)接收到來自上位機的回復(fù)命令時,根據(jù)汽車診斷儀的類型,按照預(yù)置通訊協(xié)議(bosh、canbus、kwp、pwm、vpw)對回復(fù)命令進行格式化,以供格式化后的回復(fù)命令能被汽車診斷設(shè)備處理。其中,作為iso11898can標(biāo)準的canbus,是制造廠中連接現(xiàn)場設(shè)備(傳感器、執(zhí)行器、控制器等)、面向廣播的串性總線系統(tǒng)。kwp是obdii通訊協(xié)議的一種。pwm指脈沖寬度調(diào)制。vpw指可變脈寬調(diào)制。
在本實施例中,通過在下位機預(yù)置通訊協(xié)議以供對上位機發(fā)送的回復(fù)命令進行格式化,使得格式化后的回復(fù)命令能夠被診斷設(shè)備處理,使得本發(fā)明可以用于對多種汽車診斷儀進行開發(fā)與測試。
在本實施例中,當(dāng)需要對汽車診斷儀的功能進行開發(fā)或測試時,不需要車輛實際參與,通過上位機與下位機構(gòu)成模擬車輛,達到開發(fā)或測試汽車診斷儀的目的,節(jié)約了汽車診斷儀開發(fā)和測試的時間與經(jīng)費。
進一步地,處理器1001可以調(diào)用存儲器1005中存儲的模擬汽車通訊的程序,還執(zhí)行以下操作:
接收上位機發(fā)出的設(shè)置命令,根據(jù)所述設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通訊參數(shù)以及通訊協(xié)議。
本實施例中,下位機通過無線連接,例如通過wifi、藍牙等無線連接方式,還可以是有線連接,例如通過串口或者usb口使用數(shù)據(jù)線建立通訊等方式同上位機建立通訊連接。根據(jù)上位機發(fā)送的設(shè)置命令,設(shè)置預(yù)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,以供完成后續(xù)的數(shù)據(jù)傳輸工作。
在本實施例中,通過通過靈活設(shè)置通訊收發(fā)器的通信參數(shù)以及通訊協(xié)議,使得本發(fā)明可以用于對多種汽車診斷儀進行開發(fā)與測試。
此外,本發(fā)明實施例還提出一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有模擬汽車通訊的程序,所述模擬汽車通訊的程序被處理器執(zhí)行時實現(xiàn)如上述模擬汽車通訊的方法的步驟。
本發(fā)明計算機可讀存儲介質(zhì)的具體實施例與上述模擬汽車通訊的方法的實施例大致相同,在此不做贅述。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在如上所述的一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。