购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.5 微信小程序温湿度远程监控

随着手机App的日益繁多,用户有些不堪重负。百度首先在2013年提出了“轻应用”的概念,无须下载,即搜即用,智能分发。2018年以华为、小米和OPPO为首的手机厂商联合发布了“快应用”,亦是实现用户无须安装下载,即点即用。但无论是“轻应用”还是“快应用”,从诞生那一刻开始,就一直不温不火。直到2017年微信小程序成功推出后,彻底点燃了这种轻量级应用的概念。而后阿里云也顺势在2019年的北京云栖峰会上联合支付宝、淘宝、钉钉和高德共同发布了“阿里巴巴小程序繁星计划”。由此我们走进了“小程序”时代。

其实从某种意义上来看,“小程序”又何尝不是一种低代码开发思想的产物呢。下面让我们开始了解一下微信小程序温湿度远程监控相关的开发环节和内容。

登录https://mp.weixin.qq.com/微信公众平台,创建一个小程序的账号,并下载微信开发者工具进行微信小程序的开发(微信小程序的开发相对繁杂,这里我们不展开讲,对微信小程序开发感兴趣的读者,可以参考微信官方说明文档或相关书籍)。下面以YFIOs助手的小程序为例(如图1.3.15所示),粗略讲解一下小程序如何获取阿里云物联网平台的数据,如何与具体的云平台设备对接,又是如何获取实时数据并呈现的。

● 图1.3.15 微信开发者工具IDE开发界面

要成功对接阿里云物联网平台,需要做如下两个工作。第一,登录微信公众平台对应的小程序账号,单击进入“开发”栏目下的“开发管理”菜单项。在开发管理页面,单击“开发设置”栏目。滑动鼠标找到“服务器域名”板块,输入request合法的域名“https://iot.cn-shanghai.aliyuncs.com”(如图1.3.16所示)。

第二,接口签名。签名的时候,需要用户在阿里云控制台AccessKey管理页面查看阿里云账号AccessKey ID和AccessKey Secret(如果没有,则创建一个,也可以创建一个已经赋予物联网平台访问权限的子账号AccessKey ID和AccessKey Secret)。

● 图1.3.16 配置request合法域名

其中,AccessKey ID用于标识访问者身份;AccessKey Secret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。

具体的签名步骤如下:

1)构造规范化的请求字符串:按参数名称,对请求参数进行排序;对参数名和参数值进行URL编码;使用等号“=”连接编码后的请求参数名和参数值;使用与号“&”连接编码后的请求参数。

2)构造签名字符串:按照RFC2104的定义,使用步骤2得到的字符串StringToSign计算签名HMAC值。按照Base64编码规则把步骤3中的HMAC值编码成字符串,即得到签名值(Signature)。

3)计算HMAC值:将得到的签名值作为Signature参数,按照RFC3986的规则进行URL编码后,再添加到请求参数中,即完成对请求签名的过程。

4)计算签名值:按照Base64编码规则把步骤3中的HMAC值编码成字符串,即得到签名值(Signature)。

5)添加签名:将得到的签名值作为Signature参数,按照RFC3986的规则进行URL编码后,再添加到请求参数中,即完成对请求签名的过程。

微信小程序相关签名代码如下:

做了以上两步工作后,我们就可以直接调用阿里云物联网平台云端API了,以“QueryDevicePropertyStatus”API接口为例,讲述一下如何获取指定设备的属性数据。需要传入的主要参数如下:

ProductKey:要查询的设备所属产品的产品密钥。

DeviceName:要查询的设备名称。

IotInstanceId:实例ID(如果是企业版实例,需要填写这个)。

返回的信息里面的主要内容如下:

Success:调用成功与否。

Code:调用失败后的故障码。

ErrorMessage:调用失败后的故障信息。

Data:返回设备的属性数据,这是一个List列表,每个列表项PropertyStatusInfo中都包含如下几个重要内容。

● Identifier:属性标识符。

● Name:属性名字。

● Unit:属性单位。

● DataType:属性类型。

● Value:属性值。

与QueryDevicePropertyStatus操作相关的代码如下:

微信小程序对应的wxml界面布局页面的内容如下:

YFIOs助手小程序代码完成后,就可以进行真机调试了,可以扫描二维码获取设备的配置信息,也可以直接输入相关的信息获取指定设备的属性。YFIOs助手小程序也已经上线,用户可以通过如下方式获取该小程序(如图1.3.17所示)。

● 图1.3.17 获取YFIOs助手小程序

进入YFIOs小程序主界面后,单击“用户访问列表”页面下的“自定义查询”按钮,进入获取设备详情页面,首先填写物联网平台的用户AccessKeyID和AccessKey Secret(如果是企业实例,还需要填写实例ID号),然后填写对应设备的产品密钥和设备名称。填写完毕后,单击“查询”按钮提交相关的信息。如果信息无误,则可以正确获取到与设备相关的设备信息(如1.3.18所示)。当然更方便的还是直接用微信扫描YFIOsManager工具自动生成的设备二维码,扫描后,微信会自动打开YFIOs小程序,并显示设备详情页面。

● 图1.3.18 远程监控设备信息

通过以上几个步骤,我们就实现了微信小程序温湿度远程监控的目的。 JAMShCZJrEWqv3mXVIFK3JQRmCC91toDQ1TXifgqqyAiMKzfM6BBeTQAUTpu3HnP

点击中间区域
呼出菜单
上一章
目录
下一章
×