📜  示例项目 WITTY ESP8266 (1)

📅  最后修改于: 2023-12-03 15:41:02.924000             🧑  作者: Mango

示例项目 WITTY ESP8266

简介

WITTY ESP8266是一个基于ESP8266芯片的开发板,可用于开发智能家居,物联网等项目。本项目是一个示例项目,旨在介绍如何使用WITTY ESP8266开发一个简单的智能家居设备。

硬件准备
  • WITTY ESP8266开发板
  • 温湿度传感器
  • 一些杜邦线
  • USB数据线(用于下载程序)
环境准备
  • Arduino IDE软件
  • ESP8266引脚库
  • DHT温湿度传感器库
代码实现
第一步:引入必要的库
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <DHT.h>
第二步:配置WiFi网络
const char* ssid     = "your-ssid";
const char* password = "your-password";
第三步:创建Web服务器
ESP8266WebServer server(80);
第四步:初始化温湿度传感器
#define DHTPIN 2          // DHT温湿度传感器连接的引脚
#define DHTTYPE DHT22     // DHT传感器类型为DHT22
DHT dht(DHTPIN, DHTTYPE); // 实例化DHT对象
第五步:处理Web请求
void handleRoot() {
  float h = dht.readHumidity();    // 读取湿度值
  float t = dht.readTemperature(); // 读取温度值

  String html = "<html><body>";
  html += "<h1>温湿度传感器</h1>";
  html += "<p>湿度: " + String(h) + "%</p>";
  html += "<p>温度: " + String(t) + "&#8451;</p>";
  html += "</body></html>";
  
  server.send(200, "text/html", html); // 发送Web响应
}
第六步:初始化WiFi网络、Web服务器、温湿度传感器
void setup() {
  Serial.begin(115200); // 开始串口
  dht.begin();          // 初始化DHT传感器

  // 连接WiFi网络
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");

  // 启动Web服务器
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Web server started");
}
第七步:处理Web请求、定时读取传感器数据
void loop() {
  server.handleClient(); // 处理Web请求

  static unsigned long lastReadTime = 0;
  unsigned long currentTime = millis();
  if (currentTime - lastReadTime >= 2000) { // 每两秒读取一次传感器数据
    lastReadTime = currentTime;
    float h = dht.readHumidity();    // 读取湿度值
    float t = dht.readTemperature(); // 读取温度值
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print("%  Temperature: ");
    Serial.print(t);
    Serial.println("C");
  }
}
总结

本示例项目介绍了如何使用WITTY ESP8266开发一个简单的智能家居设备,主要涉及WiFi网络、Web服务器、温湿度传感器等方面。本项目旨在帮助初学者快速上手ESP8266开发。