【畅学技术】如何通过微信小程序监控现场设备!
Hi!自动化小伙伴们,今天小编给大家来点硬核的!教你打造一个能监视和控制现场设备的微信小程序,让你秒变技术大神!
微信小程序访问现场设备的过程简单如下:
现场设备借助MQTT协议,将实时数据传输至阿里云物联网平台实例
微信小程序则利用阿里云物联网平台所提供的API,从中读取这些数据
若小程序需对现场设备进行控制,会将控制数据经由API上传至物联网平台,现场设备通过订阅机制,接收并执行这些控制数据所指示的动作
在此过程中,阿里云物联网平台充当了数据中转枢纽的角色。

要实现微信小程序通过阿里云物联网平台访问现场设备,组态上需要下面三个步骤:
阿里云物联网平台设置
设备接入阿里云物联网平台
微信小程序开发

1

阿里云物联网平台设置
1.访问阿里云官网,按照页面提示完成账号注册,确保账号信息准确无误,以便后续顺利使用阿里云物联网平台及相关服务。

2.开通物联网平台服务,根据实际业务需求,选择合适的实例规格,测试用可以选择公共实例(华东2)。记录实例ID,后续在设备接入和小程序开发过程中会用到。

3. 创建RAM子账号,为子账号创建访问凭证(AccessKey ID 和AccessKey Secret ),后续在设备接入和小程序开发过程中会用到。

通过以下链接可以查看详细的操作过程:
阿里云物联网平台设置-微信小程序监视和控制现场设备-系列课程-西门子1847工业学习平台官网

2

设备接入阿里云物联网平台
我们选择LOGO! 8.4 作为现场侧设备,这款控制器模块拓展强化了云的 IoT连接功能,通过简单的组态就可连接到阿里云、微软云、亚马逊云和常规 MQTT broker。
在组态向导Zui后会显示设备的连接状态,如下图所示Connection Status:connected

在云数据传输设置页面中组态需要和物联网平台交互的数据,包括名称,地址,发布周期,发布模式,读写权限等等。

通过以下链接可以查看操作过程:
logoBM8.4-微信小程序监视和控制现场设备-系列课程-西门子1847工业学习平台官网

3

微信小程序开发
1.注册公众号小程序,使用微信开发者工具,创建一个新的微信小程序项目,设置好项目名称、AppID等基本信息。
2. 根据阿里云物联网平台提供的API文档,将相关的API集成到微信小程序中。
https://github.com/gokeycolor/wechatDemo/blob/main/utils/rpc.js 中定义了Client类并封装了一些常用方法例如:
queryDevices 可获取产品下所有设备状态消息;
getDeviceShadow 获取设备的Shadow 消息,也就是实时数据;
updateDeviceShadow 往设备更新 Shadow 消息,即发往设备的控制数据

3. 在小程序的入口逻辑app.js 中初始化Client类,其他Page页面就可以调用这个类实例的方法实现设备查询和读写功能

4. 前端页面交互开发,在微信小程序前端页面,编写交互逻辑代码,实现用户操作与后端API调用的关联。当用户在控制页面操作控制控件时,如点击“启动”开关,通过后端API将对应的控制指令上传至阿里云物联网平台,进而使现场设备执行相应的动作。大家可以参考下载GitHub上wechatDemo项目。
下载链接:https://github.com/gokeycolor/wechatDemo
项目实现以下功能:
简易的身份验证
设备状态列表展示
变量访问及趋势展示
仪表盘展示
数据日志
以下链接可以查看操作过程:
微信小程序_客户端_1-微信小程序监视和控制现场设备-系列课程-西门子1847工业学习平台官网
经过上面的步骤,我们通过微信小程序就可以获得现场的LOGO! 控制器的数据,如下图:
