本文以夜灯开关为例,介绍在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。