微信小程序MQTT模拟器 阿里云物联网平台测试

陈拓 [email protected] 2019.09.27/2019.09.30

原文参考:微信小程序-MQTT模拟器
https://www.yuque.com/cloud-dev/iot-tech/awt6ow?spm=a2c6h.12873639.0.0.4f157874rqtIOL#bc8e91a0

1. 微信小程序安装

  • 打开微信,扫一扫“阿里云IoT设备模拟器”

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 小程序运行

微信小程序MQTT模拟器 阿里云物联网平台测试

2. 准备工作

2.1 注册阿里云账号

浏览器打开 https://aliyun.com ,开通阿里云账号,并通过支付宝实名认证。

微信小程序MQTT模拟器 阿里云物联网平台测试

2.2 免费开通物联网平台

在产品分类,找到物联网平台,进入产品官网https://aliyun.com/product/iot,立即开通。

微信小程序MQTT模拟器 阿里云物联网平台测试

3. 创建产品和设备

3.1 创建产品

  • 进入物联网平台的控制台,点击“产品”:

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 点击“创建产品”:所述分类:自定义品类,数据格式:ICA标准数据格式 (Alink JSON)

微信小程序MQTT模拟器 阿里云物联网平台测试

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 点击“完成”

 

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 击“查看”,显示“产品详情”页面

微信小程序MQTT模拟器 阿里云物联网平台测试

3.2 产品功能定义

在“产品详情”页面的功能定义选项卡,创建产品物模型。

  • 点击“功能定义”

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 导入物模型

原文附带的物模型文件是错的!!!

  • 手动添加功能

微信小程序MQTT模拟器 阿里云物联网平台测试

点击“添加功能”。

3.2.1 定义属性

  • 添加温度属性,确认

微信小程序MQTT模拟器 阿里云物联网平台测试

   微信小程序MQTT模拟器 阿里云物联网平台测试

  • 添加湿度属性,确认

微信小程序MQTT模拟器 阿里云物联网平台测试

微信小程序MQTT模拟器 阿里云物联网平台测试

3.2.2 添加服务

微信小程序MQTT模拟器 阿里云物联网平台测试

添加一个参数,点击“增加参数”:

微信小程序MQTT模拟器 阿里云物联网平台测试

确认。

3.2.3 添加事件

微信小程序MQTT模拟器 阿里云物联网平台测试

增加一个参数:

微信小程序MQTT模拟器 阿里云物联网平台测试

确认。

最后的结果:

微信小程序MQTT模拟器 阿里云物联网平台测试

3.2.4 导出物模型

点击“查看物模型”:

微信小程序MQTT模拟器 阿里云物联网平台测试

点击“导出模型文件”,导出模型文件model.json以备后用。

3.3 注册设备

  • 在产品**册设备,获得身份三元组,点击“设备”如下图。

微信小程序MQTT模拟器 阿里云物联网平台测试

  • 点击“添加设备”

微信小程序MQTT模拟器 阿里云物联网平台测试

确认。

微信小程序MQTT模拟器 阿里云物联网平台测试

三元组:PublicKey、DeviceName、DeviceSecret

PublicKey:物联网平台为产品颁发的唯一标识,在设备通信及认证中都要用到。

DeviceName:在注册设备时,自定义的设备名称,在通信及认证中都要用到。

DeviceSecret:物联网平台为设备颁发的设备秘钥,和DeviceName成对出现,在设备认证时会用。

一键复制:

{

  "ProductKey": "a1GdTWt9kQd",

  "DeviceName": "mqttSimulator",

  "DeviceSecret": "******"

}

  • 点击“关闭”

微信小程序MQTT模拟器 阿里云物联网平台测试

点击“查看”:

微信小程序MQTT模拟器 阿里云物联网平台测试

  • **设备

回到“设备列表”,点击未**旁边的蓝色开关:

微信小程序MQTT模拟器 阿里云物联网平台测试

输入校验码,确认。

这个时候设备还未**,要等到设备上线后才能**。

4. 微信小程序操作

4.1 设备上线

打开微信,扫描小程序码,进入小程序。输入设备身份三元组,点击“设备上线”。

微信小程序MQTT模拟器 阿里云物联网平台测试

回到物联网平台,点击F5刷新设备列表,可以看到设备状态已经是在线,小程序设备日志和设备列表页面中的最后上线时间一致。

微信小程序MQTT模拟器 阿里云物联网平台测试

微信小程序MQTT模拟器 阿里云物联网平台测试

4.2 上报数据

在小程序界面,在设备上线时,点击数据上报,我们看到模拟器上报了当前湿度,温度值。

微信小程序MQTT模拟器 阿里云物联网平台测试

上报的湿度61%,温度28℃。因为上面的的实时数据在不停的变化,所以看起来实时数据和发送的数据不一致。

回到控制台设备,在设备详情的运行状态看到设备上报的数据。

微信小程序MQTT模拟器 阿里云物联网平台测试

4.3 订阅主题和数据下行

在小程序界面,在设备上线时,点击“订阅主题”。

微信小程序MQTT模拟器 阿里云物联网平台测试

然后我们再去控制台,设备详情页面的Topic列表,找到对应的topic:/a1GdTWt9kQd/mqttSimulator/user/get,点击“发布消息”。

微信小程序MQTT模拟器 阿里云物联网平台测试

填写“消息内容”,确认。在小程序中可以看到推送的消息。

微信小程序MQTT模拟器 阿里云物联网平台测试

同时在设备下行日志,也可以看到完整的下行消息。

微信小程序MQTT模拟器 阿里云物联网平台测试

4.4 物模型-服务调用

  • 在控制台点击“在线调试”

微信小程序MQTT模拟器 阿里云物联网平台测试

在小程序设备中,选中功能 开灯(switch),输入参数{"status":"on"},点击发送命令。小程序的灯就会变亮。{"status":"on"} //status选项有:on ,off ,blue ,green。

微信小程序MQTT模拟器 阿里云物联网平台测试

微信小程序MQTT模拟器 阿里云物联网平台测试

微信小程序MQTT模拟器 阿里云物联网平台测试

4.5 物模型-事件上报

在小程序界面,在设备上线时,点击告警,就会生成一条事件告警,上报当前的温度。

微信小程序MQTT模拟器 阿里云物联网平台测试

在控制台“设备详情”-“事件管理”中查看:

微信小程序MQTT模拟器 阿里云物联网平台测试

 

附录:物模型格式

https://www.alibabacloud.com/help/zh/doc-detail/88250.htm?spm=a2c63.p38356.b99.77.47de5ba8shDvPt