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

1.3.4 温湿度上传物联网云平台

我们依然把读取的温湿度数据送到阿里云物联网平台,即YF3300-Air724UG物联网智能网关对接物联网云平台YF3610-TH21产品下的TH01设备,三元组保持不变(参见1.2.3节相关内容)。

合宙官方提供了对接阿里云物联网平台的库文件,只需要在代码中写入一句:require "aLiYun"就可以引入。

代码中的三元组信息替换为TH01设备的三元组,我们主要改写publishTest中的代码,一是通过Modbus协议把温湿度数据获取到,二是把要上传的数据组合为符合阿里云物联网平台规范的json格式。

为了便于向物联网云平台上传数据,把上一节Modbus读取温湿度的代码进行改写,直接封装为一个函数,代码如下:

通过modbus_send函数发送数据帧后,延时500ms(建议超时时间设定为200~500ms,不宜过短也不宜过长),然后直接读取9个字节的数据。这9个字节的数据是根据Modbus RTU协议的3号指令的返回帧来确定的,设备地址+功能码+数据长度+4字节数据+2字节CRC16校验,一共9个字节。

余下的代码解析就和上一节的代码一样了,进行设备地址和CRC16校验。最后函数直接返回两个值,温度T和湿度H。同时返回多个值,这是Lua的一个特色。

读取温湿度并上云的全部相关代码如下:

把以上代码下载到YF3300-Air724UG物联网智能网关(如图1.3.13所示)后,登录到阿里云物联网平台,可以看到温湿度数据已经成功送到云平台了(如图1.3.14所示)。

● 图1.3.13 LuatIDE程序部署信息

● 图1.3.14 阿里云物联网平台TH01物模型数据 nqCTU8LAwH+YaT268+BuVu6zlZApOlPmLXp5bvzFKNu72AYkqEL+BOfnQqo5MMum

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

打开