使用移遠BC28 模組對接阿里雲 MQTT
MQTT,作為目前物聯網的最主要的協議之一,受到各大雲平臺的青睞,諸如機智雲,百度雲,騰訊雲,阿里雲等,均支援裝置使用MQTT方式接入平臺。為了方便裝置的接入,各大平臺,都開源了各種程式語言版本的sdk(具體情況可參看各個平臺的說明及文件)。協議再牛逼,也離不開通訊技術的支援,隨著物聯網的發展,無線通訊模組的事業也逐漸進入一個小高潮。最近比較火技術當屬牛逼(NB)技術了。本文主要講述如何使用移遠的BC28模組的MQTT特性接入阿里雲。
阿里雲以卓越的科技能力助力各行各業數字化轉型,為全球客戶提供領先的雲端計算、大資料、人工智慧服務,以及定製化行業解決方案。本小節介紹如何在阿里雲平臺建立產品、裝置。登入阿里雲平臺(
進入物聯網平臺之後,點選管理控制檯,進入產品管理介面,在產品管理介面下點選“建立產品”按鈕,彈出建立產品子對話方塊,根據提示選擇或輸入相關資訊,點選確定按鈕,完成產品建立,如下圖所示:
完成產品建立之後,需要在該產品下新增裝置。點選裝置管理選項,進入裝置管理子頁面,點選“新增裝置”按鈕,彈出新增裝置對話方塊,在產品下拉框中選擇相應的產品,輸入裝置名稱,完成新增裝置操作,如下圖
裝置新增完成之後,點選檢視,檢視裝置詳細資訊如下圖所示:
完成測試裝置建立工作之後,可檢視該裝置的“三元組資訊”。 “三元組資訊”包括:
在產品管理介面,單擊產品後面檢視按鈕,檢視單個產品資訊,點選訊息通訊,進入訊息通訊子介面。在需要的修改許可權的TOPIC後面單擊編輯按鈕,彈出定義TOPIC類對話方塊,在對話方塊中選擇相應的許可權,如下圖所示。
- ProductKey 表示產品型別, 一類產品 ProductKey 相同;
- DeviceName 表示裝置名稱, 同一類產品中 DeviceName
- DeviceSecret 表示單個裝置工作金鑰,該引數使用者儲存不宜公開。
本小節,介紹使用MQTT命令接入阿里雲平臺,按照下述小節,完成阿里裝置資訊配置、MQTT的連線、訂閱與釋出功能
通過上述介紹,在阿里雲平臺建立的產品、裝置,獲取到如下資訊:
- Product Key a1uv6K0BsSI
- Device Name test
- Device Secret bCRTTFehsV8IBLIOjGqtEHCsmDIIkysa
// 檢查注網狀態。
AT+CGATT?
+CGATT: 1 // 注網成功
OK
// 按照獲取的產品、裝置資訊,配置阿里雲裝置資訊。
AT+QMTCFG="aliauth",0,"a1uv6K0BsSI","test","bCRTTFehsV8IBLIOjGqtEHCsmDIIkysa"
OK
配置過裝置資訊之後,發起MQTT連線請求到阿里雲平臺。
// 按照產品建立提供的連結,開啟MQTT服務。
AT+QMTOPEN=0,"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
OK
+QMTOPEN: 0,0 // 開啟服務成功。
// 傳送MQTT連線請求
AT+QMTCONN=0,“clientExample”
OK
+QMTCONN: 0,0 // 連線成功。
MQTT連線成功之後,發起訂閱topic請求。
// 傳送訂閱請求。
AT+QMTSUB=0,1,"/a1uv6K0BsSI/test/get",0
OK
+QMTSUB: 0,1,0,0 // 訂閱成功。
MQTT訂閱成功後,可以接收到下行推送訊息。
// 向topic釋出訊息。
AT+QMTPUB=0,0,0,0,"/a1uv6K0BsSI/test/get"
>This is test data, hello // 輸入資料。按CTRL+Z結束
OK
+QMTPUB: 0,1,0,0 // 釋出訊息成功。
// 收到訊息
+QMTRECV: 0,0," /a1uv6K0BsSI/test/get ",This is test data, hello
// 斷開MQTT連線。
AT+QMTDISC=0
OK
+QMTDISC: 0,