国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng)與流程

      文檔序號:11236847閱讀:1242來源:國知局
      一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng)與流程

      本發(fā)明涉及物聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng)。



      背景技術(shù):

      物聯(lián)網(wǎng)平臺(tái)指的是將無處不在的末端設(shè)備和設(shè)施,包括具備物聯(lián)網(wǎng)技術(shù)“內(nèi)在智能”的傳感器、移動(dòng)終端、工業(yè)系統(tǒng)、數(shù)控系統(tǒng)、家庭智能設(shè)施、視頻監(jiān)控系統(tǒng)等,如貼上rfid的各種資產(chǎn)、攜帶無線終端的個(gè)人與車輛等等“智能化物件”,通過各種無線或有線的長距離或短距離通訊網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)互通(m2m)、應(yīng)用大集成、以及基于云計(jì)算的saas營運(yùn)等模式,在內(nèi)網(wǎng)、專網(wǎng)、互聯(lián)網(wǎng)環(huán)境下,采用適當(dāng)?shù)男畔踩U蠙C(jī)制,提供安全可控乃至個(gè)性化的實(shí)時(shí)在線監(jiān)測、定位追溯、報(bào)警聯(lián)動(dòng)、調(diào)度指揮、預(yù)案管理、遠(yuǎn)程控制、安全防范、遠(yuǎn)程維保、在線升級、統(tǒng)計(jì)報(bào)表、決策支持等管理和服務(wù)功能,實(shí)現(xiàn)對“萬物”的“高效、節(jié)能、安全、環(huán)保”的“管、控、營”一體化的平臺(tái)。

      物聯(lián)網(wǎng)技術(shù)中,由于會(huì)同時(shí)控制多個(gè)智能設(shè)備,因此對智能設(shè)備的狀態(tài)監(jiān)控及同步尤為重要。

      如申請?zhí)枮閏n201310581025.0的專利文獻(xiàn)公開的“設(shè)備狀態(tài)同步控制方法和家電設(shè)備”,該發(fā)明提供了一種設(shè)備狀態(tài)同步控制方法和一種家電設(shè)備,其中設(shè)備狀態(tài)同步控制方法包括:記錄多個(gè)與家電設(shè)備建立通信連接的控制終端的在線信息;在家電設(shè)備的狀態(tài)信息被更新時(shí),根據(jù)記錄的在線信息,將家電設(shè)備的最新狀態(tài)信息通知每一控制終端,供每一控制終端顯示。

      又如申請?zhí)枮閏n201410706098.2的專利文獻(xiàn)公開的“一種調(diào)整智能家居設(shè)備運(yùn)行狀態(tài)的方法及裝置”,該發(fā)明是關(guān)于一種調(diào)整智能家居設(shè)備運(yùn)行狀態(tài)的方法及裝置,用以提高用戶調(diào)整智能家居設(shè)備運(yùn)行狀態(tài)的便利性。所述方法包括:監(jiān)聽所述移動(dòng)終端上的用于控制所述智能家居設(shè)備的應(yīng)用上的設(shè)備列表;在監(jiān)聽到用戶在所述設(shè)備列表中選定的智能家居設(shè)備的創(chuàng)建快捷方式的第一按鍵消息時(shí),在所述移動(dòng)終端的桌面上創(chuàng)建用于控制所述智能家居設(shè)備的所述快捷按鍵;通過控制所述快捷按鍵調(diào)整所述智能家居設(shè)備的當(dāng)前狀態(tài)。

      實(shí)際應(yīng)用中,智能設(shè)備的狀態(tài)信息需要同步到手機(jī)app,比如空調(diào)上的室內(nèi)溫度,比如門鎖的開關(guān)狀態(tài),或者是sd卡格式化的進(jìn)度等等。

      如果利用現(xiàn)有技術(shù),直接讓智能設(shè)備發(fā)送消息給手機(jī)app同步信息,會(huì)存在以下問題:

      (1)一臺(tái)智能設(shè)備可能會(huì)有多個(gè)綁定者,狀態(tài)的同步是不能只同步給一個(gè)綁定者的,所以用發(fā)消息的方案會(huì)需要知道所有綁定者,然后需要挨個(gè)發(fā)送一遍。

      (2)狀態(tài)的變更有可能是頻繁的,很多情況下最后一次的狀態(tài)才是最重要的,而消息通道往往是以可靠不丟消息為設(shè)計(jì)目標(biāo)的,這就意味著用戶可能在早晨起床喚起手機(jī)app后收到上千條狀態(tài)消息。



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

      針對上述現(xiàn)有技術(shù)的現(xiàn)狀,本發(fā)明目的在于提供一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng),可解決過多的設(shè)備狀態(tài)消息發(fā)送給用戶的問題以及多個(gè)用戶不能同時(shí)收到設(shè)備狀態(tài)消息的問題。

      本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:

      一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法,包括步驟:

      s1.獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      s2.獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      s3.接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài)。

      進(jìn)一步地,步驟s1具體為:

      a1.智能設(shè)備基于mqtt協(xié)議建立與云端的通信連接;

      a2.智能設(shè)備發(fā)送當(dāng)前狀態(tài)信息至云端設(shè)備快照;

      a3.云端設(shè)備快照接收智能設(shè)備發(fā)送的當(dāng)前狀態(tài)信息,并將所述當(dāng)前狀態(tài)信息保存至云端數(shù)據(jù)庫內(nèi)。

      進(jìn)一步地,步驟a1具體為:

      a11.智能設(shè)備使用控制臺(tái)申請的密鑰進(jìn)行簽名請求授權(quán);

      a12.云端服務(wù)器驗(yàn)證簽名是否合法,若合法,則返回pubkey證書;

      a13.智能設(shè)備使用pubkey證書tls協(xié)議連接mqtt。

      進(jìn)一步地,步驟s2具體為:

      b1.應(yīng)用程序向云端設(shè)備快照請求獲取所述智能設(shè)備的當(dāng)前狀態(tài)信息;

      b2.云端設(shè)備快照接收請求后,從云端數(shù)據(jù)庫內(nèi)獲取所述智能設(shè)備的當(dāng)前狀態(tài)信息,并發(fā)送所述當(dāng)前狀態(tài)信息至應(yīng)用程序;

      b3.應(yīng)用程序接收所述智能設(shè)備當(dāng)前狀態(tài)信息后,將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息,并將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照。

      進(jìn)一步地,步驟s3具體為:

      c1.云端設(shè)備快照接收并通過所述應(yīng)用程序發(fā)送的智能設(shè)備狀態(tài)改變請求;

      c2.若所述智能設(shè)備為在線狀態(tài),則云端設(shè)備快照發(fā)送所述智能設(shè)備狀態(tài)改變控制命令至所述智能設(shè)備;

      c3.智能設(shè)備接收所述智能設(shè)備狀態(tài)改變控制命令,并做對應(yīng)狀態(tài)改變。

      進(jìn)一步地,步驟c2還包括:

      若所述智能設(shè)備為離線狀態(tài),則云端設(shè)備快照保存所述智能設(shè)備狀態(tài)改變控制命令。

      進(jìn)一步地,當(dāng)智能設(shè)備上線后,判斷所述智能設(shè)備是否存在狀態(tài)改變:

      若不存在,則云端設(shè)備快照將所述保存的智能設(shè)備狀態(tài)改變控制命令發(fā)送至所述智能設(shè)備;

      若存在,則云端設(shè)備快照獲取所述智能設(shè)備的新的當(dāng)前狀態(tài)信息,發(fā)送所述新的當(dāng)前狀態(tài)信息至應(yīng)用程序,并返回步驟b3。

      一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步系統(tǒng),包括云端設(shè)備快照模塊、智能設(shè)備sdk模塊、移動(dòng)終端應(yīng)用程序sdk模塊;

      所述云端設(shè)備快照模塊包括:

      第一獲取單元,用于獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      第二獲取單元,用于獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      執(zhí)行單元,用于接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài);

      所述智能設(shè)備sdk模塊用于與云端進(jìn)行通信,并發(fā)送智能設(shè)備當(dāng)前狀態(tài)信息至云端設(shè)備快照模塊;

      所述移動(dòng)終端應(yīng)用程序sdk模塊用于將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息,并將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照。

      進(jìn)一步地,所述智能設(shè)備sdk模塊包括:

      通信單元,用于基于mqtt協(xié)議建立與云端的通信連接;

      第一發(fā)送單元,用于發(fā)送智能設(shè)備當(dāng)前狀態(tài)信息至云端設(shè)備快照。

      進(jìn)一步地,所述移動(dòng)終端應(yīng)用程序sdk模塊包括:

      請求單元,用于向云端設(shè)備快照模塊請求獲取智能設(shè)備的當(dāng)前狀態(tài)信息;

      對比單元,用于在接收智能設(shè)備的當(dāng)前狀態(tài)信息后,將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息;

      第二發(fā)送單元,用于將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照模塊。

      本發(fā)明提供一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng),可解決過多的設(shè)備狀態(tài)消息發(fā)送給用戶的問題,此外,通過設(shè)置智能設(shè)備預(yù)期狀態(tài)信息,能有效對智能設(shè)備進(jìn)行狀態(tài)監(jiān)測及控制。

      附圖說明

      圖1為本發(fā)明實(shí)施例中一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法流程圖;

      圖2為本發(fā)明實(shí)施例中一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步系統(tǒng)結(jié)構(gòu)圖;

      圖3為本發(fā)明實(shí)施例一中云端設(shè)備快照模塊結(jié)構(gòu)圖;

      圖4為本發(fā)明實(shí)施例一中智能設(shè)備sdk模塊結(jié)構(gòu)圖;

      圖5為本發(fā)明實(shí)施例一中移動(dòng)終端應(yīng)用程序sdk模塊結(jié)構(gòu)圖。

      具體實(shí)施方式

      以下是本發(fā)明的具體實(shí)施例并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進(jìn)一步的描述,但本發(fā)明并不限于這些實(shí)施例。

      本發(fā)明基于設(shè)備快照來保存設(shè)備的最新狀態(tài)或者app希望的最新狀態(tài)在云端,然后當(dāng)設(shè)備或app連接上來時(shí),同步狀態(tài)給設(shè)備或app。

      本發(fā)明涉及到三個(gè)模塊,第一是智能設(shè)備sdk模塊,此模塊負(fù)責(zé)將當(dāng)前狀態(tài)上報(bào)至一個(gè)或多個(gè)設(shè)備快照,并可從設(shè)備快照獲取期望的狀態(tài);第二是云端設(shè)備快照模塊,此模塊負(fù)責(zé)管理狀態(tài)偏差、預(yù)期狀態(tài)、上報(bào)狀態(tài)、元數(shù)據(jù)和版本;第三是移動(dòng)終端的appsdk模塊,此模塊負(fù)責(zé)改變設(shè)備狀態(tài)、獲取設(shè)備最后一次上報(bào)的狀態(tài)和刪除設(shè)備快照。

      以下為本發(fā)明具體實(shí)施例。

      實(shí)施例一

      如圖1所示為本實(shí)施例中一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法流程圖,該方法包括步驟:

      s1.獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      s2.獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      s3.接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài)。

      步驟s1具體為:

      a1.智能設(shè)備基于mqtt協(xié)議建立與云端的通信連接;

      a2.智能設(shè)備發(fā)送當(dāng)前狀態(tài)信息至云端設(shè)備快照;

      本步驟中,智能設(shè)備發(fā)布當(dāng)前狀態(tài)給設(shè)備快照

      智能設(shè)備發(fā)布消息到如以下格式的事件主題:

      iot/event/event_id/state/format_string。

      發(fā)布的消息符合上述定義的json字符串格式。

      a3.云端設(shè)備快照接收智能設(shè)備發(fā)送的當(dāng)前狀態(tài)信息,并將所述當(dāng)前狀態(tài)信息保存至云端數(shù)據(jù)庫內(nèi)。

      本步驟中,設(shè)備快照預(yù)先訂閱好上述的topic,當(dāng)設(shè)備發(fā)送狀態(tài)消息后,消息broker會(huì)立即監(jiān)聽到并把消息轉(zhuǎn)發(fā)給設(shè)備快照,設(shè)備快照收到j(luò)son格式的消息后進(jìn)行解析處理并保存數(shù)據(jù)到數(shù)據(jù)庫。一年之內(nèi)對設(shè)備的狀態(tài)數(shù)據(jù)有過更新的歷史都將保存。

      設(shè)備快照是物聯(lián)網(wǎng)平臺(tái)在云端的軟件系統(tǒng),設(shè)備保留每臺(tái)設(shè)備的最后報(bào)告狀態(tài)和期望的未來狀態(tài),即便設(shè)備處于離線狀態(tài)。

      app可通過httpsapi獲取設(shè)備的最后報(bào)告狀態(tài)或設(shè)置期望的未來狀態(tài)。在設(shè)置設(shè)備的期望未來狀態(tài)時(shí)無需說明設(shè)備的當(dāng)前狀態(tài)。

      設(shè)備sdk負(fù)責(zé)同步其設(shè)備自身狀態(tài)及其設(shè)備快照狀態(tài),并響應(yīng)通過設(shè)備快照設(shè)置的期望的未來狀態(tài)。

      設(shè)備快照存儲(chǔ)設(shè)備狀態(tài)最長時(shí)間為一年。如果至少每年更新一次狀態(tài),則設(shè)備快照將永久保留狀態(tài);否則狀態(tài)將過期。

      步驟s2具體為:

      b1.應(yīng)用程序向云端設(shè)備快照請求獲取所述智能設(shè)備的當(dāng)前狀態(tài)信息;

      本步驟中,app通過httpsapi請求賬戶所綁定的設(shè)備的當(dāng)前狀態(tài),設(shè)備快照接收請求后從數(shù)據(jù)庫中讀取設(shè)備的最新狀態(tài)并返回給app。同時(shí),app也作為訂閱者訂閱了此設(shè)備快照的狀態(tài)更新topic。多個(gè)賬戶的app可同時(shí)訂閱單個(gè)設(shè)備快照的topic,消息broker可同時(shí)轉(zhuǎn)發(fā)給這些訂閱者消息。

      b2.云端設(shè)備快照接收請求后,從云端數(shù)據(jù)庫內(nèi)獲取所述智能設(shè)備的當(dāng)前狀態(tài)信息,并發(fā)送所述當(dāng)前狀態(tài)信息至應(yīng)用程序;

      本步驟中,app通過httpsapi請求改變賬戶所綁定的設(shè)備的狀態(tài),也就是給快照設(shè)置用戶想要的預(yù)期的狀態(tài)。app將json格式的數(shù)據(jù)發(fā)送給設(shè)備快照,json格式的數(shù)據(jù)中包含了狀態(tài)改變的控制命令。

      b3.應(yīng)用程序接收所述智能設(shè)備當(dāng)前狀態(tài)信息后,將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息,并將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照。

      如圖2所示為本實(shí)施例中一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)包括云端設(shè)備快照模塊100、智能設(shè)備sdk模塊200、移動(dòng)終端應(yīng)用程序sdk模塊300;

      云端設(shè)備快照模塊100負(fù)責(zé)管理狀態(tài)偏差、預(yù)期狀態(tài)、上報(bào)狀態(tài)、元數(shù)據(jù)和版本。

      狀態(tài)偏差指的是設(shè)備上報(bào)狀態(tài)與預(yù)期狀態(tài)的偏差;

      元數(shù)據(jù)指的是設(shè)備的基本信息;

      版本指的是設(shè)備固件的版本。

      如圖3所示為本實(shí)施例中云端設(shè)備快照模塊100結(jié)構(gòu)圖,該結(jié)構(gòu)包括:

      第一獲取單元110,用于獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      第二獲取單元120,用于獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      執(zhí)行單元130,用于接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài);

      所述智能設(shè)備sdk模塊200用于與云端進(jìn)行通信,并發(fā)送智能設(shè)備當(dāng)前狀態(tài)信息至云端設(shè)備快照模塊;

      所述移動(dòng)終端應(yīng)用程序sdk模塊300用于將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息,并將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照。

      如圖4所示為本實(shí)施例中智能設(shè)備sdk模塊200結(jié)構(gòu)圖,該結(jié)構(gòu)包括:

      通信單元210,用于基于mqtt協(xié)議建立與云端的通信連接;

      第一發(fā)送單元220,用于發(fā)送智能設(shè)備當(dāng)前狀態(tài)信息至云端設(shè)備快照。

      如圖5所示為本實(shí)施例中移動(dòng)終端應(yīng)用程序sdk模塊300結(jié)構(gòu)圖,該結(jié)構(gòu)包括:

      請求單元310,用于向云端設(shè)備快照模塊請求獲取智能設(shè)備的當(dāng)前狀態(tài)信息;

      對比單元320,用于在接收智能設(shè)備的當(dāng)前狀態(tài)信息后,將所述當(dāng)前狀態(tài)信息與預(yù)期狀態(tài)信息比對,獲取狀態(tài)偏差信息;

      第二發(fā)送單元330,用于將所述狀態(tài)偏差信息發(fā)送至云端設(shè)備快照模塊。

      本實(shí)施例提供一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法及系統(tǒng),可解決過多的設(shè)備狀態(tài)消息發(fā)送給用戶的問題,此外,通過設(shè)置智能設(shè)備預(yù)期狀態(tài)信息,能有效對智能設(shè)備進(jìn)行狀態(tài)監(jiān)測及控制。

      實(shí)施例二

      本實(shí)施例為智能設(shè)備接入云端并建立通信連接的具體介紹。

      參考圖1,本實(shí)施例中,一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法包括步驟:

      s1.獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      s2.獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      s3.接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài)。

      步驟s1中,智能設(shè)備基于mqtt協(xié)議建立與云端的通信連接。

      mqtt協(xié)議是為大量計(jì)算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的協(xié)議,它具有以下主要的幾項(xiàng)特性:

      1、使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合;

      2、對負(fù)載內(nèi)容屏蔽的消息傳輸;

      3、使用tcp/ip提供網(wǎng)絡(luò)連接;

      4、有三種消息發(fā)布服務(wù)質(zhì)量:

      “至多一次”,消息發(fā)布完全依賴底層tcp/ip網(wǎng)絡(luò)。會(huì)發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因?yàn)椴痪煤筮€會(huì)有第二次發(fā)送。

      “至少一次”,確保消息到達(dá),但消息重復(fù)可能會(huì)發(fā)生。

      “只有一次”,確保消息到達(dá)一次。這一級別可用于如下情況,在計(jì)費(fèi)系統(tǒng)中,消息重復(fù)或丟失會(huì)導(dǎo)致不正確的結(jié)果。

      5、小型傳輸,開銷很小(固定長度的頭部是2字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;

      6、使用lastwill和testament特性通知有關(guān)各方客戶端異常中斷的機(jī)制;

      本實(shí)施例中,智能設(shè)備基于mqtt協(xié)議建立與云端的通信連接步驟具體為:

      a11.智能設(shè)備使用控制臺(tái)申請的密鑰進(jìn)行簽名請求授權(quán);

      本步驟中,設(shè)備使用控制臺(tái)申請的密鑰進(jìn)行簽名請求授權(quán),簽名使用hmacmd5算法(可選hmacsha1、md5),簽名內(nèi)容=devieceid+appkey,使用key=appsecret+devicesecret。

      a12.云端服務(wù)器驗(yàn)證簽名是否合法,若合法,則返回pubkey證書;

      本步驟中,服務(wù)器驗(yàn)證簽名合法,并返回pubkey證書(x.509格式base64)。

      a13.智能設(shè)備使用pubkey證書tls協(xié)議連接mqtt。

      本步驟中,設(shè)備使用pubkey證書tls協(xié)議連接mqtt。

      智能設(shè)備與云端的通信模式采用發(fā)布/訂閱模式,基于topic進(jìn)行消息的路由轉(zhuǎn)發(fā),讓設(shè)備端或者服務(wù)端可以發(fā)布訂閱消息,實(shí)現(xiàn)異步的通信。適用的場景有設(shè)備端與云端的異步通信,也可以適用m2m(設(shè)備與設(shè)備間通信)。

      云端平臺(tái)消息broker維護(hù)所有topic的發(fā)布訂閱用戶列表。當(dāng)消息發(fā)送到topic,消息broker會(huì)檢查該topic的所有訂閱用戶,然后將消息轉(zhuǎn)發(fā)給所有具有訂閱該topic權(quán)限的客戶端或者服務(wù)端。

      本實(shí)施例中,通信數(shù)據(jù)的格式采用json格式,包含期望狀態(tài)、上報(bào)狀態(tài)、狀態(tài)偏差、元數(shù)據(jù)、版本等數(shù)據(jù),舉例定義如下:

      實(shí)施例三

      本實(shí)施例為控制智能設(shè)備進(jìn)行狀態(tài)改變的具體介紹。

      參考圖1,本實(shí)施例中,一種基于設(shè)備快照的物聯(lián)網(wǎng)智能設(shè)備狀態(tài)同步方法包括步驟:

      s1.獲取智能設(shè)備當(dāng)前狀態(tài)信息;

      s2.獲取狀態(tài)偏差信息,所述狀態(tài)偏差信息包括:智能設(shè)備狀態(tài)改變請求、智能設(shè)備狀態(tài)改變控制命令;

      s3.接收并通過所述智能設(shè)備狀態(tài)改變請求,根據(jù)所述智能設(shè)備狀態(tài)改變控制命令更改所述智能設(shè)備狀態(tài)。

      步驟s3具體為:

      c1.云端設(shè)備快照接收并通過所述應(yīng)用程序發(fā)送的智能設(shè)備狀態(tài)改變請求;

      c2.若所述智能設(shè)備為在線狀態(tài),則云端設(shè)備快照發(fā)送所述智能設(shè)備狀態(tài)改變控制命令至所述智能設(shè)備;

      c3.智能設(shè)備接收所述智能設(shè)備狀態(tài)改變控制命令,并做對應(yīng)狀態(tài)改變。

      設(shè)備快照接收請求后,如果設(shè)備在線則通過mqtt協(xié)議下發(fā)給設(shè)備,如果設(shè)備離線,則保存此命令,以此狀態(tài)作為app期望設(shè)備達(dá)到的狀態(tài)。后續(xù)設(shè)備上線后,如果有狀態(tài)變更,則設(shè)備快照忽略中間頻繁的狀態(tài)上報(bào),以之前所設(shè)的預(yù)期的狀態(tài)來確認(rèn)設(shè)備狀態(tài)的改變,并以此確認(rèn)的狀態(tài)發(fā)送給app。

      步驟c2還包括:

      若所述智能設(shè)備為離線狀態(tài),則云端設(shè)備快照保存所述智能設(shè)備狀態(tài)改變控制命令。

      當(dāng)智能設(shè)備上線后,判斷所述智能設(shè)備是否存在狀態(tài)改變:

      若不存在,則云端設(shè)備快照將所述保存的智能設(shè)備狀態(tài)改變控制命令發(fā)送至所述智能設(shè)備;

      若存在,則云端設(shè)備快照獲取所述智能設(shè)備的新的當(dāng)前狀態(tài)信息,發(fā)送所述新的當(dāng)前狀態(tài)信息至應(yīng)用程序,并返回實(shí)施例一中的步驟b3。

      本文中所描述的具體實(shí)施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。

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