圖解連線阿里雲(一)建立阿里雲物聯網平臺產品和裝置,使用MQTT.fx快速體驗

一匹夫發表於2020-11-30

 

1.  開啟 https://www.aliyun.com/  註冊賬號

 

2.註冊賬號登入後點選控制檯

 

 

3. 在下圖1處輸入物聯網平臺,會彈出2處所示物聯網平臺的入口,點選紅色箭頭所示處,進入物聯網平臺頁面

 

4. 在物聯網平臺頁面處 點選該公共例項

 

 

5. 選中1處產品這一欄,點選2處的建立產品按鈕

 

 

6. 填寫建立產品所需的引數。 我之後將十使用windows軟體MQTT.fx來連線阿里雲,我的電腦是通過wifi聯網的,所以我在下圖的聯網方式處選擇Wi-Fi 。

  下面我建立一個產品,產品名稱叫做:我是產品-我負責管理裝置們

     (產品名稱在賬號內具有唯一性。例如,可以填寫為產品型號。支援中文、英文字母、日文、數字、下劃線(_)、短劃線(-)、@符號和英文圓括號,長度限制4~30個字元,一箇中文或日文佔2個字元)

 點選確認,我們將進入下圖頁面

 

7.

 

現在我們面臨兩個選擇,通過閱讀上圖2的文字,我們瞭解到,物模型是一種抽象的資料結構,我們需要為每個產品定義一個物模型,這是產品下屬的裝置們的抽象父類。

所以,我們按照由上至下的設計原則,先為產品定義物模型吧! 點選上圖2處,前往定義物模型。

 

8.

再點選編輯草稿

 

9.

再點選 新增標準功能

 

10.

  選擇 其他型別, 我在這裡輸入 溫度,表示我的物聯網裝置將要上傳溫度值吧(你不一定要選擇溫度的,這裡的選擇僅僅是阿里雲對使用者資料進行一個粗略的分類而已),

  點選3處的搜尋按鈕, 4處隨便選擇一個, 我選擇的是當前溫度--空氣盒子。 

然後點選確定

 

 

 還可以點選編輯

我們將其讀寫型別改為 :讀寫。 這表示該資料不僅可以上傳到雲平臺(只讀),還可以由雲平臺下發到裝置。

再點選 釋出上線,勾選:確認已檢視當前版本與線上版本的比對結果。 點選確定。

 

這樣,一個物模型就建立好了。

根據上面的提示,一個產品,不僅需要物模型,還需要裝置,所以,接下來,我們就新增裝置。

 

11. 在物聯網平臺 / 裝置管理 / 裝置 頁面, 點選:新增裝置

 

 1選擇我們剛才建立的產品    2給裝置起個英文名字    ,再點選確認

 

 再點選完成

 

 至此,我們又將裝置建立好了。PS:當前裝置狀態可以看到,是未啟用。

 

接下來我們就可以跑起來微控制器或者其他什麼Linux板子,又或者是上位機軟體,又或者是ubuntu內允許的可執行程式,來連線這個阿里雲了。

連線需要一些引數,這些引數阿里雲已經為我們都提供了,我們通過自己的主頁就可以看到, 如下圖所示:

 上圖可以檢視裝置的引數。

 

上圖可以檢視裝置模型( 即 產品 )的引數。

 

12. 後面要用到的時候再來檢視相關引數, 我們先下載MQTT.fx吧 

 

MQTT.fx軟體的下載路徑

https://mqttfx.jensd.de/index.php/download?spm=a2c4g.11186623.2.16.63f75800DlwS9m

我下載的是最新版的1.71版本

 

開啟該軟體

接著點選上圖的該設定按鈕

 

然後填好相關引數,如下圖所示:

 

 這裡解釋下相關引數

你的Client ID可以和我的配置一樣。 後面的securemode也可以設定為3, signmethod也可以跟我一樣,設定為sha1(sha1就是上圖的hmacsha1)。

Broker Address就是個域名, 你的這個域名可以配置為  “你的ProductKey”+ “iot-as-mqtt.cn-shanghai.aliyuncs.com” 這串字元,

你的ProductKey可以通過下圖方式查到:

 

接著我們來填寫User Credentials選項卡

下面介紹下這兩行怎麼填寫:

 

 

ProductKey的檢視方法前面已經介紹過了,這裡介紹下DeviceName的檢視方法: 

 填好它。  現在就只剩一個Password還需要填寫了,我們需要藉助一個密碼計算工具。

 在該QQ群進行如下搜尋即可下載

 

QQ群號在此

解壓縮下載包後,雙擊sign檔案,即可使用,

下圖是我輸入的計算密碼所需的引數:

productKey、deviceName、clientId都介紹過了,或者我的配圖裡都展示出來了。method選擇為sha1,還記得吧,我們之前配置Client ID的時候配置為了sha1,這裡要對應上。

現在只剩一個deviceSecret沒介紹了,我們可以通過下圖方式檢視:

填寫好引數以後,點選Genrete,就可以生產password了。

然後把password複製黏貼到MQTT.fx的下圖處,再點選OK按鈕

 然後再點選Connect

 

如果上面的操作都正確,那麼喜迎時刻到了:

小燈變成了綠色,disconnect按鈕也可見(白色背景,黑色字型)了。

同時!==》我們可以看到,該裝置由原先的 未啟用 狀態更改為 線上狀態。我們已經建立了上位機MQTT.fx軟體和阿里雲的連線了。

既然連線已經通了,那我們接著來乾點收發資料的事情吧。

畢竟僅僅建立個連線不是目的,收發資料去輔助完成業務邏輯才是我們的目的。

 

 13 在下圖處,阿里雲平臺為我們預設了一些Topic(主題), 我們可以藉助這些主題來通訊。

  當然,我們也可以自定義Topic, 都可以的。

  這裡我們先使用預設好的物模型Topic吧。

 這裡可以看到,裝置屬性上報的主題,

 我訂閱的Topic就是:    /sys/a11B0MP4tDp/1st_device_mqttfx/thing/event/property/post     填入下圖的3處:

留意一下,紅色框內選擇最左邊一個藍色的圈即可,這是通訊的質量等級Qos, 阿里雲好像不支援Qos為2.

現在不確定支不支援不要緊,因為現在是快速體驗阿里雲,到時候我們寫下位機程式碼來和阿里雲通訊的時候肯定會設計到這個問題的,所以現在不操心,知道這麼回事就行了。  

 

4處我填寫的是CurrentTemperature":43, 為什麼是CurrentTemperature呢?

因為CurrentTemperature是我們建立的溫度資料的識別符號。

點選Publish。資料就傳到雲上去咯。

 

現在我們可以去雲上檢視下資料。

至此,我們完成了裝置向雲傳送資料的功能。

 

接下來我們來完成雲下發資料到裝置的功能:

先配置MQTT.fx

再次檢視阿里雲預設好的Topic列表,入下圖紫色劃線的主題就是我們現在需要的訂閱主題。

意思就是,物聯網裝置訂閱這個主題,雲平臺也可以通過向這個主題傳送訊息,傳遞給各個訂閱過該主題的物聯網裝置,以此實現通訊。

 

 我下圖填入的主題是: /sys/a11B0MP4tDp/1st_device_mqttfx/thing/event/property/post

然後點選Subscribe。

 

接著在雲平臺這邊來操作:

點選線上除錯

點選前往檢視

再進行如下配置

在3處填入你要傳送的數值,我隨便填了個35.

點選傳送指令

之後會顯示雲端下發資料的記錄:

 

回到MQTT.fx

3處可以選擇按照JSON格式顯示收到的資料。

至此,我們又完成了雲端資料下發到裝置的功能。

 

還有自定義Topic,有提到,沒涉及,可以自己去嘗試嘗試。

 

 

.

相關文章