微信小程序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设备模拟器”
- 小程序运行
2. 准备工作
2.1 注册阿里云账号
浏览器打开 https://aliyun.com ,开通阿里云账号,并通过支付宝实名认证。
2.2 免费开通物联网平台
在产品分类,找到物联网平台,进入产品官网https://aliyun.com/product/iot,立即开通。
3. 创建产品和设备
3.1 创建产品
- 进入物联网平台的控制台,点击“产品”:
- 点击“创建产品”:所述分类:自定义品类,数据格式:ICA标准数据格式 (Alink JSON)
- 点击“完成”
- 击“查看”,显示“产品详情”页面
3.2 产品功能定义
在“产品详情”页面的功能定义选项卡,创建产品物模型。
- 点击“功能定义”
- 导入物模型
原文附带的物模型文件是错的!!!
- 手动添加功能
点击“添加功能”。
3.2.1 定义属性
- 添加温度属性,确认
- 添加湿度属性,确认
3.2.2 添加服务
添加一个参数,点击“增加参数”:
确认。
3.2.3 添加事件
增加一个参数:
确认。
最后的结果:
3.2.4 导出物模型
点击“查看物模型”:
点击“导出模型文件”,导出模型文件model.json以备后用。
3.3 注册设备
- 在产品**册设备,获得身份三元组,点击“设备”如下图。
- 点击“添加设备”
确认。
三元组:PublicKey、DeviceName、DeviceSecret
PublicKey:物联网平台为产品颁发的唯一标识,在设备通信及认证中都要用到。
DeviceName:在注册设备时,自定义的设备名称,在通信及认证中都要用到。
DeviceSecret:物联网平台为设备颁发的设备秘钥,和DeviceName成对出现,在设备认证时会用。
一键复制:
{
"ProductKey": "a1GdTWt9kQd",
"DeviceName": "mqttSimulator",
"DeviceSecret": "******"
}
- 点击“关闭”
点击“查看”:
- **设备
回到“设备列表”,点击未**旁边的蓝色开关:
输入校验码,确认。
这个时候设备还未**,要等到设备上线后才能**。
4. 微信小程序操作
4.1 设备上线
打开微信,扫描小程序码,进入小程序。输入设备身份三元组,点击“设备上线”。
回到物联网平台,点击F5刷新设备列表,可以看到设备状态已经是在线,小程序设备日志和设备列表页面中的最后上线时间一致。
4.2 上报数据
在小程序界面,在设备上线时,点击数据上报,我们看到模拟器上报了当前湿度,温度值。
上报的湿度61%,温度28℃。因为上面的的实时数据在不停的变化,所以看起来实时数据和发送的数据不一致。
回到控制台设备,在设备详情的运行状态看到设备上报的数据。
4.3 订阅主题和数据下行
在小程序界面,在设备上线时,点击“订阅主题”。
然后我们再去控制台,设备详情页面的Topic列表,找到对应的topic:/a1GdTWt9kQd/mqttSimulator/user/get,点击“发布消息”。
填写“消息内容”,确认。在小程序中可以看到推送的消息。
同时在设备下行日志,也可以看到完整的下行消息。
4.4 物模型-服务调用
- 在控制台点击“在线调试”
在小程序设备中,选中功能 开灯(switch),输入参数{"status":"on"},点击发送命令。小程序的灯就会变亮。{"status":"on"} //status选项有:on ,off ,blue ,green。
4.5 物模型-事件上报
在小程序界面,在设备上线时,点击告警,就会生成一条事件告警,上报当前的温度。
在控制台“设备详情”-“事件管理”中查看:
附录:物模型格式
https://www.alibabacloud.com/help/zh/doc-detail/88250.htm?spm=a2c63.p38356.b99.77.47de5ba8shDvPt