基于Arduino WIFI D1的温湿度传感器使用方法(Arduino系列十九)

目录

1.所需材料

2.模块简介

2.1Arduino WIFI D1

2.2 温湿度模块 (DHT11)

3、接口接线

4、使用的开发板+附加库+代码示例

4.1使用ESP8266开发板

4.2 使用DHT11

4.3代码示例

5.运行结果

6.总结


1.所需材料

Arduino WIFI D1开发板+温湿度传感器(DHT11)+公对母杜邦线三根

2.模块简介

2.1Arduino WIFI D1

Arduino WiFi D1开发板是一款基于ESP8266芯片的WiFi模块扩展板,专为Arduino平台设计。它内置了Wi-Fi功能,使得Arduino能够连接到无线网络并与互联网通信,无需额外的电脑作为网关。通过这个模块,用户可以方便地添加物联网(IoT)功能,如远程控制、传感器数据上传等。D1板通常包括必要的硬件接口,如SPI和GPIO端口,以及必要的天线接头。

Arduino WiFi D1的特点:

  1. Wi-Fi功能:支持2.4GHz IEEE 802.11 b/g/n标准,连接范围广,便于搭建网络应用。
  2. 兼容性:插件式设计,可以直接插入Arduino Uno或其他兼容型号的主板上使用。
  3. 简单易用:配合Arduino IDE软件,编程相对直观,适合初学者入门。
  4. 成本效益:相较于单独购买ESP8266模块,集成化的D1板更节省空间且价格更为合理。

2.2 温湿度模块 (DHT11)

DHT11是一种常见的低成本温湿度传感器,可测量温度范围为0℃至50℃,相对湿度范围为20-90%。

3、接口接线

Arduino WIFI D1OLED显示模块
5VVCC
GNDGND
D4DATA

4、使用的开发板+附加库+代码示例

4.1使用ESP8266开发板

4.2 使用DHT11

4.3代码示例

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DHT.h>

#define DHTPIN D4       // DHT11数据引脚
#define DHTTYPE DHT11   // DHT11传感器类型

DHT dht(DHTPIN, DHTTYPE);
ESP8266WebServer server(80);

const char* ssid = "wifi名称";  // 替换为你的WiFi名称
const char* password = "wifi密码"; // 替换为你的WiFi密码

void setup() {
  Serial.begin(115200);
  dht.begin();

  // 连接WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println(WiFi.localIP());

  // 设置Web服务器
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();
}

void handleRoot() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // 检查是否读取失败
  if (isnan(humidity) || isnan(temperature)) {
    server.send(200, "text/plain", "Failed to read from DHT sensor!");
    return;
  }

  // 生成网页内容
  String htmlContent = "<html><head><title>Temperature and Humidity</title></head><body>";
  htmlContent += "<h1>Temperature and Humidity</h1>";
  htmlContent += "<p>Temperature: " + String(temperature) + " &#8451;</p>";
  htmlContent += "<p>Humidity: " + String(humidity) + " %</p>";
  htmlContent += "</body></html>";

  server.send(200, "text/html", htmlContent);
}

5.运行结果

可以使用znmap扫描一下同一局域网下的ip,然后通过ip访问,这个实在浏览器中搜索192.168.0.103,即开发板的ip所看见的信息。

6.总结

在程序使用前要保证开发板安装正确,并且开发板型号正确,我这里用到的esp8266开发板是2.7老版本,下载时候也可以下载这个,把开发板插入电脑,更换型号,选择如下图开发板和端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值