blinker ESP8266 温湿度测量

一、硬件准备

esp8266 / esp32开发板
LED、WS28b20、DHT11/22温湿度传感器、电阻等

二、软件准备

Arduino IDE

IDE需要配置ESP8266扩展

blinker APP

下载地址:https://www.pgyer.com/NUCZgc

三、blinker添加设备

手机APP添加设备,选择网络接入

此时我们可以得到一个密钥:XXXXXXXXX

char auth[] = "设备密钥";char ssid[] = "WIFI名称";char pswd[] = "WIFI密码";

在程序中找到名为auth、ssid和pswd的变量,依次填入之前在App中获取的密钥、设备要连接到的WiFi名和密码

三、源代码:

#define BLINKER_WIFI
#include <Blinker.h>
#include <DHT.h>
char auth[] = "设备密钥";char ssid[] = "WIFI名称";char pswd[] = "WIFI密码";

BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");// 定义名为 "temp" 的 BlinkerNumber 对象

#define DHTPIN D7
#define DHTTYPE DHT11  
DHT dht(DHTPIN, DHTTYPE);// 初始化 DHT 传感器
float humi_read = 0, temp_read = 0;// 初始化湿度和温度的读取值为 0
// 定义心跳函数
void heartbeat(){
    HUMI.print(humi_read);// 将读取到的湿度值打印到 "humi" BlinkerNumber 对象上
    TEMP.print(temp_read);}// 将读取到的温度值打印到 "temp" BlinkerNumber 对象上
    // 定义数据存储函数
void dataStorage(){
    Blinker.dataStorage("temp", temp_read);// 将温度值存储到 Blinker 数据存储中
    Blinker.dataStorage("humi", humi_read);} // 将湿度值存储到 Blinker 数据存储中
    // 定义主函数
void setup(){ // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);// 使用 Serial 打印调试信息
    BLINKER_DEBUG.debugAll();// 打印所有调试信息
    pinMode(LED_BUILTIN, OUTPUT);// LED 的输出模式
    digitalWrite(LED_BUILTIN, LOW);// 关闭 LED
// 初始化 Blinker 库
    Blinker.begin(auth, ssid, pswd); // 初始化 Blinker 库
    Blinker.attachHeartbeat(heartbeat);// 绑定心跳函数
    Blinker.attachDataStorage(dataStorage);// 绑定数据存储函数
    dht.begin();//初始化 DHT 传感器
    }
    // 主循环
void loop(){
   // 运行 Blinker 库
    Blinker.run();
   // 读取 DHT 传感器的数据
    float h = dht.readHumidity();
    float t = dht.readTemperature();
 // 如果读取数据失败,打印错误提示
    if (isnan(h) || isnan(t))
    {
        BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
     // 将读取到的湿度和温度值赋值给相应的变量
    {
        BLINKER_LOG("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " *C");
        humi_read = h;// 将湿度值赋值给 humi_read 变量
        temp_read = t;// 将温度值赋值给 temp_read 变量
    }// 延迟 2 秒钟后再次读取数据

    Blinker.delay(10);}
四、通过手机App显示温湿度
​​​​
  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ESP8266温湿度传感器是一款常用于物联网项目的模块,它可以通过无线网络传输温湿度数据到服务器或其他设备。基于此模块的温湿度传感课程设计可包括以下几个方面: 1. 硬件设计:选择合适的温湿度传感器与ESP8266模块进行连接。可以选用数字输出的传感器,如DHT11或DHT22,也可以使用模拟输出的传感器,并通过ADC将数据转换为数字信号。此外,还需要设置合适的电源与电路保护措施,确保传感器与ESP8266稳定工作。 2. 软件设计:利用ESP8266的开发环境进行代码编写。首先,需要设置WiFi连接,使ESP8266能够与网络进行通信。然后,编写代码读取温湿度传感器的数据,并将其通过网络发送到服务器或其他设备。可以选择使用HTTP或MQTT协议进行数据传输。此外,为提高代码的可读性与可维护性,可以采用模块化的编程方式,将不同功能封装为函数。 3. 数据处理与显示:在接收数据的服务器或设备上,需要编写相应的程序进行数据的存储与处理。可以选择将数据保存到数据库中,以便后续分析与展示。另外,为用户提供实时数据的可视化界面也是一个重要的设计方面。可以通过网页或移动应用程序展示温湿度数据,并提供实时更新和历史数据查询的功能。 4. 扩展功能:除了基本的温湿度监测外,还可以考虑添加其他功能。例如,通过设置阈值来监测温湿度是否超出预设范围,并通过邮件或短信通知用户。还可以将温湿度数据与其他传感器数据进行关联,实现更复杂的物联网应用。 总之,ESP8266温湿度传感课程设计需要结合硬件设计与软件编程,实现数据的采集、传输和显示。通过设计与实现一个完整的温湿度监测系统,可以提高学生的物联网开发能力和实践经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值