導航:首頁 > 源碼編譯 > mqtt證書加密演算法

mqtt證書加密演算法

發布時間:2023-03-08 00:55:25

A. 5-python庫之-paho mqtt通訊

連接調用connect介面,然後調用loop_forever後就開始跑了

connect的第三個參數為mqtt的心跳時間

on_connect 和 on_disconnect 為連接成功和斷開的回掉函數,

添加證書,只需要在調用connect函數之前,添加下面兩條內容即可。

設置賬號密碼,在調用connect函數之前,添加下面一條內容即可。

設置WILL主題,在調用connect函數之前,使用will_set介面設置,添加will主題和will主題的payload

主題的訂閱使用subscribe介面,一般在on_connect回調函數裡面設置

訂閱完主題,我們的目的就是要收到訂閱的數據,所以需要設置接收數據的回調函數on_message
,只要有數據發送過來on_message就會收到。

發布使用publish介面,如下

B. 如何使用 NB-Iot + Arino 通過MQTT協議上傳數據至阿里雲平台

有很多通信模塊只有TCP功能,沒有MQTT功能,比如WIFI,W5500等模塊,還有一些NBIOT模塊,但是又想連接阿里雲物聯網平台,官方提供了操作系統,需要自己移植,很麻煩,比較難看得懂。就在想有沒有一些簡單一定的方法。
心想MQTT是基於TCP的,能否使用TCP轉MQTT?因此就想使用TCP協議然後轉MQTT協議連接阿里雲物聯網平台,經過試驗證明是可以的。

首先我們先分析一下如何登陸接入Onenet平台。

先從它數據格式開始分析。首先我們要從後台取出三個信息,我們以這個為例。

我們把產品ID,設備名稱,設備秘鑰,簡稱三要素 (具體是什麼看你自己的設備)

其實阿里雲物聯網平台的MQTT協議用的就是標準的,不過它加入了自己的認證方式。

MQTT協議需要上傳四個參數,報活時間,clientID,用戶名,密碼。

那麼阿里雲的就在clientID,用戶名,密碼做了手腳。

clientID比較長,按照一定的格式

用戶名:設備名和秘鑰組成

密碼:使用了加密串進行了加密,有sha1或者MD5加密方式

下面我們來介紹一下

MQTT接入都是發十六進制的數據。

么我們發送的時候就是這樣子的一串數據

0x74 0x00 0x04 0x4d 0x51 0x54 0x54 0x04 0xC0 0078 0033 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67

0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c 0009

0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34 0028 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36

十六進制解釋

數據長度:0x74

協議數據長度 0x00 0x04

協議類型: 0x4d 0x51 0x54 0x54

協議數據: 0x04 0xC0

keepAlive數據:0078

ClientID長度:0033

ClientID: 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67 0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c

用戶名:0009

用戶名: 0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34

密碼長度:0028

密碼: 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36復制代碼上面的就是連接伺服器的連接包

下面呢,我們來做個發布包(上傳數據到伺服器)

0x30 0x1D 0009 2f7379732f706f7374 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d

十六進制數據解釋

數據頭:0x30

數據長度:0x1D

TopicName數據長度:0009

TopicName數據內容:2f7379732f706f7374

主體json數據: 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d復制代碼以上就是連接阿里雲的數據包格式及發布數據的格式,由於時間問題沒有做訂閱的數據包分析,下一次更新訂閱的內容。

閱讀全文

與mqtt證書加密演算法相關的資料

熱點內容
怎麼顯示android的APP 瀏覽:121
c編譯器怎麼刪除空格 瀏覽:695
php自動釋放內存 瀏覽:219
golang編譯庫 瀏覽:794
oracle數據字元串加密 瀏覽:603
研究生去上海當程序員 瀏覽:90
u8電腦伺服器連接失敗怎麼解決 瀏覽:569
bat腳本創建日期命名文件夾 瀏覽:104
將圖片轉換為pdf格式 瀏覽:980
java中形參 瀏覽:83
枚舉類型編譯器 瀏覽:519
oraclejava包 瀏覽:568
手機定位手機怎麼定位安卓 瀏覽:523
在哪個app買歐萊雅最便宜 瀏覽:495
程序員吃零食好嗎 瀏覽:261
php工程師主要做什麼 瀏覽:356
tvp保存到哪個文件夾 瀏覽:197
怎麼把空調裡面的壓縮機拆卸掉 瀏覽:943
linux4k對齊 瀏覽:968
單片機與開關電源 瀏覽:276