文章目錄
- 準備作業
- 1.注冊賬號并登錄阿里云IoT平臺
- 2.進行實名驗證
- 3.開通物聯網平臺
- 創建產品
- 1.新建一個名為“Light”的產品
- 2.進行功能定義
- 添加設備
- 開發手機App
- 1.新建專案
- 2.關聯產品和設備
- 3.開發移動應用
- 掌控板程式
- 1.初始化MQTT
- 2.Topic 資訊
- 3.判斷收到的訊息
- 4.全部代碼
- 參考教程
- 結語
準備作業
1.注冊賬號并登錄阿里云IoT平臺
打開瀏覽器,進入阿里云IoT平臺http://iot.aliyun.com,如圖1所示,點擊右上角【免費注冊】按鈕,進入圖2界面進行注冊,
如已有賬號點擊右上角的【登錄】按鈕直接登錄即可,


2.進行實名驗證
登錄或注冊成功后,進入 https://account.console.aliyun.com/v2/#/authc/home 進行實名驗證,目前有兩種驗證方式:支付寶快捷驗證或使用淘寶或阿里云App掃臉并上傳身份證驗證,(不進行實名驗證無法開通物聯網平臺服務)
3.開通物聯網平臺
進入 https://iot.console.aliyun.com/product ,按照步驟點擊【立即開通】即可,是免費的,(這里沒有截圖,記得不是太清了)
開通成功后會出現開通成功的界面,見圖3:

以上均為準備作業,進行到這里,接下來就可以開始創建產品、創建設備并開發App了,
創建產品
1.新建一個名為“Light”的產品
進入控制臺 https://iot.console.aliyun.com/product ;
點擊左上角新建產品,見圖4

新建一個名為“Light”的產品,節點型別為直連設備,見圖5:

產品創建完成后,將自動出現在產品串列中,
2.進行功能定義
點擊【查看】進行功能定義,步驟見圖6、圖7和圖8:



為剛剛新建的“Light”產品添加一個名為“作業狀態”的功能,產品識別符號為“LightStatus”,
將LED燈的作業狀態定義為產品屬性,資料型別為布林值(bool),即0表示燈滅,1表示燈亮,具體設定參考圖8,單擊確定,
功能添加完成后,將自動出現在自定義功能串列中,用戶可在該處查看產品的識別符號“LightStatus”,

添加設備
回到控制臺,點擊設備>添加設備,見圖10:

選擇剛才新建的產品,掛載一個名為“My_Light”的設備,見圖11:

開發手機App
1.新建專案
進入專案管理 https://studio.iot.aliyun.com/projects ,將頁面滾到下方,找到新建專案按鈕,注意是創建普通專案,不是全域資源專案!見圖12:

新建一個空白專案,見圖13:

2.關聯產品和設備
新建專案完成后來到專案的主頁,關聯產品和設備,具體步驟見圖14、圖15和圖16:



3.開發移動應用
回到專案主頁,點擊【移動應用】,再點擊【新建】,新建一個移動應用,然后新建一個空白頁面,見圖17、圖18和圖19:



進行ui的設計,使用的組件:圖片、文本、指示燈和開關,燈泡圖片是用來美化的,
具體程序就不詳細講了,最終效果見圖20:

接下來將指示燈和開關這兩個組件與設備關聯,先點擊指示燈這個組件,然后點擊右側的【配置資料源】,見圖21和圖22


開關的配置同理且步驟相同,這里就不放圖了,
配置完成后App的設計到這里就告一段落了,接下來就可以發布App并使用了,點擊右上角紙飛機狀的按鈕進行發布,見圖23:

掌控板程式
1.初始化MQTT
其中對應的引數在控制臺中直接復制即可,其中DeviceSecret需要點擊【查看】才會出現,見圖24和圖25


2.Topic 資訊
詳見官方給出的Topic 類串列:
基礎通信 Topic 串列:
| 功能 | Topic類 | 操作權限 | 描述 |
|---|---|---|---|
| OTA 升級 | /ota/device/inform/a1m39v8scxG/${deviceName} | 發布 | 設備上報韌體升級資訊 |
| OTA 升級 | /ota/device/upgrade/a1m39v8scxG/${deviceName} | 訂閱 | 韌體升級資訊下行 |
| OTA 升級 | /ota/device/progress/a1m39v8scxG/${deviceName} | 發布 | 設備上報韌體升級進度 |
| OTA 升級 | /ota/device/request/a1m39v8scxG/${deviceName} | 發布 | 設備主動拉取韌體升級資訊 |
| 設備標簽 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/update | 發布 | 設備上報標簽資料 |
| 設備標簽 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/update_reply | 訂閱 | 云端回應標簽上報 |
| 設備標簽 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/delete | 訂閱 | 設備洗掉標簽資訊 |
| 設備標簽 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/delete_reply | 發布 | 云端回應標簽洗掉 |
| 時鐘同步 | /ext/ntp/a1m39v8scxG/${deviceName}/request | 發布 | NTP 時鐘同步請求 |
| 時鐘同步 | /ext/ntp/a1m39v8scxG/${deviceName}/response | 訂閱 | NTP 時鐘同步回應 |
| 設備影子 | /shadow/update/a1m39v8scxG/${deviceName} | 發布 | 設備影子發布 |
| 設備影子 | /shadow/get/a1m39v8scxG/${deviceName} | 訂閱 | 設備接收影子變更 |
| 配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/push | 訂閱 | 云端主動下推配置資訊 |
| 配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/get | 發布 | 設備端查詢配置資訊 |
| 配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/get_reply | 訂閱 | 云端回應配置資訊 |
| 廣播 | /broadcast/a1m39v8scxG/${identifier} | 訂閱 | 廣播 Topic,identifier 為用戶自定義字串 |
物模型通信 Topic 串列:
| 功能 | Topic類 | 操作權限 | 描述 |
|---|---|---|---|
| 屬性上報 | /sys/a1m39v8scxG/${deviceName}/thing/event/property/post | 發布 | 設備屬性上報 |
| 屬性上報 | /sys/a1m39v8scxG/${deviceName}/thing/event/property/post_reply | 訂閱 | 云端回應屬性上報 |
| 屬性設定 | /sys/a1m39v8scxG/${deviceName}/thing/service/property/set | 訂閱 | 設備屬性設定 |
| 事件上報 | /sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / e v e n t / {deviceName}/thing/event/ deviceName/thing/event/{tsl.event.identifier}/post | 發布 | 設備事件上報 |
| 事件上報 | /sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / e v e n t / {deviceName}/thing/event/ deviceName/thing/event/{tsl.event.identifier}/post_reply | 訂閱 | 云端回應事件上報 |
| 服務呼叫 | /sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / s e r v i c e / {deviceName}/thing/service/ deviceName/thing/service/{tsl.service.identifier} | 訂閱 | 設備服務呼叫 |
| 服務呼叫 | /sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / s e r v i c e / {deviceName}/thing/service/ deviceName/thing/service/{tsl.service.identifier}_reply | 發布 | 設備端回應服務呼叫 |
這里我們使用這個變數:/sys/a1m39v8scxG/${deviceName}/thing/service/property/set進行訂閱,
其中的
${deviceName}就是你的deviceName,替換掉即可,
3.判斷收到的訊息
前往 https://iot.console.aliyun.com/lk/monitor/log
查看日志服務可以發現,云到設備的訊息中,燈滅狀態發出的訊息見圖26;而燈亮狀態發出的訊息見圖27:


直接判斷收到的訊息即可,見圖28:

4.全部代碼

參考教程
https://mc.dfrobot.com.cn/thread-275452-1-1.html (App部分是參照這個教程照葫蘆畫瓢做出來的)
結語
關于最后掌控板的判斷程式,即圖28,這個程式可以更簡化,詳見我的上一篇博文:Day10:智能城市垃圾箱管理平臺,里面也是有關于控制板載燈的亮滅程式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289780.html
標籤:其他
