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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

微信小程序使用MQTT远程控制单片机——阿里云物联网平台

發布時間:2023/12/15 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序使用MQTT远程控制单片机——阿里云物联网平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信小程序使用MQTT遠程控制單片機——阿里云物聯網平臺①

  • 阿里云物聯網平臺的使用
    • 第一,注冊阿里云
    • 第二,找到找到物聯網平臺并創建設備
  • MQTT協議格式的講解
    • MQTT中文文檔
    • 固定報頭 Fixed header
    • 2.3 可變報頭 Variable header
    • 有效載荷 Payload
  • 持續更新

阿里云物聯網平臺的使用

第一,注冊阿里云

打開阿里云官網進行注冊https://www.aliyun.com/

第二,找到找到物聯網平臺并創建設備

進去物聯網平臺里面里面點擊公共實例->創建產品

創建完成,點擊查看,查看里面的產品情況

Topic類列表是一些我們訂閱發布主題的一些東西。意思就是說,假設我們手機app控制電燈,我們需要訂閱主題,我們溫濕度上傳數據到app就需要發布主題。反正就是通訊所需要的一些東西,由于知識淺薄,不太能講明白

我們在功能定義里面的添加產品的標準功能這里添加我們所需要的功能

我們再添加功能時也可以選擇插座產品這個默認功能以外的東西,我們可以在其他類型那里進行搜索并添加

當然我們添加后的功能也還可以進行修改

接下來我們就要添加我們的設備了,我們之前創建產品只是設備的模型并不是我們用來控制或者顯示終端信息的設備,這就相當于我們提出了我們的概念,然后我們必須添加一個設備用來跟我們的終端控制使用,因為我們在之前的產品里面添加好了我們的功能,所以我們的現在添加的設備也集成了所有的功能

我們云端對接設備時所需要的證書,其實就是確認你是那個產品那個設備。我們等下可能要用到

MQTT協議格式的講解

MQTT中文文檔

下面的內容全部都是MQTT中文文檔里面所有的,因為為了記錄自己所學的東西,所以干脆直接截圖到自己博文做筆記了

MQTT控制報文包含三層結構

固定報頭 Fixed header

每個MQTT控制的報文都有一個固定報頭,這個固定報頭格式如下:


MQTT控制報文的類型

標志位

  • 是不是看這個類型、標志位懵逼不知道怎么下手,其實不用太過在意啥意思,只要知道有這個東西,有這個格式到時候根據情況按照文檔直接使用就行,

剩余長度
位置:從第2個字節開始。

剩余長度(Remaining Length)表示當前報文剩余部分的字節數,包括可變報頭和負載的數據。剩余長度不包括用于編碼剩余長度字段本身的字節數。

剩余長度字段使用一個變長度編碼方案,對小于128的值它使用單字節編碼。更大的值按下面的方式處理。低7位有效位用于編碼數據,最高有效位用于指示是否有更多的字節。因此每個字節可以編碼128個數值和一個延續位(continuation bit)。剩余長度字段最大4個字節。

字節計算方式實例:原作者

2.3 可變報頭 Variable header

  • 很多控制報文的可變報頭部分包含一個兩字節的報文標識符字段。這些報文是PUBLISH(QoS > 0時), PUBACK,PUBREC,PUBREL,PUBCOMP,SUBSCRIBE, SUBACK,UNSUBSCRIBE,UNSUBACK。

  • SUBSCRIBE,UNSUBSCRIBE和PUBLISH(QoS大于0)控制報文必須包含一個非零的16位報文標識符(Packet Identifier)[MQTT-2.3.1-1]。客戶端每次發送一個新的這些類型的報文時都必須分配一個當前未使用的報文標識符 [MQTT-2.3.1-2]。如果一個客戶端要重發這個特殊的控制報文,在隨后重發那個報文時,它必須使用相同的標識符。當客戶端處理完這個報文對應的確認后,這個報文標識符就釋放可重用。QoS 1的PUBLISH對應的是PUBACK,QoS 2的PUBLISH對應的是PUBCOMP,與SUBSCRIBE或UNSUBSCRIBE對應的分別是SUBACK或UNSUBACK [MQTT-2.3.1-3]。發送一個QoS 0的PUBLISH報文時,相同的條件也適用于服務端 [MQTT-2.3.1-4]。

  • QoS等于0的PUBLISH報文不能包含報文標識符 [MQTT-2.3.1-5]。

  • PUBACK, PUBREC, PUBREL報文必須包含與最初發送的PUBLISH報文相同的報文標識符 [MQTT-2.3.1-6]。類似地,SUBACK和UNSUBACK必須包含在對應的SUBSCRIBE和UNSUBSCRIBE報文中使用的報文標識符 [MQTT-2.3.1-7]。

  • 需要報文標識符的控制報文在 表格 2.5 -包含報文標識符的控制報文 中列出。

有效載荷 Payload

某些MQTT控制報文在報文的最后部分包含一個有效載荷,對于PUBLISH來說有效載荷就是應用消息。表格 2.6 – 包含有效載荷的控制報文 列出了需要有效載荷的控制報文。

持續更新

微信小程序使用MQTT遠程控制單片機——阿里云物聯網平臺①

微信小程序使用MQTT遠程控制單片機——MQTT控制報文②

微信小程序使用MQTT遠程控制單片機——MQTT控制報文③
學習視頻
該博文為個人學習筆記記錄,由于知識量儲備不夠若有錯誤之處或者補充,請各位大佬批評指正,持續更新中……

總結

以上是生活随笔為你收集整理的微信小程序使用MQTT远程控制单片机——阿里云物联网平台的全部內容,希望文章能夠幫你解決所遇到的問題。

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