前言
上一節測試了用調試助手連接上阿里雲物聯網平台,
這一節學習一下阿里雲提供的自定義Topic上報數據和監聽下發數據.
所謂自定義Topic是阿里雲給咱規定了一個這樣子的主題;
用這個主題可以發送隨意的數據.
了解一下阿里雲規定的Topic
1.點擊產品,查看
2.阿里雲提供了三種類型的Topic(基礎通信,物模型,自定義)
Topic就是設備MQTT訂閱和發布的主題,雲平台已經規定好了咱設備訂閱和發布的主題
后面 操作權限 寫的發布的就是說你可以用這個主題發布消息
后面 操作權限 寫的訂閱就是說設備可以訂閱這個主題
基礎通信Topic是實現具體功能時需要用到的Topic,
列如遠程升級相關的訂閱和發布的主題;
注:主題里面都有一個 a1m7er1nJbQ/${deviceName}
一個產品下 a1m7er1nJbQ (ProductKey) 是一樣的
后面 ${deviceName} 是咱在產品下面添加設備的時候的設備的名字.
我的設備名字是Mqtt
那么組合起來就是 a1m7er1nJbQ/Mqtt
每一個設備根據設備的名字區分了主題.
設備上報固件版本
設備通過以下發布的主題上報固件版本
/ota/device/inform/${YourProductKey}/${YourDeviceName}
我的就是:/ota/device/inform/a1m7er1nJbQ/Mqtt
物聯網平台推送固件信息
設備需要訂閱以下主題來獲取固件下載地址等信息
/ota/device/upgrade/${YourProductKey}/${YourDeviceName}
。
設備上報升級進度
設備可以通過這個Topic上報固件升級的進度百分比。
/ota/device/progress/${YourProductKey}/${YourDeviceName}
。
2.物模型通信Topic
1.物模型Topic是阿里雲平台提供了一個用網頁展示設備端數據的模型
設備發送的數據可以在平台上展示.
2.點擊設備的物模型數據
如果想把數據傳輸到這個上面顯示,就需要用物模型提供的主題
(這個會在下節使用)
3.自定義Topic是阿里雲平台提供的可以發送隨意消息的主題
阿里雲默認提供了上面三個主題.
用戶也可以點擊上面的定義Topic類,添加自己的設備訂閱和發布的主題
用該主題可以發送隨意的消息,發送的消息在雲平台上沒有任何效果.
只能在調試模式下看到.這種消息需要自己去做規則處理以后才有實際的價值.(后面的章節會用到)
下面以阿里與默認提供的Topic說明
自定義topic 規定的設備訂閱的主題
/${YourProductKey}/${YourDeviceName}/user/update
/${YourProductKey}/${YourDeviceName}/user/update/error
我的組合起來就是:
/a1m7er1nJbQ/Mqtt/user/update 和 /a1m7er1nJbQ/Mqtt/user/update/error
自定義topic 規定的設備發布的主題
/${YourProductKey}/${YourDeviceName}/user/get
我的組合起來就是
/a1m7er1nJbQ/Mqtt/user/get
下載測試
1.根據自己的設置以下信息
2.修改為自己的路由器信息
3.下載以后注意看打印的信息,連接了路由器,連接了MQTT,並在發布消息
4.首先去雲平台先看一下上報的數據
說一下哈,咱使用的自定義發布的主題
咱的上報的數據是在設備的 日志服務 中看
5.雲平台控制繼電器吸合和斷開
可以在設備的Topic列表中查看設備已經訂閱的主題
{"data":"switch","bit":"1","status":"1"}
{"data":"switch","bit":"1","status":"0"}
程序說明
1.程序和上一節相比,增加了阿里雲提供的自定義的訂閱和發布的主題
2.接入服務器之后訂閱主題
3.使用自定義的主題上報溫濕度數據
4.解析服務器下發的數據