本文以夜燈開關為例,介紹在Windows環境中如何快速使用Android Link SDK,模擬設備采用MQTT協議接入物聯網平臺,并通過自定義Topic上報數據至物聯網平臺的完整操作。
前提條件
開通物聯網平臺服務。
免費開通后,您可先試用物聯網平臺服務,試用流程,請參見阿里云免費試用的物聯網平臺產品。物聯網平臺服務的計費標準,請參見計費概述。
創建產品和設備
登錄物聯網平臺控制臺,單擊目標實例卡片。
在左側導航欄,選擇設備管理 > 產品,單擊創建產品。
在新建產品頁面,輸入產品名稱:夜燈開關,所屬品類選擇自定義品類,其他參數使用默認值,單擊確認。
在完成創建產品的頁面,單擊添加設備下的前往添加。
在添加設備對話框中,輸入設備名稱,例如:LightSwitch。然后,單擊確認。
在添加完成對話框中,單擊一鍵復制設備證書。將設備證書信息保存至本地備用。
設備證書指ProductKey、DeviceName和DeviceSecret,后續將設備接入物聯網平臺時需要使用。關于設備證書的更多信息,請參見設備證書。
在創建的產品頁面,單擊查看。
在產品詳情頁面,單擊Topic類列表> 自定義Topic> 定義Topic類,創建自定義Topic。
請按照上圖,分別創建一個訂閱(get)和發布(updata)權限的Topic,并將界面上的Topic類保存到本地待用,后面使用手機訂閱Topic時,需要使用。
訂閱:
/a18wP******/${deviceName}/user/get
發布:
/a18wP******/${deviceName}/user/updata
單擊確認。
準備開發環境
本示例開發工具為Android Studio 4.1.1,虛擬設備系統為Android 10.0。關于環境的更多說明,請參見環境說明。
安裝Android Studio。
更多信息,請參見Android Studio。
創建虛擬設備。
更多信息,請參見創建和管理虛擬設備。
配置設備端SDK
下載Demo文件至開發環境并解壓。
說明下載本Demo將默認您同意本軟件許可協議。
關于Android Link SDK的更多信息,請參見Android Link SDK。
打開已安裝好的Android Studio,選擇File > Open...,找到下載的Demo文件并配置以下文件中的參數。
需配置的文件
參數
示例
說明
app/src/main/res/raw/deviceinfo
productKey
a18wP******
設備認證信息。請將文件中的設備認證信息修改為您保存至本地的設備證書信息。
deviceName
LightSwitch
deviceSecret
uwMTmVAMnGGHaAkqmeDY6cHxxB******
app/src/main/java/com/aliyun/alink/devicesdk/manager/InitManager.java
LinkKit.getInstance().init
MqttConfigure.mqttHost = "iot-060a****.mqtt.iothub.aliyuncs.com:8883"
設備的接入域名。
您需在
LinkKit.getInstance().init
前,添加以下代碼:MqttConfigure.mqttHost = "YourHostName:8883";
其中,
YourHostName
需修改為您實例的接入域名,獲取方法如下:企業版實例和新版公共實例:在實例詳情頁面,單擊查看開發配置,MQTT設備接入下面的地址就是設備的接入域名,單擊地址后的復制。
舊版公共實例:接入域名需按照格式自行拼接。格式如下:
${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com:8883
示例:
a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com:8883
單擊按鈕,完成項目的編譯。
運行結果
項目編譯完成后,您可單擊按鈕,運行項目。
如下圖所示,Demo程序在虛擬設備中成功運行,設備成功接入物聯網平臺。
單擊Mqtt示例。
在Mqtt示例頁面,將訂閱topic修改為前面步驟中拷貝的訂閱Topic內容,單擊訂閱。
說明例如拷貝的內容為:
/a18wP******/${deviceName}/user/get
,您需要將產品名稱和設備名稱修改為您自己的。Topic訂閱成功后,設備將接收到物聯網平臺發送的消息。在收到平臺發送的消息之前,您可以自行給設備發送消息進行測試。
在設備詳情頁面的Topic列表頁簽,單擊已訂閱的Topic右側的發布消息,在發布消息對話框中輸入一條消息,例如:
This is a test message from Alibaba Iot Platform
,模擬物聯網平臺向設備發送消息,您的設備將收到這條測試消息。在Mqtt示例頁面,將發布消息topic修改為前面步驟中拷貝的發布Topic內容,并填入消息內容,單擊發布。
消息內容自定義,可以是中文等,下圖僅為示例。
在日志服務頁面,單擊查看,您將看到設備給物聯網平臺發送的消息內容。
后續步驟
設備接入物聯網平臺后,您可以管理設備并對其進行監控運維。關于物聯網平臺的更多功能,請參見物聯網平臺產品功能。
使用Android Link SDK配置相關高級功能,請參見Android Link SDK。