《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 7.1.2 智能安防設(shè)備通信方式_第1頁(yè)
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 7.1.2 智能安防設(shè)備通信方式_第2頁(yè)
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 7.1.2 智能安防設(shè)備通信方式_第3頁(yè)
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 7.1.2 智能安防設(shè)備通信方式_第4頁(yè)
《鴻蒙智能互聯(lián)設(shè)備開發(fā)(微課版)》 課件 7.1.2 智能安防設(shè)備通信方式_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

7.1.2智能安防設(shè)備通信方式通過(guò)本節(jié)學(xué)習(xí),您可以:了解智能安防設(shè)備的通信方式MQTT智能安防設(shè)備通信方式1.MQTT通信過(guò)程在MQTT通信過(guò)程中,有3種身份:發(fā)布者(Publisher)、消息代理(Broker)和訂閱者(Subscriber)。其中發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器。對(duì)于同一個(gè)客戶端,它可能是發(fā)布者也可能是訂閱者。MQTT客戶端可以發(fā)布消息供其他客戶端訂閱,可以訂閱其他客戶端發(fā)布的消息,可以退訂或者刪除消息,斷開與服務(wù)器的連接。MQTT服務(wù)器作為消息代理,位于消息發(fā)布者和訂閱者之間。它接收來(lái)自發(fā)布者的連接請(qǐng)求,接收發(fā)布者發(fā)布的消息,處理訂閱者的訂閱和退訂請(qǐng)求,向訂閱者轉(zhuǎn)發(fā)訂閱的消息。發(fā)布者訂閱者訂閱者代理服務(wù)器發(fā)布消息Publish訂閱請(qǐng)求Subscribe訂閱請(qǐng)求Subscribe訂閱請(qǐng)求Subscribe智能安防設(shè)備通信方式MQTT協(xié)議中傳輸?shù)南⒅饕譃橹黝}(Topic)和負(fù)載(Payload)。MQTT進(jìn)行通信的具體過(guò)程如圖所示:訂閱者發(fā)送連接請(qǐng)求給代理服務(wù)器,代理服務(wù)器授權(quán)并返回一個(gè)CONNACK確認(rèn)消息,形成一個(gè)會(huì)話;訂閱者發(fā)送訂閱請(qǐng)求給代理服務(wù)器,如果訂閱成功,代理服務(wù)器返回一條SUBACK確認(rèn)消息;智能安防設(shè)備通信方式發(fā)布者先與代理服務(wù)器建立連接,之后發(fā)布相應(yīng)主題的消息內(nèi)容給代理服務(wù)器,代理服務(wù)器將負(fù)載轉(zhuǎn)發(fā)給訂閱這個(gè)主題的訂閱者;訂閱者可以發(fā)送取消訂閱給代理服務(wù)器,代理服務(wù)器返回UNSUBACK確認(rèn)消息,經(jīng)過(guò)PING命令之后可斷開連接,返回DISCONNECT。智能安防設(shè)備通信方式2.MQTT主題在MQTT中使用主題名來(lái)標(biāo)識(shí)一個(gè)主題。一個(gè)主題名的格式是:{app}{operator}/{infoType}/{infoTarget}/{infoPath}{app}表示發(fā)布本消息的應(yīng)用程序。比如消息是由華為eSDK發(fā)布,則對(duì)應(yīng)的{app}值為esdk;如果是其他App發(fā)布的,則{app}為該應(yīng)用程序的關(guān)鍵字名稱。{operator}是一個(gè)動(dòng)作,表示操作類型,目前支持以下操作類型:get:獲取操作,適用于無(wú)輸入有輸出的請(qǐng)求/響應(yīng)場(chǎng)景。Set:設(shè)置操作,適用于有輸入無(wú)輸出的請(qǐng)求/響應(yīng)場(chǎng)景。action:命令操作,適用于既有輸入又有輸出的請(qǐng)求/響應(yīng)場(chǎng)景,輸入、輸出可選。notify:通知,適用于無(wú)須請(qǐng)求、主動(dòng)推送的信息。智能安防設(shè)備通信方式操作類型operator消息類型infoType說(shuō)明getsetactionrequest請(qǐng)求消息response響應(yīng)消息notifyevent……事件通知消息。后續(xù)擴(kuò)展的或者其他自定義通知類型操作類型operator消息類型infoType消息目標(biāo)infoTargetgetsetactionrequest接收該請(qǐng)求消息的目標(biāo)應(yīng)用程序response接收該響應(yīng)消息的目標(biāo)應(yīng)用程序,對(duì)應(yīng)于{app},不能為*notifyevent……事件通知消息。后續(xù)擴(kuò)展的或者其他自定義通知類型{infoType}表示消息類型,根據(jù)操作類型{operator}而定。{infoTarget}表示消息目標(biāo),其含義與{infoType}相關(guān)。{infoPath}表示信息對(duì)象。例如,可用clock表示終端時(shí)間,用temperature表示溫度。智能安防設(shè)備通信方式3.主題通配符當(dāng)訂閱者訂閱主題時(shí),可以使用通配符來(lái)訂閱多個(gè)主題。MQTT支持3種通配符:層級(jí)分隔符“/”多層通配符“#”單層通配符“+”層級(jí)分隔符“/”將主題分為了多個(gè)層級(jí),使得主題層次分明。多層通配符“#”能夠匹配當(dāng)前主題層級(jí)下的所有子層級(jí)的子主題。單層通配符“+”只能匹配“+”所在的一層的主題。智能安防設(shè)備通信方式4.MQTT數(shù)據(jù)報(bào)文MQTT協(xié)議的數(shù)據(jù)報(bào)文主要由三部分組成:固定頭、可變頭和有效載荷。其中固定頭是所有數(shù)據(jù)報(bào)文都必須包含的部分。MQTT協(xié)議數(shù)據(jù)報(bào)文固定頭格式:Bit76543210Byte1MessageTypeDUPflagQoSlevelRETAINByte2RemainingLength智能安防設(shè)備通信方式MessageType:表示此數(shù)據(jù)報(bào)文的類型為連接請(qǐng)求、訂閱請(qǐng)求、訂閱確認(rèn)、取消訂閱等類型中的一種。DUPflag:用來(lái)保證消息可靠傳輸。設(shè)置為1,即在變長(zhǎng)中增加消息標(biāo)識(shí),并需要返回確認(rèn)。QoSlevel:消息的服務(wù)質(zhì)量。等級(jí)表示保證傳遞的次數(shù),分3個(gè)等級(jí)。RETAIN:發(fā)布保留標(biāo)識(shí)。指是否保留消息在代理服務(wù)器中,以供新的訂閱者訂閱此消息。RemainingLength:表示可變頭和有效載荷的字節(jié)數(shù),最多可以占4個(gè)字節(jié)??勺冾^的內(nèi)容因數(shù)據(jù)報(bào)文類型不同而不同,有效載荷表示消息的具體內(nèi)容。Bit76543210Byte1MessageTypeDUPflagQoSlevelRETAINByte2RemainingLength智能安防設(shè)備通信方式5.MQTT消息格式JSON是一種存儲(chǔ)和交換文本信息的語(yǔ)法,它采用了鍵值對(duì)(key/value)的方式。MQTT消息的JSON格式如下:字段類型說(shuō)明Tokenstring消息標(biāo)識(shí)。相同源發(fā)出的相同類型消息的token應(yīng)該各不同,可以用自增數(shù)、隨機(jī)數(shù)表示Timestampstring消息產(chǎn)生的時(shí)間戳…………其他的自定義拓展字段bodyJSON消息體,以JSON格式表示

{

“token”:”12345”,

“timestamp”:”2022-10-10T17:20:30Z”,

……

“body”:消息體

}智能安防設(shè)備通信方式6.MQTT數(shù)據(jù)訪問(wèn)操作類型為get、set、和action的主題,稱為“數(shù)據(jù)訪問(wèn)”。一般是通信

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論