对接的阿里云物联网平台的云端设备依然是YF3610-TH21产品下的TH01设备,三元组同样没有变化。
我们采用HaaS100开发板的Wi-Fi接口上网,所以第一步先连接Wi-Fi,连接成功后,对接阿里云物联网平台。
代码先判断当前连接的状态,如果已经连接,则直接跳到下一步进行上云操作,否则设定需要输入Wi-Fi的名称和密码,连接对应的热点,并注册一个回调函数,检测连接状态是否成功,成功则进入下一步操作。相关代码如下:
阿里云MicroPython轻应用为上云服务提供了对接阿里云物联网平台的iot库。设定设备的三元组等信息后,可以向云平台推送属性和事件信息,并可以接收云端下发的服务指令。主要函数介绍如下:
(1)iot.Device(data)
初始化物联网平台Device类,获取device实例。
data-字典信息,包含如下关键字:
(2)on(event, callback)
注册物联网平台通信过程中的事件通知。
event -事件名称:
callback:回调函数
(3)connect()
连接物联网平台,异步方式。
(4)postProps(data)
上报属性数据。
data为字典数据,分别对应属性名和属性的值。
(5)postEvent(data)
上报属性数据。
data为字典数据和id事件标识。
(6)close()
关闭物联网设备节点,断开当前连接。
前面我们通过Modbus库获取了温湿度值,本节融合这部分代码,把获取的温湿度值直接推送到阿里云物联网平台。相关代码如下:
程序部署到HaaS 100,成功运行后(如图1.4.13所示),登录物联网云平台,可以看到云平台上已经上传的数据(如图1.4.14所示)。
● 图1.4.13 HaaS100温湿度数据上云