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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

{

“token”:”12345”,

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

……

“body”:消息體

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

溫馨提示

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

評論

0/150

提交評論