日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ mqtt客户端_MQTT详解及百度物接入连接手机测试(含源码) 秦子帅

發布時間:2024/7/23 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ mqtt客户端_MQTT详解及百度物接入连接手机测试(含源码) 秦子帅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MQTT簡介

MQTT定義

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,被用來當做傳感器和制動器(比如通過Twitter讓房屋聯網)的通信協議。

MQTT特點

MQTT協議是為大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:

1.使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合;

2.對負載內容屏蔽的消息傳輸;

3.使用 TCP/IP 提供網絡連接;

4.有三種消息發布服務質量:

  • “至多一次”,消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用于如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。
  • “至少一次”,確保消息到達,但消息重復可能會發生。
  • “只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。

5.小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量;

6.使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制;

MQTT特征原理

image

實現MQTT協議需要:客戶端和服務器端

MQTT協議有三種身份:發布者(Pushlish)、代理(Broker)、訂閱者(Subscribe)

MQTT的消息分為:主題(Topic)和負載(payload)兩部分

Topic,可以理解為消息的類型,訂閱者Subscribe之后,就會收到該主題的消息內容(payload)。

payload,可以理解為消息的內容,是指訂閱者具體的使用內容

消息類型:

  • CONNECT:客戶端連接到MQTT代理
  • CONNACK:連接確認
  • PUBLISH:新發布消息
  • PUBACK:新發布消息確認,是QoS 1給PUBLISH消息的回復
  • PUBREC:QoS 2消息流的第一部分,表示消息發布已記錄
  • PUBREL:QoS 2消息流的第二部分,表示消息發布已釋放
  • PUBCOMP:QoS 2消息流的第三部分,表示消息發布完成
  • SUBSCRIBE:客戶端訂閱某個主題
  • SUBACK:對于SUBSCRIBE消息的確認
  • UNSUBSCRIBE:客戶端終止訂閱的消息
  • UNSUBACK:對于UNSUBSCRIBE消息的確認
  • PINGREQ:心跳
  • PINGRESP:確認心跳
  • DISCONNECT:客戶端終止連接前優雅地通知MQTT代理

MQTT應用

通過MQTT協議,目前已經擴展出了數十個MQTT服務器端程序,可以通過PHP,JAVA,Python,C,C#等系統語言來向MQTT發送相關消息。

此外,國內很多企業都廣泛使用MQTT作為Android手機客戶端與服務器端推送消息的協議。其中Sohu,Cmstop手機客戶端中均有使用到MQTT作為消息推送消息。據Cmstop主要負責消息推送的高級研發工程師李文凱稱,隨著移動互聯網的發展,MQTT由于開放源代碼,耗電量小等特點,將會在移動消息推送領域會有更多的貢獻,在物聯網領域,傳感器與服務器的通信,信息的收集,MQTT都可以作為考慮的方案之一。在未來MQTT會進入到我們生活的各各方面。

百度物接入loT及MQTT測試

配置

1.注冊百度云賬號,打開物接入界面:

image

2.在管理控制平臺創建:

image

image

3.點擊剛才創建的實例名稱,并創建設備:

image

image

4.填寫身份、策略、主題等信息

需要注意的是Topic和生成的密鑰一定要記住,如果密鑰丟了的話只能去重置密鑰了。

image

image

基本配置就是這些了。

MQTT連接測試

1.點擊連接測試:

image

2.填寫剛才生成密鑰,以及用戶名稱,然后點擊Connect

image

3.連接之后開始測試,填寫一下你剛才設置的主題,比如我設置的主題是qzsservice,步驟如下:

image

image

image

發送后底下就會顯示Messages信息了,說明測試成功!

百度物接入服務器與手機連接測試

上面我們已經講完了百度物接入怎么創建實例+連接測試了,下面講一下連接測試發送消息怎么與手機程序相連。也就是服務器發送一條消息,手機程序接收。:

首先需要引入兩個包:

image

然后就是通過一系列的操作:

  • 創建MQTT連接 createconnect
  • 訂閱主題subscribe

代碼我就不展示了,文末會貼出源碼下載的地址

測試步驟:

1.完成第二部分的內容,記下生成的topic,server_utl,用戶名,密鑰

2.在手機程序Constants加入這些數據

3.運行程序,輸入訂閱的主題,如果顯示“訂閱主題成功”說明成功了,此時再MQTT服務器上發送一條消息,觀察log,會顯示收到的消息。

源碼獲取:加我的WX:lengquele5311

總結

以上是生活随笔為你收集整理的c++ mqtt客户端_MQTT详解及百度物接入连接手机测试(含源码) 秦子帅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。