亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種物聯(lián)網(wǎng)終端平臺(tái)數(shù)據(jù)封裝的方法與流程

文檔序號(hào):11960075閱讀:557來源:國知局
一種物聯(lián)網(wǎng)終端平臺(tái)數(shù)據(jù)封裝的方法與流程

本發(fā)明涉及網(wǎng)絡(luò)協(xié)議封裝技術(shù)領(lǐng)域,具體地說是一種物聯(lián)網(wǎng)終端平臺(tái)數(shù)據(jù)封裝的方法。



背景技術(shù):

物聯(lián)網(wǎng)應(yīng)用涉及國民經(jīng)濟(jì)和人類社會(huì)生活的方方面面,隨著技術(shù)的不斷成熟,應(yīng)用日漸廣泛。

物聯(lián)網(wǎng)終端是物聯(lián)網(wǎng)的關(guān)鍵設(shè)備,它是物聯(lián)網(wǎng)中連接傳感網(wǎng)絡(luò)層和傳輸網(wǎng)絡(luò)層,屬于傳感網(wǎng)絡(luò)層和傳輸網(wǎng)絡(luò)層的中間設(shè)備,實(shí)現(xiàn)采集數(shù)據(jù)及向網(wǎng)絡(luò)層發(fā)送數(shù)據(jù)的設(shè)備。它擔(dān)負(fù)著數(shù)據(jù)采集、初步處理、加密、傳輸?shù)榷喾N功能,它將數(shù)據(jù)通過各種網(wǎng)絡(luò)接口方式傳輸?shù)交ヂ?lián)網(wǎng)中。如果沒有他的存在,傳感數(shù)據(jù)將無法送到指定位置,“物”的聯(lián)網(wǎng)將不復(fù)存在。

物聯(lián)網(wǎng)終端基本由外圍傳感接口,中央處理模塊和外部通訊接口三個(gè)部分組成,通過外圍傳感接口與傳感設(shè)備連接,如RFID讀卡器、二維碼、紅外感應(yīng)器,環(huán)境傳感器等,將這些傳感設(shè)備的數(shù)據(jù)進(jìn)行讀取并通過中央處理模塊處理后,按照網(wǎng)絡(luò)協(xié)議,通過外部通訊接口,如:GPRS模塊、以太網(wǎng)接口、WIFI等方式發(fā)送到以太網(wǎng)的指定中心處理平臺(tái)。

物聯(lián)網(wǎng)在通信中比較常見的通訊協(xié)議包括:HTTP、websocket、XMPP、COAP、MQTT,但此類協(xié)議只是定義了數(shù)據(jù)傳輸?shù)哪J?,考慮到物聯(lián)網(wǎng)的終端將會(huì)鏈接各種傳感器,采集數(shù)據(jù)種類很多,如溫、濕度,加速度,重力計(jì),經(jīng)緯度等等信息,各種不同的數(shù)據(jù)格式/類型眾多,為了能夠簡化后臺(tái)系統(tǒng)處理以及業(yè)務(wù)數(shù)據(jù)的設(shè)計(jì),很有必要設(shè)計(jì)一套完整的數(shù)據(jù)封裝格式,支持物聯(lián)網(wǎng)終端對(duì)于收集后的傳感器數(shù)據(jù)進(jìn)行傳輸。

現(xiàn)今,制約物聯(lián)網(wǎng)技術(shù)大規(guī)模推廣的主要原因則是終端的不兼容問題,不同廠商的設(shè)備和軟件無法在同一個(gè)平臺(tái)上使用,設(shè)備間的協(xié)議沒有統(tǒng)一的標(biāo)準(zhǔn)。因此,在物聯(lián)網(wǎng)的普及和終端的大規(guī)模推廣前必須解決標(biāo)準(zhǔn)化問題,具體表現(xiàn)為以下幾個(gè)方面:

一、硬件接口標(biāo)準(zhǔn)化

物聯(lián)網(wǎng)的傳感設(shè)備由不同廠商提供,如果每家的接口規(guī)則或通訊規(guī)則都不同,便會(huì)導(dǎo)致終端接口設(shè)計(jì)的不同,而終端不可能為每個(gè)廠商都預(yù)留接口,所以需要傳感設(shè)備廠商和終端廠商一同制定標(biāo)準(zhǔn)的物聯(lián)網(wǎng)傳感器與終端間的接口規(guī)范和通訊規(guī)范,以滿足不同廠商設(shè)備間的硬件互通、互連需求。

二、數(shù)據(jù)協(xié)議標(biāo)準(zhǔn)化

數(shù)據(jù)協(xié)議指終端與平臺(tái)層的數(shù)據(jù)流交互協(xié)議,該數(shù)據(jù)流可以分為業(yè)務(wù)數(shù)據(jù)流和管理數(shù)據(jù)流。中國移動(dòng)與愛立信合作制定的WMMP協(xié)議就是一個(gè)很好的管理協(xié)議。該WMMP協(xié)議是為實(shí)現(xiàn)行業(yè)終端與M2M平臺(tái)數(shù)據(jù)通信過程而設(shè)計(jì),由于GPRS網(wǎng)絡(luò)帶寬較窄,延遲較大,不適于采用TCP協(xié)議進(jìn)行通信,所以該協(xié)議是建立在UDP協(xié)議之上,而采用UDP協(xié)議無連接方式傳輸,其優(yōu)點(diǎn)是效率高,流量小,節(jié)省網(wǎng)絡(luò)帶寬資源,缺點(diǎn)是沒有確認(rèn)機(jī)制,有可能引起丟包,一般還需要通過在UDP的上層應(yīng)用層協(xié)議實(shí)現(xiàn)類似TCP的包確認(rèn)和重傳機(jī)制,以提高通信效率及可靠性,從而造成該WMMP協(xié)議數(shù)據(jù)傳輸控制和數(shù)據(jù)封裝高度耦合,不能有效利用現(xiàn)有的物聯(lián)網(wǎng)數(shù)據(jù)傳輸協(xié)議。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種能方便為物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)的數(shù)據(jù)傳輸提供統(tǒng)一數(shù)據(jù)封裝協(xié)議的方法。

為實(shí)現(xiàn)上述目的,一種物聯(lián)網(wǎng)終端平臺(tái)數(shù)據(jù)封裝的方法,包括物聯(lián)網(wǎng)終端、業(yè)務(wù)平臺(tái),若干傳感器、數(shù)據(jù)接收模塊,其特征在于,

在物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)的應(yīng)用層定義數(shù)據(jù)封裝協(xié)議,為物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)之間的通信提供通用的數(shù)據(jù)封裝接口;當(dāng)數(shù)據(jù)接收模塊接收相應(yīng)傳感器采集的數(shù)據(jù)后,從物聯(lián)網(wǎng)終端向業(yè)務(wù)平臺(tái)發(fā)送,按照數(shù)據(jù)封裝協(xié)議的格式對(duì)采集的數(shù)據(jù)進(jìn)行編碼封裝處理形成數(shù)據(jù)包,然后將數(shù)據(jù)包傳輸給業(yè)務(wù)平臺(tái),業(yè)務(wù)平臺(tái)接收相應(yīng)的數(shù)據(jù)包后再對(duì)數(shù)據(jù)包進(jìn)行解碼處理;當(dāng)業(yè)務(wù)平臺(tái)向物聯(lián)網(wǎng)終端發(fā)送數(shù)據(jù)時(shí),也按照數(shù)據(jù)封裝協(xié)議的格式對(duì)數(shù)據(jù)進(jìn)行編碼封裝處理形成數(shù)據(jù)包,然后將數(shù)據(jù)包傳輸給物聯(lián)網(wǎng)終端,物聯(lián)網(wǎng)終端接收相應(yīng)的數(shù)據(jù)包后再對(duì)數(shù)據(jù)包進(jìn)行解碼處理;

所述的編碼封裝處理采用如下處理步驟:(1)、開始;(2)設(shè)置STX字段的值為0x55;(3)設(shè)置CTRL字段的選項(xiàng),設(shè)置協(xié)議版本ver,根據(jù)是否提供IMEI字段、TIMESTAMP字段、TTL字段、CHK字段,分別設(shè)置imei、ts、ttl和chk的值;(4)設(shè)置LEN字段:設(shè)置除STX字段和CTRL字段外的數(shù)據(jù)包的長度;(5)設(shè)置非CTRL字段中選項(xiàng)控制的字段:設(shè)置PACKET_TYPE字段、ACK字段、TRANS-MODE字段、PRIORITY字段和PACKET-ID字段的信息;(6)判斷CTRL選項(xiàng)中imei、ts、ttl是否有任意一個(gè)被設(shè)置;如果已被設(shè)置,則根據(jù)CTRL字段中imei、ts、ttl的設(shè)置情況,設(shè)置IMEI字段、TIMESTAMP字段和TTL字段后,再進(jìn)入“設(shè)置SERVICE字段數(shù)據(jù)”步驟;如果未設(shè)置,則進(jìn)入“設(shè)置SERVICE字段數(shù)據(jù)”步驟;所述的“設(shè)置SERVICE字段數(shù)據(jù)”,包括設(shè)置ID號(hào)、CMD號(hào)、與SERVICE字段相關(guān)的DATA字段的長度值,如果定義了多個(gè)SERVICE字段+DATA字段組合,則除最后一個(gè)SERVICE字段+DATA字段組合中MULTIPLE字段置0外,其余中間的SERVICE字段+DATA字段組合中MULTIPLE字段置1;(7)再判斷CTRL字段的選項(xiàng)中chk是否設(shè)置;如果未設(shè)置,則結(jié)束;如果已設(shè)置,則計(jì)算校驗(yàn)和,將值存入CHK字段中形成數(shù)據(jù)包,然后結(jié)束;

所述的數(shù)據(jù)封裝協(xié)議的格式如下:

表1數(shù)據(jù)封裝協(xié)議的格式

其中,Bn表示該字段占n個(gè)BYTE;bn表示該字段占n個(gè)bit;

如果傳輸數(shù)據(jù)的種類多和傳輸數(shù)據(jù)量大,數(shù)據(jù)封裝協(xié)議的格式中分設(shè)若干個(gè)不同的SERVICE字段與DATA字段的組合以增加容量。

所述的解碼處理采用如下處理步驟:(1)、開始:(2)、輸入字節(jié)流;(3)、判斷STX字段的值是否為0x55,如果不是則結(jié)束;如果是,則進(jìn)入“判斷chk值是否為1”的步驟;(4)、如果chk值等于1,則進(jìn)入“校驗(yàn)CHK”步驟,所述的校驗(yàn)CHK為計(jì)算數(shù)據(jù)包校驗(yàn)和,并與CHK字段內(nèi)的值進(jìn)行相等性比較;如果chk選項(xiàng)的值不等于1,則進(jìn)入“檢測版本號(hào)ver”步驟;(5)如果“校驗(yàn)CHK”步驟中,數(shù)據(jù)包檢驗(yàn)和與CHK的值相等,則進(jìn)入“檢測版本號(hào)ver”步驟;如果數(shù)據(jù)包檢驗(yàn)和與CHK字段內(nèi)的值不相等,則結(jié)束;(6)如果檢測協(xié)議版本號(hào)ver不是指定的版本,則結(jié)束;如果檢測協(xié)議版本號(hào)ver是指定的版本,則進(jìn)入“根據(jù)協(xié)議格式提取各個(gè)字段的值”步驟,再結(jié)束;所述的“根據(jù)協(xié)議格式提取各個(gè)字段的值”為根據(jù)CTRL字段的選項(xiàng)中imei、ts、ttl的值是否為1,判斷IMEI字段、TIMESTAMP字段、TTL字段是否存在,然后根據(jù)數(shù)據(jù)封裝協(xié)議的格式進(jìn)行各個(gè)字段的解析,解析整個(gè)數(shù)據(jù)包。

所述的STX字段表示:標(biāo)識(shí)報(bào)文數(shù)據(jù)開始;

所述的CTRL字段中,除ver表示協(xié)議版本以外,imei選項(xiàng)、ts選項(xiàng)、ttl選項(xiàng)、chk選項(xiàng)作為相應(yīng)字段的控制開關(guān),1表示存在,0表示不存在;spare表示保留,值必須為0;

LEN字段中,LENlsb選項(xiàng)表示長度的低位;Ext選項(xiàng)值為1時(shí),LENmsb選項(xiàng)表示長度的高位,Ext選項(xiàng)值不為1時(shí),則表示不存在LENmsb選項(xiàng);

PACKET_TYPE字段表示:報(bào)文類型,值為0時(shí)表示Request報(bào)文,值為1時(shí)表示Ack報(bào)文;

ACK字段表示:值為1時(shí)表示當(dāng)報(bào)文類型為請求時(shí),需要Ack報(bào)文確認(rèn);值為0時(shí)表示當(dāng)報(bào)文類型為Request時(shí),不需要Ack報(bào)文確認(rèn);對(duì)于Ack報(bào)文,ACK字段的值必須為0;

TRANS-MODE字段表示:通信層使用的協(xié)議,值為0時(shí)表示采用MQTT協(xié)議,值為1時(shí)表示采用SMS協(xié)議,值為2時(shí)表示采用HTTP協(xié)議、值為3時(shí)表示采用websocket協(xié)議、值為4時(shí)表示采用XMPP協(xié)議、值為5時(shí)表示采用COAP協(xié)議;

PRIORITY字段表示:報(bào)文的優(yōu)先級(jí);

PACKET_ID字段表示:報(bào)文ID,該報(bào)文ID用于ACK確認(rèn)和/或丟棄重復(fù)的報(bào)文;

IMEI字段表示:物聯(lián)網(wǎng)終端的設(shè)備編號(hào),由CTRL字段中的imei選項(xiàng)控制是否存在;

TIMESTAMP字段表示:報(bào)文產(chǎn)生時(shí)的時(shí)間戳,由CTRL中的ts選項(xiàng)控制是否存在;

TTL字段表示:報(bào)文超時(shí)時(shí)間,由CTRL字段中的ttl選項(xiàng)控制是否存在;

SERVICE字段:ID表示服務(wù)id號(hào),CMD表示服務(wù)的具體操作,MULTIPLE表示此報(bào)文中還存在其他自定義的SERVICE字段和DATA字段的組合,LEN表示與此SERVICE字段相關(guān)的DATA字段的長度;

其中SERVICE字段中的id號(hào)可以根據(jù)具體的業(yè)務(wù)形態(tài)做出自定義,從而和物聯(lián)網(wǎng)終端傳輸?shù)臄?shù)據(jù)進(jìn)行匹配;

DATA字段表示:具體要傳輸?shù)臄?shù)據(jù);

CHK字段表示:校驗(yàn)和,用于檢測數(shù)據(jù)完整性。

本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)勢:

一、為物聯(lián)網(wǎng)終端設(shè)備和業(yè)務(wù)平臺(tái)之間的通信提供了通用的數(shù)據(jù)封裝接口,可以用來在不同的行業(yè)中,針對(duì)不同的傳感器設(shè)備采集的數(shù)據(jù)進(jìn)行統(tǒng)一的封裝,從而可以減少業(yè)務(wù)平臺(tái)的數(shù)據(jù)處理要求;支持多種網(wǎng)絡(luò)傳輸協(xié)議:MQTT、SMS、HTTP、websocket、XMPP、COAP,具有廣泛的適用性;業(yè)務(wù)上通過定義SERVICE字段中ID和CMD的含義,可以靈活方便地自定義業(yè)務(wù)平臺(tái)的多種功能;

二、其另一重要的作用是,實(shí)現(xiàn)了上層業(yè)務(wù)應(yīng)用層和底層數(shù)據(jù)傳輸層的分離,結(jié)構(gòu)清晰,具有很好的可擴(kuò)展性,并且可以有效降低物聯(lián)網(wǎng)終端和業(yè)務(wù)平臺(tái)的開發(fā)難度。

附圖說明

圖1為本發(fā)明中編碼封裝處理的流程框圖。

圖2為本發(fā)明中解碼處理的流程框圖。

圖3為本發(fā)明中字段名的含義表。

具體實(shí)施方式

現(xiàn)結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地說明。

實(shí)施例1

參見圖1~圖2,一種物聯(lián)網(wǎng)終端平臺(tái)數(shù)據(jù)封裝的方法,包括物聯(lián)網(wǎng)終端、業(yè)務(wù)平臺(tái),若干傳感器、數(shù)據(jù)接收模塊,其特征在于,

在物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)的應(yīng)用層定義數(shù)據(jù)封裝協(xié)議,為物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)之間的通信提供通用的數(shù)據(jù)封裝接口;當(dāng)數(shù)據(jù)接收模塊接收相應(yīng)傳感器采集的數(shù)據(jù)后,從物聯(lián)網(wǎng)終端向業(yè)務(wù)平臺(tái)發(fā)送,按照數(shù)據(jù)封裝協(xié)議的格式對(duì)采集的數(shù)據(jù)進(jìn)行編碼封裝處理形成數(shù)據(jù)包,然后將數(shù)據(jù)包傳輸給業(yè)務(wù)平臺(tái),業(yè)務(wù)平臺(tái)接收相應(yīng)的數(shù)據(jù)包后再對(duì)數(shù)據(jù)包進(jìn)行解碼處理;當(dāng)業(yè)務(wù)平臺(tái)向物聯(lián)網(wǎng)終端發(fā)送數(shù)據(jù)時(shí),也按照數(shù)據(jù)封裝協(xié)議的格式對(duì)數(shù)據(jù)進(jìn)行編碼封裝處理形成數(shù)據(jù)包,然后將數(shù)據(jù)包傳輸給物聯(lián)網(wǎng)終端,物聯(lián)網(wǎng)終端接收相應(yīng)的數(shù)據(jù)包后再對(duì)數(shù)據(jù)包進(jìn)行解碼處理;

所述的編碼封裝處理采用如下處理步驟:(1)、開始;(2)設(shè)置STX字段的值為0x55;(3)設(shè)置CTRL字段的選項(xiàng),設(shè)置協(xié)議版本ver,根據(jù)是否提供IMEI字段、TIMESTAMP字段、TTL字段、CHK字段,分別設(shè)置imei、ts、ttl和chk的值;(4)設(shè)置LEN字段:設(shè)置除STX字段和CTRL字段外的數(shù)據(jù)包的長度;(5)設(shè)置非CTRL字段中選項(xiàng)控制的字段:根據(jù)報(bào)文類型、優(yōu)先級(jí)、傳輸協(xié)議等信息設(shè)置PACKET_TYPE字段、ACK字段、TRANS-MODE字段、PRIORITY字段和PACKET-ID字段的信息;(6)判斷CTRL選項(xiàng)中imei、ts、ttl是否有任意一個(gè)被設(shè)置;如果已被設(shè)置,則根據(jù)CTRL字段中imei、ts、ttl的設(shè)置情況,設(shè)置IMEI字段、TIMESTAMP字段和TTL字段后,再進(jìn)入“設(shè)置SERVICE字段數(shù)據(jù)”步驟;如果未設(shè)置,則進(jìn)入“設(shè)置SERVICE字段數(shù)據(jù)”步驟;所述的“設(shè)置SERVICE字段數(shù)據(jù)”,包括設(shè)置ID號(hào)、CMD號(hào)、與SERVICE字段相關(guān)的DATA字段的長度值,如果定義了多個(gè)SERVICE字段+DATA字段組合,則除最后一個(gè)SERVICE字段+DATA字段組合中MULTIPLE字段置0外,其余中間的SERVICE字段+DATA字段組合中MULTIPLE字段置1;(7)再判斷CTRL字段的選項(xiàng)中chk是否設(shè)置;如果未設(shè)置,則結(jié)束;如果已設(shè)置,則計(jì)算校驗(yàn)和,將值存入CHK字段中形成數(shù)據(jù)包,然后結(jié)束;

所述的數(shù)據(jù)封裝協(xié)議的格式如下:

表1數(shù)據(jù)封裝協(xié)議的格式

其中,Bn表示該字段占n個(gè)BYTE;bn表示該字段占n個(gè)bit;

有一類復(fù)雜的數(shù)據(jù)傳輸需求,比如車載系統(tǒng)相關(guān)變量的傳輸,突出特點(diǎn)是傳輸數(shù)據(jù)的種類多,傳輸數(shù)據(jù)量較大,可以在數(shù)據(jù)封裝格式中通過分設(shè)若干個(gè)不同的SERVICE字段+DATA字段的組合來增加容量,具體的數(shù)據(jù)封裝協(xié)議的格式內(nèi)容如下:

參見圖3,本發(fā)明中各字段的具體含義如下:

所述的STX字段表示:標(biāo)識(shí)報(bào)文數(shù)據(jù)開始;

所述的CTRL字段中,除ver表示協(xié)議版本以外,imei選項(xiàng)、ts選項(xiàng)、ttl選項(xiàng)、chk選項(xiàng)作為相應(yīng)字段的控制開關(guān),1表示存在,0表示不存在;spare表示保留,值必須為0;

LEN字段中,LENlsb選項(xiàng)表示長度的低位;Ext選項(xiàng)值為1時(shí),LENmsb選項(xiàng)表示長度的高位,Ext選項(xiàng)值不為1時(shí),則表示不存在LENmsb選項(xiàng);

PACKET_TYPE字段表示:報(bào)文類型,值為0時(shí)表示Request報(bào)文,值為1時(shí)表示Ack報(bào)文;這里Ack報(bào)文是對(duì)Request報(bào)文的確認(rèn),如果Request報(bào)文設(shè)置了ACK字段的值為1,表示需要收到Request報(bào)文的對(duì)方發(fā)送Ack報(bào)文確認(rèn)已經(jīng)收到Request報(bào)文;

ACK字段表示:值為1時(shí)表示當(dāng)報(bào)文類型為請求時(shí),需要Ack報(bào)文確認(rèn);值為0時(shí)表示當(dāng)報(bào)文類型為Request時(shí),不需要Ack報(bào)文確認(rèn);對(duì)于Ack報(bào)文,ACK字段的值必須為0;

TRANS-MODE字段表示:通信層使用的協(xié)議,值為0時(shí)表示采用MQTT協(xié)議,值為1時(shí)表示采用SMS協(xié)議,值為2時(shí)表示采用HTTP協(xié)議、值為3時(shí)表示采用websocket協(xié)議、值為4時(shí)表示采用XMPP協(xié)議、值為5時(shí)表示采用COAP協(xié)議;本發(fā)明的方法不管下層協(xié)議是采用哪種格式的,都只需在應(yīng)用層中采用本發(fā)明的數(shù)據(jù)封裝協(xié)議,就能兼容識(shí)別處理各種格式或類型的數(shù)據(jù),不但減少業(yè)務(wù)平臺(tái)的數(shù)據(jù)處理要求,而且也降低了物聯(lián)網(wǎng)終端和業(yè)務(wù)平臺(tái)的開發(fā)難度。

PRIORITY字段表示:報(bào)文的優(yōu)先級(jí);

PACKET_ID字段表示:報(bào)文ID,該報(bào)文ID用于ACK確認(rèn)和/或丟棄重復(fù)的報(bào)文;

IMEI字段表示:物聯(lián)網(wǎng)終端的設(shè)備編號(hào),由CTRL字段中的imei選項(xiàng)控制是否存在;

TIMESTAMP字段表示:報(bào)文產(chǎn)生時(shí)的時(shí)間戳,由CTRL中的ts選項(xiàng)控制是否存在;

TTL字段表示:報(bào)文超時(shí)時(shí)間,由CTRL字段中的ttl選項(xiàng)控制是否存在;

SERVICE字段:ID表示服務(wù)id號(hào),CMD表示服務(wù)的具體操作,MULTIPLE表示此報(bào)文中還存在其他自定義的SERVICE字段和DATA字段的組合,LEN表示與此SERVICE字段相關(guān)的DATA字段的長度;

其中SERVICE字段中的id號(hào)可以根據(jù)具體的業(yè)務(wù)形態(tài)做出自定義,從而和物聯(lián)網(wǎng)終端傳輸?shù)臄?shù)據(jù)進(jìn)行匹配;

DATA字段表示:具體要傳輸?shù)臄?shù)據(jù);

CHK字段表示:校驗(yàn)和,用于檢測數(shù)據(jù)完整性。

所述的解碼處理采用如下處理步驟:(1)、開始:(2)、輸入字節(jié)流;(3)、判斷STX字段的值是否為0x55,如果不是則結(jié)束;如果是,則進(jìn)入“判斷chk值是否為1”的步驟;(4)、如果chk值等于1,則進(jìn)入“校驗(yàn)CHK”步驟,所述的校驗(yàn)CHK為計(jì)算數(shù)據(jù)包校驗(yàn)和,并與CHK字段內(nèi)的值進(jìn)行相等性比較;如果chk選項(xiàng)的值不等于1,則進(jìn)入“檢測版本號(hào)ver”步驟;(5)如果“校驗(yàn)CHK”步驟中,數(shù)據(jù)包檢驗(yàn)和與CHK的值相等,則進(jìn)入“檢測版本號(hào)ver”步驟;如果數(shù)據(jù)包檢驗(yàn)和與CHK字段內(nèi)的值不相等,則結(jié)束;(6)如果檢測協(xié)議版本號(hào)ver不是指定的版本,則結(jié)束;如果檢測協(xié)議版本號(hào)ver是指定的版本,則進(jìn)入“根據(jù)協(xié)議格式提取各個(gè)字段的值”步驟,再結(jié)束;所述的“根據(jù)協(xié)議格式提取各個(gè)字段的值”為根據(jù)CTRL字段的選項(xiàng)中imei、ts、ttl的值是否為1,判斷IMEI字段、TIMESTAMP字段、TTL字段是否存在,然后根據(jù)數(shù)據(jù)封裝協(xié)議的格式進(jìn)行各個(gè)字段的解析,解析整個(gè)數(shù)據(jù)包。

本發(fā)明通過設(shè)計(jì)統(tǒng)一的物聯(lián)網(wǎng)數(shù)據(jù)封裝協(xié)議,可以用來在不同的行業(yè)中,針對(duì)不同的傳感器設(shè)備采集的數(shù)據(jù)進(jìn)行統(tǒng)一的封裝,從而可以減少物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)的業(yè)務(wù)數(shù)據(jù)處理要求,同時(shí)物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)通過此協(xié)議靈活地對(duì)各種傳感器采集數(shù)據(jù)進(jìn)行封裝,并且支持通過不同的網(wǎng)絡(luò)協(xié)議傳輸。

通過在物聯(lián)網(wǎng)終端與業(yè)務(wù)平臺(tái)的應(yīng)用層采用這一套數(shù)據(jù)封裝協(xié)議,該數(shù)據(jù)封裝協(xié)議支持多個(gè)數(shù)據(jù)傳輸協(xié)議,在數(shù)據(jù)傳輸層面有眾多的開發(fā)庫支持,可以降低物聯(lián)網(wǎng)終端的開發(fā)難度,實(shí)現(xiàn)數(shù)據(jù)與協(xié)議分離,能有效地提高物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)對(duì)于數(shù)據(jù)處理的能力。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1