欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試方法與流程

文檔序號:12739523閱讀:343來源:國知局
一種基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試方法與流程

本發(fā)明涉及通信技術(shù)領域,具體是一種基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試方法。



背景技術(shù):

隨著物聯(lián)網(wǎng)生態(tài)圈的不斷優(yōu)化推進,物聯(lián)網(wǎng)設備正在被廣泛的應用于生活、制造業(yè)中,物聯(lián)網(wǎng)生態(tài)系統(tǒng)的終端是聯(lián)網(wǎng)設備,它們能夠以不同的復雜程度感知和啟動,是實現(xiàn)“工業(yè)化”與“信息化”兩化融合的樞紐,也正因為如此,物聯(lián)網(wǎng)終端的調(diào)試顯得尤為重要。在工程機械物聯(lián)網(wǎng)終端調(diào)試過程中,調(diào)試人員沒有可以查看終端狀態(tài)以及各項參數(shù)的直觀的平臺,對終端的定位狀態(tài)、網(wǎng)絡通信狀態(tài)、系統(tǒng)狀態(tài)等,無法做到實時監(jiān)測;對終端的各項參數(shù):終端唯一編號、SIM卡號、版本號、IP、AT指令等的設置,需要先學習終端通訊協(xié)議,學習成本較高,并且難以校驗其準確性;對于終端調(diào)試的過程無法記錄,不便于后期分析與改進。怎樣實現(xiàn)對物聯(lián)網(wǎng)終端的直觀、快速、準確的調(diào)試以響應市場日益擴大的需求呢?



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

針對以上存在的問題,本發(fā)明的目的是提供一種XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試的方法,該方法可以直觀、快速的監(jiān)測終端狀態(tài),快速準確的變更終端參數(shù),達到快速響應市場的目的。

本發(fā)明按以下技術(shù)方案實現(xiàn):

一種基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試方法,該方法包括以下步驟,

步驟一:實現(xiàn)報文解析方法;

步驟二:串口配置;

步驟三:接收報文;

步驟四:解析報文;

步驟五:報文展示。

優(yōu)選的是,該方法具體包括以下步驟,

步驟一:依據(jù)XM2M協(xié)議類型,實現(xiàn)各個協(xié)議類型的報文解析方法;

步驟二:設置串口信息,包括串口號、數(shù)據(jù)位、校驗位、波特率、停止位,打開串口連接;

步驟三:接收下位機發(fā)送的報文并放入消息緩沖區(qū);

步驟四:依據(jù)XM2M協(xié)議從消息緩沖區(qū)中截取完整消息,以工廠模式實例化消息對象,實例化的過程中會對消息進行報文頭和報文體的解析,將解析后的消息對象放進消息隊列;

步驟五:采用異步多線程的方式把解析后的報文動態(tài)展示在平臺的前臺。

優(yōu)選的是,所述步驟四具體為:

步驟a:接收終端數(shù)據(jù)包存入消息緩沖區(qū);

步驟b:從消息緩沖區(qū)獲取完整報文;

步驟c:將報文拆分成報文頭、報文體和校驗位;

步驟d:工廠模式實施例化消息對象;

步驟e:解析報文并放入消息隊列。

優(yōu)選的是,所述步驟b具體為:系統(tǒng)后臺從消息緩沖區(qū)中,根據(jù)報文開始標記和結(jié)束標記獲取完整報文,協(xié)議的起始符為7B7B即兩個大括號"{{",協(xié)議的結(jié)束符為7D7D即兩個大括號"}}",去掉起始符結(jié)束符以及報文中的轉(zhuǎn)義字符,即可獲取完整的報文。

優(yōu)選的是,所述步驟c具體為:報文的第一個字節(jié)至第十三個字節(jié)是報文頭部分;最后一個字節(jié)為校驗字;去掉報文頭和校驗字,其余部分是報文體,獲取報文體后,要去除轉(zhuǎn)移字符。

優(yōu)選的是,去除轉(zhuǎn)移字符的方法為:遍歷報文體,將1B1B7B7B替換成7B7B,將1B1B7D7D替換成7D7D,將1B1B替換為0000,即為準確的報文體。

優(yōu)選的是,所述步驟d具體為:截取報文頭的第一個字節(jié),根據(jù)XM2M協(xié)議相關(guān)概念解釋,能夠獲取報文類型,根據(jù)報文類型,實例化報文對象。

優(yōu)選的是,所述步驟五具體方法為:

首先,終端與平臺連接后,終端會按照一定頻率向平臺發(fā)送消息,接收到的信息原文直接展示在調(diào)試信息區(qū)域;

其次,遍歷消息隊列,獲取消息類型;

然后,判斷消息類型:如果是數(shù)據(jù)發(fā)送類型,則展示在狀態(tài)信息區(qū)域;如果是參數(shù)設置類型,則展示在參數(shù)設置區(qū)域。

本發(fā)明有益效果:

1.本發(fā)明提供的基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試主體框架穩(wěn)定,當協(xié)議變更時,只需要修改變更的報文解析方法,不用反復修改系統(tǒng)主體、編譯和發(fā)布,從而加強了系統(tǒng)穩(wěn)定;

2.協(xié)議涵蓋很多常用功能參數(shù)的設置選項,減少了功能測試的參數(shù)配置難度,不必頻繁的修改測試程序,甚至可以使用正式版本的程序進行測試;

3.采用消息循環(huán)處理機制,避免丟包與消息擁堵。

附圖說明

圖1為本發(fā)明的信息處理整體流程圖;

圖2為本發(fā)明的數(shù)據(jù)動態(tài)解析流程圖;

圖3為本發(fā)明的前臺動態(tài)展示流程圖。

具體實施方式

以下結(jié)合附圖,通過具體實施例對本發(fā)明作進一步的說明。其中文中一些名詞解釋。M2M:物聯(lián)網(wǎng)通訊協(xié)議;消息緩存區(qū):串口數(shù)據(jù)按順序堆放,可能是完整的報文,也可能是不完整的報文;消息隊列:經(jīng)過XM2M協(xié)議校驗解析的完整報文。

一.XM2M協(xié)議相關(guān)概念解釋

該協(xié)議主要針對M2M終端設備與M2M平臺之間的一個面向終端管理數(shù)據(jù)和小數(shù)據(jù)量業(yè)務數(shù)據(jù)的輕量級協(xié)議。協(xié)議包含三個部分:報文頭、報文體、校驗字。報文頭攜帶報文類型信息,報文類型主要包括以下:

1.0X00-MESSAGEACK通用報文應答,

2.0X01-CONN_REQ連接請求,

3.0X02-CONN_RESP連接響應,

4.0X03-PUSH_DATA數(shù)據(jù)發(fā)送,

5.0X04-ALERT提醒,

6.0X05-CMD_REQ命令請求,

7.0X06-CMD_RESP命令響應,

8.0X07-PING_REQ心跳請求,

9.OX07-PING_RESP心跳響應,

10.0X09-DISCONNECT中斷連接,

11.0X0A-UPDATE升級通知,

12.0X0B-UPDATE-RESP升級響應。

二.消息處理整體流程(如圖1所示)

E1.依據(jù)XM2M協(xié)議類型,實現(xiàn)各個協(xié)議類型的報文解析方法。

E2.設置串口信息,包括串口號、數(shù)據(jù)位、校驗位、波特率、停止位,打開串口連接。

E3.接收下位機發(fā)送的報文并放入消息緩沖區(qū)。

E4.依據(jù)XM2M協(xié)議從消息緩沖區(qū)中截取完整消息,以工廠模式實例化消息對象,實例化的過程中會對消息進行報文頭和報文體的解析(具體動態(tài)解析方案見下文:“三.數(shù)據(jù)動態(tài)解析具體步驟”),將解析后的消息對象放進消息隊列。

E5.采用異步多線程的方式把解析后的報文動態(tài)展示在平臺的前臺(具體動態(tài)展示方案見下文:“四.前臺動態(tài)展示具體步驟”)。

三.數(shù)據(jù)動態(tài)解析具體步驟(如圖2所示)

E1.從終端獲取消息放入消息緩沖區(qū)。

E2.系統(tǒng)后臺從消息緩沖區(qū)RecByteQueue中,根據(jù)報文開始標記和結(jié)束標記獲取完整報文,協(xié)議的起始符為7B7B即兩個大括號"{{",協(xié)議的結(jié)束符為7D7D即兩個大括號"}}",去掉起始符結(jié)束符以及報文中的轉(zhuǎn)義字符,即可獲取完整的報文。

E3.拆分報文頭MsgHeadData、報文體MsgBody和校驗字CheckByte。報文的第一個字節(jié)(Byte)至第十三個字節(jié)(Byte)是報文頭部分;最后一個字節(jié)(Byte)為校驗字;去掉報文頭和校驗字,其余部分是報文體,獲取報文體后,要去除轉(zhuǎn)移字符ESC,去除方法是:遍歷報文體,將1B1B7B7B替換成7B7B,將1B1B7D7D替換成7D7D,將1B1B替換為0000,即為準確的報文體。

E4.根據(jù)報文類型,通過工廠類MsgController實例化報文對象Message。截取報文頭的第一個字節(jié),根據(jù)第一部分XM2M協(xié)議相關(guān)概念解釋,可以獲取報文類型,根據(jù)報文類型,實例化報文對象。

E5.解析報文的報文頭和報文體,解析完畢后將報文放入消息隊列MsgBuffer。

報文頭包含報文類型、產(chǎn)品唯一編號、標識、報文流水號、剩余長度信息。

報文體的解析根據(jù)報文類型不同而不同。12種報文類型的報文體結(jié)構(gòu)如下:

1.通用報文應答的報文體涵蓋被響應報文的報文流水號、被響應報文類型、處理結(jié)果。

2.連接請求報文的報文體涵蓋協(xié)議名、協(xié)議版本、連接標識、鑒權(quán)信息。

3.連接響應報文的報文體涵蓋連接返回碼:連接成功、連接已拒絕(不支持的協(xié)議版本)、連接已拒絕(鑒權(quán)失敗)、保留值。

4.數(shù)據(jù)發(fā)送報文是一個雙向通用的數(shù)據(jù)發(fā)送報文。報文體部分為規(guī)定的數(shù)據(jù)結(jié)構(gòu)的報文體包含數(shù)據(jù)類型和數(shù)據(jù)內(nèi)容。數(shù)據(jù)類型包括數(shù)據(jù)類型長度和數(shù)據(jù)類型,數(shù)據(jù)內(nèi)容包括數(shù)據(jù)內(nèi)容長度和數(shù)據(jù)內(nèi)容。數(shù)據(jù)內(nèi)容有以下幾種:

數(shù)據(jù)類型為SS終端基本狀態(tài)數(shù)據(jù)同步時數(shù)據(jù)內(nèi)容為數(shù)據(jù)內(nèi)容長度、狀態(tài)同步TLV個數(shù)、必要TLV;

數(shù)據(jù)類型為WP設備工作參數(shù)上傳時數(shù)據(jù)內(nèi)容為數(shù)據(jù)內(nèi)容長度、狀態(tài)同步TLV個數(shù)、必要TLV,以下TLV至少包含一個:CAN總線數(shù)據(jù)、其他總線數(shù)據(jù)、CAN總線數(shù)據(jù)、工作時間段統(tǒng)計表。

數(shù)據(jù)類型為LE終端及設備日志傳輸時數(shù)據(jù)內(nèi)容為數(shù)據(jù)內(nèi)容長度、日志類型、日志文件。

數(shù)據(jù)類型為UT升級文件傳輸時數(shù)據(jù)內(nèi)容為數(shù)據(jù)內(nèi)容長度、升級文件。

數(shù)據(jù)類型為GT通用文件傳輸時數(shù)據(jù)內(nèi)容為數(shù)據(jù)內(nèi)容長度、文件內(nèi)容。

5.提醒報文的報文體包含提醒類型和提醒內(nèi)容。提醒類型包括提醒類型長度+BATTERY,提醒內(nèi)容包括提醒內(nèi)容長度、提醒內(nèi)容。

6.命令請求報文的報文體包括命令類型和命令內(nèi)容。命令類型包括命令類型長度+命令類型,命令內(nèi)容包括命令內(nèi)容長度、命令內(nèi)容。

命令類型包括PW設定參數(shù)命令、PR讀取參數(shù)命令、LT位置追蹤命令、WP查詢/關(guān)注設備當前工作參數(shù)命令、QC遠程控制命令、LE日志導出命令、AT指令透傳命令。

7.命令響應報文的報文體包括響應的原報文流水號、命令類型、命令響應內(nèi)容。命令類型包括命令類型長度和命令類型,命令響應內(nèi)容包括命令內(nèi)容長度、執(zhí)行結(jié)果、TLV。

命令類型包括PW響應設定參數(shù)命令、PR響應讀取參數(shù)命令、LT響應位置追蹤命令、WP響應查詢/關(guān)注設備當前工作參數(shù)命令、QC響應遠程控制命令、LE響應日志導出命令、AT響應指令透傳命令。

8.心跳請求報文只有報文頭,由終端發(fā)送到服務端。

9.心跳響應報文只有報文頭,由服務端發(fā)送到終端。

10.終端連接報文DISCONNECT是客戶端發(fā)給服務端的最后一個報文。表示客戶端正常斷開連接。報文體包含一個斷開原因字段。

11.升級通知報文UPDATE用于服務端(或其他設備)向終端發(fā)送固件升級通知信息。報文體包括升級目標設備編號(0x00終端、0x01控制器、0x02顯示器、0x03其他),TLV-100B升級方式(0x00非強制升級、0x強制升級、本地串口強制升級)、下載升級服務器的URL地址TLV-1001.

12.升級響應報文的報文體包含響應升級通知報文流水號、遠程升級目標設備編號、升級狀態(tài)指示(0x00通知收取成功,開始下載,0x01下載中,0x02下載完成開始升級,0x03下載失敗,0x04升級完成,0xFF升級失敗)、升級文件下載進度、M2M終端設備下載、升級文件失敗報警(0x00無法連接下載地址、0x01終端設備緩存不足無法開始下載、0x02下載過程出現(xiàn)內(nèi)存溢出、0x03下載過程中連接超時、0x04完整的下載文件校驗失敗、0x05終端設備升級文件失敗)。

四.前臺動態(tài)展示具體步驟(如圖3所示)

E1.終端與平臺連接后,終端會按照一定頻率向平臺發(fā)送消息,消息原文全部展示在調(diào)試信息區(qū)域。系統(tǒng)后臺線程將所有解析后的報文放在消息隊列中等待展示;

E2.后臺啟用定時任務,按照一定頻率(例5S)遍歷消息隊列MsgBuffer,如果報文類型是0X03-PUSH_DATA數(shù)據(jù)發(fā)送報文,將解析后的報文展示在定位狀態(tài)、網(wǎng)絡通信狀態(tài)和系統(tǒng)狀態(tài),刪除已經(jīng)被展示的消息。

E3.點擊參數(shù)查詢,平臺向終端發(fā)送命令類型為PR的CMD_REQ命令請求報文,終端發(fā)送命令類型為PR的響應設定參數(shù)命令的CMD_RESP命令響應報文,響應報文被解析后放在消息隊列MsgBuffer,開啟線程,遍歷消息隊列,如果報文類型是命令響應,將此報文顯示在終端參數(shù)(包括終端唯一編號、SIM卡號、硬件版本號、軟件版本號、主中心IP、副中心IP等)

E4.點擊設置參數(shù),開啟線程,將終端參數(shù)(包括終端唯一編號、SIM卡號、硬件版本號、軟件版本號、主中心IP、副中心IP等)按照命令類型為PW的CMD_REQ命令請求報文格式拼裝報文,平臺向終端發(fā)送該命令請求報文,發(fā)送的報文需要在調(diào)試信息區(qū)域中展示,便于調(diào)試分析。

本發(fā)明提供了一種基于XM2M協(xié)議的消息循環(huán)處理的物聯(lián)網(wǎng)終端調(diào)試的方法,通過該方法實現(xiàn)對終端進行狀態(tài)信息同步、參數(shù)設置、固件升級、調(diào)試信息、日志文件導出等,最終實現(xiàn)對物聯(lián)網(wǎng)終端的優(yōu)化配置。狀態(tài)信息同步:按照一定頻率(如5S)實時監(jiān)控終端定位狀態(tài)、網(wǎng)絡通信狀態(tài)、系統(tǒng)狀態(tài);參數(shù)設置:涵蓋基本參數(shù)、SIM卡、告警參數(shù)、CAN通訊參數(shù)、AT指令五大類參數(shù),優(yōu)化終端參數(shù)配置;固件升級:終端程序升級;調(diào)試信息:開啟或關(guān)閉調(diào)試模式,選擇UARTO輸出以下信息類型,MODEM相關(guān)調(diào)試信息、GPS相關(guān)調(diào)試信息、MCU CAN相關(guān)調(diào)試信息、SYS相關(guān)調(diào)試信息;日志文件:導出終端日志文件和黑匣子文件,便于調(diào)試分析。

本發(fā)明構(gòu)建了一套M2M通信協(xié)議消息循環(huán)系統(tǒng),架構(gòu)支持異步多線程,同步鎖,消息緩存隊列等核心消息處理機制,可從容應對實時,大數(shù)據(jù)量,高并發(fā)地接收與發(fā)送M2M通信協(xié)議,做到高性能,不丟包。每接收發(fā)送一個報文就會對應一個應答系統(tǒng),發(fā)送無響應報文還會連續(xù)發(fā)送三次,無響應則提示響應超時。

本發(fā)明解決了現(xiàn)有中存在的終端信號的解析依附于終端通信協(xié)議,通信協(xié)議發(fā)生變更時,平臺這部分對報文的解析需要重新編碼、編譯、發(fā)布,人工成本較高;開發(fā)人員需要大量時間和精力去學習終端通訊協(xié)議,需要大量的人工成本,耗費時間和精力等缺陷。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邯郸县| 灌阳县| 庄浪县| 醴陵市| 常山县| 津市市| 绿春县| 黄平县| 韶关市| 思南县| 会东县| 宁远县| 二连浩特市| 盖州市| 剑川县| 哈尔滨市| 辽源市| 澄迈县| 金乡县| 正安县| 中西区| 长泰县| 苍山县| 武山县| 永州市| 平利县| 灵山县| 固镇县| 衡阳市| 江陵县| 阜城县| 宜昌市| 介休市| 舞阳县| 大姚县| 团风县| 林口县| 沐川县| 云霄县| 岑溪市| 金川县|