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