Arduino UNO R4 WiFi 连接阿里云获取温湿度信息
该项目使用了Arduino UNO R4 WiFi,实现了阿里云获取温湿度信息的设计,它的主要功能为:Arduino UNO R4 WiFi 连接阿里云获取温湿度信息。
标签
Funpack活动
MPU
开发板
冲向天空的猪
更新2025-01-14
152

Arduino UNO R4 WiFi 连接阿里云获取温湿度信息

一、任务要求

通过Arduino UNO R4 WiFi开发板和DHT11温湿度传感器,采集环境温湿度数据,并通过WiFi模块将数据上传至阿里云物联网平台,实现远程监控。项目旨在探索物联网开发的基本流程,并实现从硬件采集、网络通信到云端展示的完整功能。

目标

  • 搭建一个可以实时采集和上传环境数据的物联网系统。
  • 利用阿里云平台展示数据,实现远程监控功能。
  • 学习并熟悉Arduino编程、传感器使用、WiFi模块配置及云平台对接。

二、项目设计

1. 硬件设计

  • 开发板:Arduino UNO R4 WiFi,内置ESP32-S3芯片,支持WiFi通信。
  • 传感器:DHT11,用于采集环境温度和湿度。
  • 电路连接
    • DHT11 的 VCC 接到 5V,GND 接到 GND,数据线接到开发板的 Pin 2。

2. 软件设计

  • 传感器数据采集:使用 DHT11 库,定期读取温湿度数据并存储。
  • WiFi连接:通过内置WiFi模块,使用 WiFiS3 库连接到家庭网络。
  • 阿里云通信:通过 AliyunIoTSDK 库实现与云端的数据交互,基于MQTT协议上传温湿度数据。
  • 数据展示:在阿里云物联网平台上配置设备,实时查看上传的环境数据。

三、实现思路

  1. 硬件初始化
    通过Arduino初始化DHT11传感器和WiFi模块,确保可以读取传感器数据并与网络建立连接。
  2. 云端配置
    在阿里云物联网平台上创建产品和设备,生成对应的 ProductKeyDeviceNameDeviceSecret,用于设备认证和数据上传。
  3. 数据采集与处理
    利用DHT11传感器定期采集温湿度数据,通过本地逻辑对数据进行简单校验,确保上传的准确性。
  4. 数据上传与监控
    使用AliyunIoTSDK将采集到的数据以键值对的形式上传到阿里云,并实时监控数据更新状态。


四、代码讲解

1. 头文件引入

#include <DHT11.h>  // 温湿度传感器库
#include <AliyunIoTSDK.h> // 阿里云IoT SDK库
#include "WiFiS3.h" // WiFi库

这些库分别用于管理传感器、云端通信和网络连接。

2. 云端配置信息

#define PRODUCT_KEY "KEY"   // 产品密钥
#define DEVICE_NAME "humi" // 设备名称
#define DEVICE_SECRET "SECRET" // 设备密钥
#define REGION_ID "cn-shanghai" // 地域ID

在阿里云物联网平台上获取这些密钥,并填入代码中以确保设备能够认证并连接到云端。

3. 数据采集与上传逻辑

以下代码片段描述了如何采集数据并将其上传到阿里云:

void loop() {
int result = dht11.readTemperatureHumidity(temperature, humidity); // 读取温湿度
if (result == 0) { // 数据读取成功
AliyunIoTSDK::send("EnvironmentHumidity", humidity); // 上传湿度
AliyunIoTSDK::send("EnvironmentTemperature", temperature); // 上传温度
Serial.println("Data uploaded successfully!");
} else {
Serial.println("Failed to read sensor data.");
}
AliyunIoTSDK::loop(); // 维持云端连接
delay(5000); // 每隔5秒采集一次
}

五、结果验证

通过串口监视器,可以实时查看以下信息:

  1. 设备是否成功连接到WiFi和阿里云平台。
  2. 温湿度数据的采集状态和上传情况。

在阿里云物联网平台,可以查看实时更新的温湿度数据,验证上传成功并确保数据准确性。


六、总结与扩展

收获

  1. 学习了如何使用DHT11传感器采集温湿度数据。
  2. 熟悉了WiFi模块的配置以及通过MQTT协议上传数据的过程。
  3. 掌握了阿里云物联网平台的基本操作和设备管理。

扩展思路

  1. 增加数据存储功能:可以将采集的数据存储到SD卡或数据库中,形成历史记录。
  2. 引入控制功能:结合继电器或其他执行模块,基于温湿度数据实现自动控制(如开启加湿器、空调)。
  3. 增加其他传感器:扩展系统功能,例如添加光照传感器、气压传感器,实现多维度环境监测。
  4. 优化功耗:设计低功耗方案,适合电池供电的场景。

通过本次任务,我不仅掌握了Arduino开发的基本方法,还深刻理解了物联网设备与云端交互的实际实现过程。非常感谢电子森林提供的学习资源和平台,让我对物联网开发充满信心和兴趣!

附件下载
esp32.zip
团队介绍
爱电子的学生
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号