本公開(kāi)涉及設(shè)備監(jiān)控相關(guān),具體地說(shuō),是涉及一種基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控方法及系統(tǒng)。
背景技術(shù):
1、本部分的陳述僅僅是提供了與本公開(kāi)相關(guān)的背景技術(shù)信息,并不必然構(gòu)成在先技術(shù)。
2、在電子測(cè)試測(cè)量領(lǐng)域,測(cè)試設(shè)備呈現(xiàn)多樣化和復(fù)雜化,不同廠家生產(chǎn)的測(cè)試設(shè)備儀器采用不同的通信協(xié)議。為了實(shí)現(xiàn)對(duì)這些測(cè)試設(shè)備的統(tǒng)一控制與管理,通常會(huì)開(kāi)發(fā)電子測(cè)試測(cè)量?jī)x器控制平臺(tái),既可以方便操作人員遠(yuǎn)程控制測(cè)試設(shè)備并獲取相關(guān)數(shù)據(jù),又能同時(shí)對(duì)多臺(tái)測(cè)試設(shè)備進(jìn)行操作。
3、發(fā)明人在研究中發(fā)現(xiàn),當(dāng)前的電子測(cè)試測(cè)量控制平臺(tái)在實(shí)際應(yīng)用中存在以下技術(shù)問(wèn)題:
4、1)由于測(cè)試測(cè)量領(lǐng)域的特殊性,在一個(gè)測(cè)試環(huán)境中,對(duì)不同測(cè)試設(shè)備操作的順序不同會(huì)導(dǎo)致錯(cuò)誤的結(jié)果,目前的平臺(tái)卻忽略了測(cè)試設(shè)備操作先后順序不同可能導(dǎo)致出現(xiàn)不同的結(jié)果。儀器測(cè)試平臺(tái)對(duì)于操作指令進(jìn)行下發(fā)操作,不關(guān)心命令到達(dá)儀器的先后順序,這會(huì)對(duì)整個(gè)測(cè)試生態(tài)造成不利影響。例如要操作示波器和信號(hào)發(fā)生器時(shí),需要先操作信號(hào)發(fā)生器,之后示波器可以接收到信號(hào)發(fā)生器發(fā)來(lái)的電信號(hào),而由于通信協(xié)議的不同以及網(wǎng)絡(luò)阻塞等原因,先下發(fā)的命令可能后達(dá)到儀器,因此就會(huì)產(chǎn)生錯(cuò)誤。
5、2)現(xiàn)有平臺(tái)開(kāi)發(fā)和維護(hù)成本高昂,需要專(zhuān)業(yè)的技術(shù)支持和大量定制化開(kāi)發(fā),導(dǎo)致系統(tǒng)復(fù)雜性高。由于測(cè)試設(shè)備儀器的通信協(xié)議和通信數(shù)據(jù)格式存在差異,需要針對(duì)每種設(shè)備進(jìn)行適配,導(dǎo)致平臺(tái)的兼容性和一致性存在問(wèn)題。例如對(duì)示波器進(jìn)行控制和監(jiān)控只能單獨(dú)設(shè)計(jì)一個(gè)平臺(tái),無(wú)法做到多個(gè)不同儀器之間的消息互通,多個(gè)測(cè)試平臺(tái)想要與儀器進(jìn)行通信,需要每個(gè)平臺(tái)單獨(dú)與儀器進(jìn)行連接,無(wú)法做到儀器的數(shù)據(jù)共享和狀態(tài)監(jiān)測(cè)。控制不同儀器之間進(jìn)行通信則往往需要專(zhuān)業(yè)的技術(shù)人員進(jìn)行操作,不能同時(shí)兼容不同通信協(xié)議的設(shè)備,系統(tǒng)兼容性差、開(kāi)發(fā)和維護(hù)成本高昂。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)為了解決上述問(wèn)題,提出了一種基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控方法及系統(tǒng),設(shè)置搭載一節(jié)點(diǎn)軟件的測(cè)試節(jié)點(diǎn)軟件終端,作為中間件處理來(lái)自測(cè)試設(shè)備和服務(wù)器的命令或數(shù)據(jù),通過(guò)設(shè)置的節(jié)點(diǎn)軟件,統(tǒng)一了多種測(cè)試儀器通信協(xié)議,解決了多協(xié)議設(shè)備控制平臺(tái)兼容性差的問(wèn)題。
2、為了實(shí)現(xiàn)上述目的,本公開(kāi)采用如下技術(shù)方案:
3、一個(gè)或多個(gè)實(shí)施例提供了基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),包括搭載電子測(cè)試測(cè)量控制平臺(tái)的服務(wù)器,搭載測(cè)試節(jié)點(diǎn)軟件的測(cè)試節(jié)點(diǎn)軟件終端,以及測(cè)試設(shè)備;
4、測(cè)試節(jié)點(diǎn)軟件終端中,建立協(xié)議庫(kù)集成多種測(cè)試設(shè)備通信協(xié)議,每一種協(xié)議配置對(duì)應(yīng)的協(xié)議接口;根據(jù)接收到的命令采用基于主題識(shí)別的動(dòng)態(tài)調(diào)用機(jī)制,智能調(diào)用對(duì)應(yīng)的協(xié)議接口,與對(duì)應(yīng)的測(cè)試設(shè)備建立連接。
5、一個(gè)或多個(gè)實(shí)施例提供了基于上述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng)的監(jiān)控方法,在測(cè)試節(jié)點(diǎn)軟件終端中執(zhí)行,包括如下步驟:
6、獲取服務(wù)器下發(fā)的命令;
7、接收到命令先將命令存入命令隊(duì)列,基于mqtt協(xié)議主題識(shí)別的動(dòng)態(tài)調(diào)用機(jī)制,根據(jù)命令解析后的協(xié)議標(biāo)識(shí)信息智能調(diào)用對(duì)應(yīng)的協(xié)議接口,與執(zhí)行命令的測(cè)試設(shè)備建立連接;
8、采用命令隊(duì)列與設(shè)備映射機(jī)制以及多線程方法,按照隊(duì)列順序依次下發(fā)給對(duì)應(yīng)的測(cè)試設(shè)備,以使得測(cè)試設(shè)備收到命令后執(zhí)行相應(yīng)的操作,并將數(shù)據(jù)返回至節(jié)點(diǎn)軟件終端;
9、通過(guò)相應(yīng)mqtt協(xié)議主題,將測(cè)試設(shè)備返回的數(shù)據(jù)傳輸至服務(wù)器。
10、與現(xiàn)有技術(shù)相比,本公開(kāi)的有益效果為:
11、(1)本公開(kāi)通過(guò)設(shè)置的節(jié)點(diǎn)軟件,統(tǒng)一了多種測(cè)試儀器通信協(xié)議。針對(duì)測(cè)試儀器控制中可能存在的命令達(dá)到順序不一致,導(dǎo)致設(shè)備出錯(cuò)的情況,采取了命令隊(duì)列與設(shè)備映射機(jī)制以及多線程方法,既保證了相同設(shè)備命令的按序執(zhí)行,也保證了平臺(tái)操作不同設(shè)備的效率。
12、采用mqtt協(xié)議作為消息傳遞的基礎(chǔ),實(shí)現(xiàn)了不同平臺(tái)之間通過(guò)訂閱主題來(lái)共享和訪問(wèn)設(shè)備信息,無(wú)需重復(fù)建立通信連接,有效節(jié)省了網(wǎng)絡(luò)資源,提高了通信效率。
13、本公開(kāi)的優(yōu)點(diǎn)以及附加方面的優(yōu)點(diǎn)將在下面的具體實(shí)施例中進(jìn)行詳細(xì)說(shuō)明。
1.基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:包括搭載電子測(cè)試測(cè)量控制平臺(tái)的服務(wù)器,搭載測(cè)試節(jié)點(diǎn)軟件的測(cè)試節(jié)點(diǎn)軟件終端,以及測(cè)試設(shè)備;
2.如權(quán)利要求1所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:測(cè)試節(jié)點(diǎn)軟件終端采用發(fā)布/訂閱模式,服務(wù)器訂閱主題;測(cè)試節(jié)點(diǎn)軟件終端根據(jù)主題訂閱信息向?qū)?yīng)的服務(wù)器進(jìn)行消息的發(fā)布。
3.如權(quán)利要求1所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:測(cè)試節(jié)點(diǎn)軟件終端包括數(shù)據(jù)解析模塊,被配置為對(duì)接收自測(cè)試設(shè)備的數(shù)據(jù)進(jìn)行消息提??;對(duì)來(lái)自服務(wù)器的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,得到解析后的信息;
4.如權(quán)利要求3所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:首次連接對(duì)應(yīng)的測(cè)試設(shè)備存儲(chǔ)的連接信息為:設(shè)置的句柄集合中,對(duì)應(yīng)測(cè)試設(shè)備在第一次建立連接時(shí)設(shè)置的句柄。
5.如權(quán)利要求3所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:測(cè)試節(jié)點(diǎn)軟件終端還包括動(dòng)態(tài)調(diào)用模塊,被配置為根據(jù)數(shù)據(jù)解析模塊解析出的協(xié)議信息調(diào)用對(duì)應(yīng)的協(xié)議接口;
6.如權(quán)利要求3所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:測(cè)試節(jié)點(diǎn)軟件終端還包括事件上報(bào)模塊,被配置為用于上報(bào)處理數(shù)據(jù)傳輸和處理數(shù)據(jù)過(guò)程中的錯(cuò)誤、異常事件。
7.如權(quán)利要求3所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng),其特征在于:測(cè)試節(jié)點(diǎn)軟件終端還包括隊(duì)列與多線程調(diào)用模塊,被配置為針對(duì)不同協(xié)議的測(cè)試設(shè)備設(shè)置不同的線程,對(duì)于同一測(cè)試設(shè)備設(shè)置命令隊(duì)列,同時(shí)通過(guò)消息的定義,實(shí)現(xiàn)不同設(shè)備間的命令順序執(zhí)行;
8.基于權(quán)利要求1-7任一項(xiàng)所述的基于mqtt協(xié)議的測(cè)試設(shè)備監(jiān)控系統(tǒng)的監(jiān)控方法,在測(cè)試節(jié)點(diǎn)軟件終端中執(zhí)行,其特征在于,包括如下步驟:
9.如權(quán)利要求8所述的監(jiān)控方法,其特征在于,消息解析過(guò)程包括如下步驟:
10.如權(quán)利要求8所述的監(jiān)控方法,其特征在于: