物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法
【專利摘要】本發(fā)明公開(kāi)了一種物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,包括如下步驟:設(shè)計(jì)平臺(tái)通信協(xié)議枚舉類型;設(shè)定平臺(tái)通信協(xié)議內(nèi)容;序列化平臺(tái)通信協(xié)議;協(xié)議解析。相對(duì)于其他物聯(lián)網(wǎng)平臺(tái)通信協(xié)議,本發(fā)明成功解決了物聯(lián)網(wǎng)平臺(tái)傳輸數(shù)據(jù)量大、自成體系、難以兼容其他系統(tǒng)及難以擴(kuò)展等缺陷。
【專利說(shuō)明】物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于物聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,具體是一種物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,更具體涉及一種能在物聯(lián)網(wǎng)系統(tǒng)內(nèi)部實(shí)現(xiàn)信息交換和互聯(lián)共享的平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,普遍適用于物聯(lián)網(wǎng)領(lǐng)域相關(guān)信息系統(tǒng)。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)時(shí)代的到來(lái),物聯(lián)網(wǎng)的應(yīng)用范圍正在變得越來(lái)越大,各種物聯(lián)網(wǎng)設(shè)備都需要接入到物聯(lián)網(wǎng)相關(guān)系統(tǒng),例如辦公室會(huì)在需要的時(shí)候自動(dòng)定購(gòu)辦公物品;衣服和身體上的傳感器會(huì)實(shí)時(shí)將我們的健康數(shù)據(jù)傳輸醫(yī)生;冰箱內(nèi)的牛奶沒(méi)有了,會(huì)自動(dòng)從食品店那里定購(gòu)牛奶。這類M2M(機(jī)器對(duì)機(jī)器)通信是物聯(lián)網(wǎng)的關(guān)鍵之處。
[0003]隨著技術(shù)的發(fā)展,傳感器技術(shù)、納米技術(shù)、全球定位技術(shù)、智能終端技術(shù)等也加入到物聯(lián)網(wǎng)中,物聯(lián)網(wǎng)的標(biāo)準(zhǔn)概念得到了擴(kuò)展,提出了任何時(shí)刻、任何地點(diǎn)、任何物體之間的互聯(lián),無(wú)所不在的網(wǎng)絡(luò)和無(wú)所不在的計(jì)算的發(fā)展前景。但目前物聯(lián)網(wǎng)大多是在特定行業(yè)或企業(yè)閉環(huán)應(yīng)用,這些閉環(huán)應(yīng)用有自己的協(xié)議、標(biāo)準(zhǔn)和平臺(tái),自成體系,很難兼容,信息也難以共享。物聯(lián)網(wǎng)的標(biāo)準(zhǔn)成為了物聯(lián)網(wǎng)發(fā)展的一個(gè)比較大的障礙。盡快統(tǒng)一技術(shù)標(biāo)準(zhǔn),形成一個(gè)管理機(jī)制,這是物聯(lián)網(wǎng)馬上就要面對(duì)的問(wèn)題。目前物聯(lián)網(wǎng)在通信協(xié)議方面的問(wèn)題主要如下:
[0004]1.平臺(tái)通信協(xié)議缺乏:目前物聯(lián)網(wǎng)協(xié)議標(biāo)準(zhǔn)的制定主要集中在傳輸層的網(wǎng)絡(luò)通信協(xié)議層面,而用于物聯(lián)網(wǎng)應(yīng)用層之間通信的平臺(tái)協(xié)議卻鮮有人研究。
[0005]2.傳輸數(shù)據(jù)量大:在平臺(tái)通信協(xié)議層面,有研究人員采用XMPP等XML機(jī)制,但其數(shù)據(jù)傳輸量大,會(huì)大大增加物聯(lián)網(wǎng)平臺(tái)的網(wǎng)絡(luò)負(fù)載。
[0006]3.自成體系,很難兼容其他系統(tǒng)。目前物聯(lián)網(wǎng)大多是在特定行業(yè)或企業(yè)閉環(huán)應(yīng)用,這些閉環(huán)應(yīng)用有自己的協(xié)議、標(biāo)準(zhǔn)和平臺(tái),自成體系,很難兼容,信息也難以共享。
【發(fā)明內(nèi)容】
[0007]發(fā)明目的:針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題和不足,本發(fā)明的目的是提供一種物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,相對(duì)于其他物聯(lián)網(wǎng)平臺(tái)通信協(xié)議,成功解決了傳輸數(shù)據(jù)量大、自成體系、難以兼容其他系統(tǒng)及難以擴(kuò)展等缺陷。
[0008]技術(shù)方案:為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為一種物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,包括如下步驟:
[0009]( I)設(shè)計(jì)平臺(tái)通信協(xié)議枚舉類型;
[0010](2)設(shè)計(jì)平臺(tái)通信協(xié)議內(nèi)容;
[0011](3)序列化平臺(tái)通信協(xié)議;
[0012](4)協(xié)議解析。
[0013]優(yōu)選的,所述步驟(I)包括:
[0014]a)設(shè)定設(shè)備枚舉:抽象出系統(tǒng)中所能處理的終端設(shè)備類型,設(shè)置終端名稱,并存放于同一個(gè)類型描述符中;
[0015]b)設(shè)定消息通道枚舉:根據(jù)消息的傳輸形式,設(shè)定消息通道,并存放于同一個(gè)類型描述符中;
[0016]c)設(shè)定消息分類枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息命令抽象為若干分類,并存放于同一個(gè)類型描述符中;
[0017]d)設(shè)定參數(shù)類型枚舉:將物聯(lián)網(wǎng)終端之間的靜態(tài)及動(dòng)態(tài)參數(shù)抽象出來(lái),并存放于同一個(gè)類型描述符中;
[0018]e)設(shè)定消息指令枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息指令進(jìn)行抽象,并存放于同一個(gè)類型描述符中。
[0019]優(yōu)選的,所述步驟(2 )包括:
[0020]I)設(shè)定消息頭協(xié)議:按照硬件終端的消息頭格式,抽象為平臺(tái)理解的消息頭協(xié)議;
[0021]2)設(shè)定原始數(shù)據(jù)協(xié)議:將消息相關(guān)數(shù)據(jù)組合在一起,抽象為原始數(shù)據(jù)協(xié)議;
[0022]3)設(shè)定解析數(shù)據(jù)協(xié)議:將原始數(shù)據(jù)經(jīng)過(guò)解析后進(jìn)行封裝,抽象為解析數(shù)據(jù)協(xié)議,并將協(xié)議內(nèi)容--加入其中;
[0023]4)設(shè)定參數(shù)協(xié)議:將終端自身協(xié)議中約定的靜態(tài)及動(dòng)態(tài)參數(shù)進(jìn)行抽象,設(shè)定參數(shù)協(xié)議;
[0024]5)設(shè)定應(yīng)答結(jié)果協(xié)議:將應(yīng)答結(jié)果進(jìn)行抽象,形成應(yīng)答結(jié)果協(xié)議;
[0025]6)設(shè)定消息內(nèi)容協(xié)議:將終端自身協(xié)議中約定的消息命令進(jìn)行抽象,形成消息內(nèi)容協(xié)議;
[0026]7)設(shè)定下發(fā)指令協(xié)議:將對(duì)終端設(shè)備進(jìn)行操作的下發(fā)指令的形式進(jìn)行抽象,形成下發(fā)指令協(xié)議;
[0027]8)設(shè)定升級(jí)協(xié)議:將平臺(tái)與終端約定的通信協(xié)議中的升級(jí)部分進(jìn)行抽象,形成升級(jí)協(xié)議。
[0028]優(yōu)選的,所述步驟(3)包括:對(duì)所述平臺(tái)通信協(xié)議進(jìn)行結(jié)構(gòu)化消息格式定義,以及采用序列化工具生成編程語(yǔ)言類文件。
[0029]優(yōu)選的,所述步驟(4)包括:
[0030]A)按照所述平臺(tái)通信協(xié)議編寫原始數(shù)據(jù)封裝模塊,將終端上傳的二進(jìn)制數(shù)據(jù)解碼為原始數(shù)據(jù);
[0031]B)按照所述平臺(tái)通信協(xié)議編寫狀態(tài)數(shù)據(jù)解析模塊,此部分輸入為原始數(shù)據(jù),輸出為解析數(shù)據(jù):根據(jù)消息頭中的消息類型采用不同的協(xié)議解析方式,將消息體中的二進(jìn)制數(shù)據(jù)徹底解碼為終端采集到的狀態(tài)信息;
[0032]C)編寫下發(fā)命令封裝模塊,此部分輸入為下發(fā)命令,輸出為原始數(shù)據(jù):按照平臺(tái)通信協(xié)議將輸入的下發(fā)命令編碼為原始數(shù)據(jù)。
[0033]更優(yōu)選的,所述步驟(4)還包括:
[0034]D)編寫字節(jié)流數(shù)據(jù)解析模塊:將輸入的原始數(shù)據(jù)按照統(tǒng)一通信協(xié)議編碼為字節(jié)流數(shù)據(jù)。
[0035]有益效果:本發(fā)明與現(xiàn)有物聯(lián)網(wǎng)平臺(tái)通信協(xié)議相比,具有以下優(yōu)點(diǎn):
[0036]1.采用序列化框架作為物聯(lián)網(wǎng)平臺(tái)的底層通信框架,系統(tǒng)間通信采用二進(jìn)制格式,效率高,編碼緊湊,使用方便,格式靈活,大大減少平臺(tái)各系統(tǒng)間傳遞的網(wǎng)絡(luò)通信數(shù)據(jù)量。
[0037]2.設(shè)計(jì)了物聯(lián)網(wǎng)接入設(shè)備的硬件通信協(xié)議抽象化方法,并對(duì)這種抽象形式進(jìn)行了統(tǒng)一規(guī)范。
[0038]3.設(shè)計(jì)了協(xié)議解析器,其用于將物聯(lián)網(wǎng)接入設(shè)備的硬件通信協(xié)議轉(zhuǎn)化為物聯(lián)網(wǎng)平臺(tái)通信協(xié)議。
【專利附圖】
【附圖說(shuō)明】
[0039]圖1為物聯(lián)網(wǎng)平臺(tái)通信協(xié)議體系架構(gòu)圖;
[0040]圖2為上行通道協(xié)議交互流程示例圖;
[0041]圖3為下行通道協(xié)議交互流程示例圖。
【具體實(shí)施方式】
[0042]下面結(jié)合附圖和具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0043]本發(fā)明包括如下步驟:
[0044]1、設(shè)計(jì)物聯(lián)網(wǎng)統(tǒng)一平臺(tái)通信協(xié)議(簡(jiǎn)稱“平臺(tái)通信協(xié)議”或“物聯(lián)網(wǎng)平臺(tái)協(xié)議”或“平臺(tái)協(xié)議”或“統(tǒng)一通信協(xié)議”)枚舉類型
[0045]物聯(lián)網(wǎng)平臺(tái)協(xié)議中有很多常用變量,本發(fā)明采用枚舉類型來(lái)統(tǒng)一這些常用變量,其工作主要分為以下幾個(gè)部分:
[0046]1-1:設(shè)定設(shè)備枚舉
[0047]1-2:設(shè)定消息通道枚舉
[0048]1-3:設(shè)定消息分類枚舉
[0049]1-4:設(shè)定參數(shù)類型枚舉
[0050]1-5:設(shè)定消息命令枚舉
[0051]2、設(shè)定平臺(tái)通信協(xié)議
[0052]每種物聯(lián)網(wǎng)接入設(shè)備都有自己的硬件通信協(xié)議,需要相應(yīng)的轉(zhuǎn)化為平臺(tái)通信協(xié)議,其工作主要分為以下幾個(gè)部分:
[0053]2-1:設(shè)定消息頭協(xié)議
[0054]2-2:設(shè)定原始數(shù)據(jù)協(xié)議
[0055]2-3:設(shè)定解析數(shù)據(jù)協(xié)議
[0056]2-4:設(shè)定參數(shù)協(xié)議
[0057]2-5:設(shè)定應(yīng)答協(xié)議
[0058]2-6:設(shè)定消息內(nèi)容協(xié)議
[0059]2-7:設(shè)定下發(fā)指令協(xié)議
[0060]2-8:設(shè)定升級(jí)協(xié)議
[0061]3、序列化通信協(xié)議
[0062]本發(fā)明采用序列化框架作為平臺(tái)的底層通信框架,其基于二進(jìn)制,因此比傳統(tǒng)的 XMPP(Extensible Messaging and Presence Protocol), Json (JavaScript ObjectNotation)表示高效短小得多,具有效率高,編碼緊湊,使用方便,格式靈活,支持二進(jìn)制數(shù)據(jù)兼容,功能強(qiáng)大等諸多優(yōu)點(diǎn)。其工作步聚有以下幾步:
[0063]3-1:定義結(jié)構(gòu)化消息格式:把前面定義好的平臺(tái)協(xié)議按照一定的消息格式進(jìn)行結(jié)構(gòu)化定義。
[0064]3-2:生成類文件:采用序列化框架的命令行工具生成所需編程語(yǔ)言類文件。
[0065]4、協(xié)議解析
[0066]將接入設(shè)備的硬件通信協(xié)議轉(zhuǎn)化為平臺(tái)協(xié)議,需要采用協(xié)議解析器進(jìn)行協(xié)議解析工作,其工作主要分為以下步聚:
[0067]4-1.按照統(tǒng)一通信協(xié)議編寫原始數(shù)據(jù)封裝模塊;
[0068]4-2.按照統(tǒng)一通信協(xié)議編寫狀態(tài)數(shù)據(jù)解析模塊;
[0069]4-3.編寫下發(fā)命令封裝模塊;
[0070]4-4.編寫字節(jié)流數(shù)據(jù)解析模塊。
[0071]參照?qǐng)D1,本發(fā)明的物聯(lián)網(wǎng)統(tǒng)一平臺(tái)通信協(xié)議主要由設(shè)定通信協(xié)議枚舉類型,設(shè)定平臺(tái)通信協(xié)議,序列化通信協(xié)議和和協(xié)議解析器組成,這些組件都可以安裝在Linux或Windows操作系統(tǒng)之上。
[0072]軟件描述:
[0073]1.序列化框架:類似于XML,JSON這樣的數(shù)據(jù)表示語(yǔ)言,其最大的特點(diǎn)是基于二進(jìn)制,因此比傳統(tǒng)的XML表示高效短小得多。雖然是二進(jìn)制數(shù)據(jù)格式,但并沒(méi)有因此變得復(fù)雜,開(kāi)發(fā)人員通過(guò)按照一定的語(yǔ)法定義結(jié)構(gòu)化的消息格式,然后送給命令行工具,工具將自動(dòng)生成相關(guān)的類,可以支持多種編程語(yǔ)言環(huán)境。通過(guò)將這些類包含在項(xiàng)目中,就可以很輕松的調(diào)用相關(guān)方法來(lái)完成業(yè)務(wù)消息的序列化與反序列化工作。其大大減少了物聯(lián)網(wǎng)平臺(tái)之間的網(wǎng)絡(luò)數(shù)據(jù)傳輸量。
[0074]2.平臺(tái)通信協(xié)議設(shè)計(jì):將物聯(lián)網(wǎng)接入設(shè)備的硬件通信協(xié)議抽象為平臺(tái)系統(tǒng)之間的通信協(xié)議,定義相應(yīng)的數(shù)據(jù)結(jié)構(gòu)和接口,便于物聯(lián)網(wǎng)平臺(tái)之間的系統(tǒng)交互。
[0075]3.協(xié)議解析器(或稱“解析服務(wù)器”或“協(xié)議解析服務(wù)器”):用于將物聯(lián)網(wǎng)接入設(shè)備的二進(jìn)制通信協(xié)議轉(zhuǎn)換為前述設(shè)計(jì)的平臺(tái)通信協(xié)議,其可解析為原始數(shù)據(jù)協(xié)議和最終數(shù)據(jù)協(xié)議。
[0076]圖2為上行通道協(xié)議交互流程示例圖。物聯(lián)網(wǎng)接入設(shè)備上傳數(shù)據(jù)至接入平臺(tái)網(wǎng)關(guān)(簡(jiǎn)稱“接入網(wǎng)關(guān)”或“網(wǎng)關(guān)”),網(wǎng)關(guān)解析終端上傳數(shù)據(jù),設(shè)置上行通道類型,消息屬性分類,消息類型和消息頭,并封裝成原始數(shù)據(jù),網(wǎng)關(guān)將封裝好的原始數(shù)據(jù)傳至解析服務(wù)器,其判斷數(shù)據(jù)是否屬于各狀態(tài)數(shù)據(jù)(區(qū)域,應(yīng)答,位置,參數(shù)等),并封裝為解析數(shù)據(jù),解析數(shù)據(jù)傳至后端業(yè)務(wù)平臺(tái)(或稱“業(yè)務(wù)服務(wù)器”)進(jìn)行業(yè)務(wù)處理。
[0077]圖3為下行通道協(xié)議交互流程示例圖。業(yè)務(wù)服務(wù)器通過(guò)設(shè)置下行通道類型,消息屬性分類,消息類型以及相應(yīng)指令信息,封裝下發(fā)指令,協(xié)議解析服務(wù)器分析下發(fā)指令,判斷其是否屬于升級(jí)、區(qū)域或基本參數(shù)信息,封裝成原始數(shù)據(jù),傳至接入網(wǎng)關(guān),網(wǎng)關(guān)將原始數(shù)據(jù)封裝成二進(jìn)制數(shù)據(jù)發(fā)給物聯(lián)網(wǎng)接入設(shè)備。
[0078]本發(fā)明的整體流程包括:設(shè)計(jì)通信協(xié)議枚舉類型,設(shè)計(jì)平臺(tái)通信協(xié)議,序列化通信協(xié)議和協(xié)議解析。[0079]具體包括如下工作步驟:
[0080]I)設(shè)計(jì)通信協(xié)議枚舉類型
[0081]物聯(lián)網(wǎng)平臺(tái)協(xié)議中有很多常用變量,本發(fā)明采用枚舉類型來(lái)統(tǒng)一這些常量,其工作分以下幾個(gè)部分:
[0082]1-1:設(shè)定設(shè)備枚舉:抽象出系統(tǒng)中所能處理的終端設(shè)備類型,并設(shè)置終端名稱,如車載終端,冰箱,電視等,存放于同一個(gè)類型描述符中。
[0083]1-2:設(shè)定消息通道枚舉:根據(jù)消息的傳輸形式,設(shè)定消息通道,如上行通道,下行通道,存放于同一個(gè)類型描述符中。
[0084]1-3:設(shè)定消息分類枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息命令抽象為幾大類,如終端狀態(tài)指示分類,升級(jí)消息分類等,并存放于同一個(gè)類型描述符中。
[0085]1-4:設(shè)定參數(shù)類型枚舉:將物聯(lián)網(wǎng)終端之間的靜態(tài)及動(dòng)態(tài)參數(shù)抽象出來(lái),如數(shù)據(jù)上傳時(shí)間間隔,心跳間隔,服務(wù)器IP等,并存放于同一個(gè)類型描述符中。
[0086]1-5:設(shè)定消息指令枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息指令進(jìn)行抽象,如心跳指令,GPS定位指令,設(shè)置參數(shù)指令等,并存放于同一個(gè)類型描述符中。
[0087]2)設(shè)定平臺(tái)通信協(xié)議
[0088]每種物聯(lián)網(wǎng)接入設(shè)備都有自己的硬件通信協(xié)議,需要相應(yīng)的轉(zhuǎn)化為平臺(tái)通信協(xié)議,其工作分為以下幾個(gè)部分:
[0089]2-1:設(shè)定消息頭協(xié)議:按照硬件終端的消息頭格式,抽象為平臺(tái)理解的消息頭協(xié)議,一般有消息標(biāo)識(shí),協(xié)議版本,消息長(zhǎng)度,消息序號(hào),終端類型,終端ID,消息時(shí)間,消息方向等。
[0090]2-2:設(shè)定原始數(shù)據(jù)協(xié)議:將消息頭與消息體等數(shù)據(jù)組合在一起,抽象為原始數(shù)據(jù)協(xié)議,一般有消息頭,消息體,消息記錄ID,消息通道類型,消息指令分類等。
[0091]2-3:設(shè)定解析數(shù)據(jù)協(xié)議:將原始數(shù)據(jù)經(jīng)過(guò)解析后進(jìn)行封裝,抽象為解析數(shù)據(jù)協(xié)議,并將協(xié)議內(nèi)容一一加入其中,這里的協(xié)議內(nèi)容如協(xié)議頭,應(yīng)答結(jié)果,心跳數(shù)據(jù),GPS位置
信息等。
[0092]2-4:設(shè)定參數(shù)協(xié)議:將終端自身協(xié)議中約定的靜態(tài)及動(dòng)態(tài)參數(shù)進(jìn)行抽象,設(shè)定參數(shù)協(xié)議,一般有參數(shù)類型,參數(shù)長(zhǎng)度和參數(shù)值。
[0093]2-5:設(shè)定應(yīng)答結(jié)果協(xié)議:物聯(lián)網(wǎng)終端與平臺(tái)之間的通信協(xié)議中一般會(huì)約定應(yīng)答機(jī)制,將應(yīng)答結(jié)果進(jìn)行抽象,形成應(yīng)答結(jié)果協(xié)議,一般有應(yīng)答是否成功,錯(cuò)誤代碼。
[0094]2-6:設(shè)定消息內(nèi)容協(xié)議:終端自身協(xié)議中約定了各個(gè)消息命令,將這些消息命令進(jìn)行抽象,形成消息內(nèi)容協(xié)議,如GPS位置信息,心跳信息,工況信息,升級(jí)信息等。
[0095]2-7:設(shè)定下發(fā)指令協(xié)議:物聯(lián)網(wǎng)平臺(tái)經(jīng)常需要對(duì)終端設(shè)備進(jìn)行某種操作,其是通過(guò)下發(fā)指令的形式進(jìn)行,將其進(jìn)行抽象形成下發(fā)指令協(xié)議,一般有消息頭,消息通道,消息屬性,軟件中心回應(yīng)消息。
[0096]2-8:設(shè)定升級(jí)協(xié)議:物聯(lián)網(wǎng)終端設(shè)備大多具有遠(yuǎn)程升級(jí)功能,將物聯(lián)網(wǎng)平臺(tái)與終端約定的通信協(xié)議中的升級(jí)部分進(jìn)行抽象,形成升級(jí)協(xié)議,一般有升級(jí)類型,升級(jí)地址長(zhǎng)度,升級(jí)IP地址,F(xiàn)TP端口,用戶名長(zhǎng)度,用戶名,密碼長(zhǎng)度,密碼,文件長(zhǎng)度,文件名。
[0097]3)序列化通信協(xié)議
[0098]本發(fā)明采用序列化框架protocol buffer作為物聯(lián)網(wǎng)平臺(tái)的底層通信框架,其基于二進(jìn)制,因此比傳統(tǒng)的XMPP,JASON等表示高效短小得多,具有效率高,編碼緊湊,使用方便,格式靈活,支持二進(jìn)制數(shù)據(jù)兼容,功能強(qiáng)大等諸多優(yōu)點(diǎn)。其工作主要有以下幾步:
[0099]3-1:定義結(jié)構(gòu)化消息格式:把前面定義好的平臺(tái)協(xié)議按照一定的消息格式進(jìn)行
結(jié)構(gòu)化定義,每段信息是一小段邏輯記錄,包含一系列的鍵值對(duì),如下示例:
[0100]
【權(quán)利要求】
1.一種物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,包括如下步驟: (1)設(shè)計(jì)平臺(tái)通信協(xié)議枚舉類型; (2)設(shè)計(jì)平臺(tái)通信協(xié)議內(nèi)容; (3)序列化平臺(tái)通信協(xié)議; (4)協(xié)議解析。
2.根據(jù)權(quán)利要求1所述物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,其特征在于:所述步驟(1)包括: a)設(shè)定設(shè)備枚舉:抽象出系統(tǒng)中所能處理的終端設(shè)備類型,設(shè)置終端名稱,并存放于同一個(gè)類型描述符中; b)設(shè)定消息通道枚舉:根據(jù)消息的傳輸形式,抽象出各消息通道,并存放于同一個(gè)類型描述符中; c)設(shè)定消息分類枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息命令抽象為若干分類,并存放于同一個(gè)類型描述符中; d)設(shè)定參數(shù)類型枚舉:將物聯(lián)網(wǎng)終端之間的靜態(tài)及動(dòng)態(tài)參數(shù)抽象出來(lái),并存放于同一個(gè)類型描述符中; e)設(shè)定消息指令枚舉:根據(jù)物聯(lián)網(wǎng)終端與平臺(tái)之間約定的通信協(xié)議,將消息指令進(jìn)行抽象,并存放于同一個(gè)類型描述符中。
3.根據(jù)權(quán)利要求1所述物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,其特征在于:所述步驟(2)包括: 1)設(shè)定消息頭協(xié)議:按照硬件終端的消息頭格式,抽象為平臺(tái)理解的消息頭協(xié)議; 2)設(shè)定原始數(shù)據(jù)協(xié)議:將消息相關(guān)數(shù)據(jù)組合在一起,抽象為原始數(shù)據(jù)協(xié)議; 3)設(shè)定解析數(shù)據(jù)協(xié)議:將原始數(shù)據(jù)經(jīng)過(guò)解析后進(jìn)行封裝,抽象為解析數(shù)據(jù)協(xié)議,并將協(xié)議內(nèi)容加入其中; 4)設(shè)定參數(shù)協(xié)議:將終端自身協(xié)議中約定的靜態(tài)及動(dòng)態(tài)參數(shù)進(jìn)行抽象,設(shè)定參數(shù)協(xié)議; 5)設(shè)定應(yīng)答結(jié)果協(xié)議:將應(yīng)答結(jié)果進(jìn)行抽象,形成應(yīng)答結(jié)果協(xié)議; 6)設(shè)定消息內(nèi)容協(xié)議:將終端自身協(xié)議中約定的消息命令進(jìn)行抽象,形成消息內(nèi)容協(xié)議; 7)設(shè)定下發(fā)指令協(xié)議:將對(duì)終端設(shè)備進(jìn)行操作的下發(fā)指令的形式進(jìn)行抽象,形成下發(fā)指令協(xié)議; 8)設(shè)定升級(jí)協(xié)議:將平臺(tái)與終端約定的通信協(xié)議中的升級(jí)部分進(jìn)行抽象,形成升級(jí)協(xié)議。
4.根據(jù)權(quán)利要求1所述物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,其特征在于:所述步驟(3)包括:對(duì)所述平臺(tái)通信協(xié)議進(jìn)行結(jié)構(gòu)化消息格式定義,以及采用序列化工具生成編程語(yǔ)言類文件。
5.根據(jù)權(quán)利要求1所述物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,其特征在于:所述步驟(4)包括: A)按照所述平臺(tái)通信協(xié)議編寫原始數(shù)據(jù)協(xié)議封裝模塊,將終端上傳的二進(jìn)制數(shù)據(jù)解碼為原始數(shù)據(jù);B)按照所述平臺(tái)通信協(xié)議編寫狀態(tài)數(shù)據(jù)解析模塊,此部分輸入為原始數(shù)據(jù),輸出為解析數(shù)據(jù):根據(jù)消息頭中的消息類型采用不同的協(xié)議解析方式,將消息體中的二進(jìn)制數(shù)據(jù)徹底解碼為終端采集到的狀態(tài)信息; C)編寫下發(fā)命令封裝模塊,此部分輸入為下發(fā)命令,輸出為原始數(shù)據(jù):按照平臺(tái)通信協(xié)議將輸入的下發(fā)命令編碼為原始數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述物聯(lián)網(wǎng)平臺(tái)通信協(xié)議的實(shí)現(xiàn)方法,其特征在于:所述步驟(4)還包括: D)編寫字節(jié)流數(shù)據(jù)解析模塊:將輸入的原始數(shù)據(jù)按照統(tǒng)一通信協(xié)議編碼為字節(jié)流數(shù)據(jù)。`
【文檔編號(hào)】H04L29/06GK103747004SQ201410022490
【公開(kāi)日】2014年4月23日 申請(qǐng)日期:2014年1月19日 優(yōu)先權(quán)日:2014年1月19日
【發(fā)明者】樊建, 魏大利, 丁文, 李娜, 楊飛 申請(qǐng)人:樊建, 南京載玄信息科技有限公司