基于阿里云物联网平台,用 20 元体验物联网开发( 自制 Arduino 环境监测仪)——实践类

硬件准备
今天我们在只有 20 元预算前提下,带领大家完成一次 IoT 物联网开发之旅!
感谢万能的淘宝,让我们能采购到 esp8266 开发板,dht11 温湿度传感器:

架构方案
我们通过 DHT11 采集温度,湿度数据,通过 MQTT 协议上报到阿里云 IoT 物联网平台,并通过规则引擎转发到表格存储 OTS 数据库中,整体技术方案如下:

创建产品和注册设备
我们登录阿里云 IoT 物联网平台控制台,创建产品温湿度计。

在温湿度计产品详情的 Topic 类列表可以看到系统默认创建的 Topic,这就是我们用来上报温湿度数据的 Topic。

接下来,我基于温湿度计产品注册一个设备 hz9527,并获取到设备身份三元组。

配置数据流转 规则引擎
我们在表格存储控制台,预先创建数据库实例 iotMsg 和 iot_thermometer_data 表,如下图:

然后,我们回到 IoT 物联网平台控制台,配置数据流转规则,把设备上报数据存储到已有的表格存储数据库实例 iotMsg 中的 iot_thermometer_data 表中,规则引擎配置如下:

完整的数据处理 SQL:
数据转发配置如下:

设备和云端通信 Topic 和 Payload 如下:
硬件 开发
Arduino 开发依赖 C 库,如下:

设备读取传感器数据,并通过 MQTT 通道发送到云端:
使用 Arduino IDE 烧录程序到 esp8266 开发板:

联机运行
烧录完成后,程序启动,我们就可以在 IoT 控制台的日志服务中查看到上报的数据,如下图:






物模型开发
物模型指将物理空间中的实体数字化,并在云端构建该实体的数据模型。物模型描述产品是什么、能做什么、可以对外提供哪些服务。

我们在物联网平台控制台,产品详情页面的功能定义,添加温度和湿度两个属性,如下图:

物模型属性上报的通信 Topic,如下图:

物模型通信 Topic 和 Payload 如下:
我们修改 Arduino 查询中 Topic 和 Payload 后,重新烧录,设备上报数据后,在控制台可以查看日志,如下图:


设备详情

物模型数据

运行状态


【往期回顾】
物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn

阿里云物联网平台客户交流群
评论