学网站软件设计扶贫832网络销售平台
2026/2/11 16:04:46 网站建设 项目流程
学网站软件设计,扶贫832网络销售平台,家具网站首页模板,我有网站 怎么做淘宝推广的本教程将手把手教你搭建一个基于 ESP8266 的温湿度监测系统#xff0c;实现「每秒读取温湿度 点阵屏实时显示 HTTP 局域网访问 每 5 分钟上传 LeanCloud 云端」的完整功能#xff0c;适合新手快速上手。 一、项目功能清单 硬件#xff1a;ESP8266 驱动 SHT30 温湿度传感…本教程将手把手教你搭建一个基于 ESP8266 的温湿度监测系统实现「每秒读取温湿度 点阵屏实时显示 HTTP 局域网访问 每 5 分钟上传 LeanCloud 云端」的完整功能适合新手快速上手。一、项目功能清单硬件ESP8266 驱动 SHT30 温湿度传感器高精度 4 联 MAX7219 8*8 点阵屏数据读取每秒读取一次温湿度实时显示在点阵屏上局域网访问ESP8266 搭建 HTTP 服务器固定主机名电脑 / 手机可访问温湿度数据云端存储每 5 分钟自动将温湿度数据上传到 LeanCloud支持远程查看历史数据。二、硬件准备器件数量备注ESP8266NodeMCU1 个核心控制板SHT30 温湿度传感器1 个I2C 通信精度优于 DHT114 联 MAX7219 点阵屏1 个SPI 通信8*32 显示区域杜邦线若干公对公 / 公对母Micro USB 数据线1 根供电 烧录程序5V 电源可选1 个脱离电脑供电使用三、硬件接线核心步骤1. SHT30 → ESP8266I2C 通信必须接 3.3VSHT30 引脚ESP8266 引脚重要说明VCC3.3V禁止接 5V会烧毁传感器GNDGND共地保证电压稳定SDAD2 (GPIO4)I2C 数据引脚SCLD1 (GPIO5)I2C 时钟引脚2. MAX7219 点阵屏 → ESP8266SPI 通信MAX7219 引脚ESP8266 引脚说明VCC5V推荐 5V 供电显示更清晰GNDGND共地DIND7 (GPIO13)SPI 数据引脚CSD8 (GPIO15)SPI 片选引脚CLKD5 (GPIO14)SPI 时钟引脚接线提示先接 GND再接 VCC最后接信号引脚SDA/SCL/DIN/CLK/CS避免接反烧毁器件。四、软件准备1. Arduino IDE 配置安装 Arduino IDE官网下载https://www.arduino.cc/en/software配置 ESP8266 开发板打开 Arduino IDE → 文件 → 首选项 → 附加开发板管理器网址输入http://arduino.esp8266.com/stable/package_esp8266com_index.json工具 → 开发板 → 开发板管理器搜索「esp8266」并安装工具 → 开发板选择「NodeMCU 1.0 (ESP-12E Module)」。2. 安装依赖库打开 Arduino IDE → 项目 → 加载库 → 管理库搜索并安装以下库Adafruit SHT31SHT30 传感器驱动MD_ParolaMAX7219 点阵屏显示控制MD_MAX72XXMAX7219 底层驱动ESP8266WiFi自带无需安装。3. LeanCloud 准备云端存储注册 LeanCloud 账号https://console.leancloud.app/创建一个「应用」进入应用 → 设置 → 应用凭证记录以下信息后续填到代码里AppID、AppKey、MasterKey注意保护 MasterKey不要泄露。五、完整代码将以下代码复制到 Arduino IDE替换「配置项」中的 WiFi 信息、LeanCloud 凭证即可使用。cpp运行#include ESP8266WiFi.h #include ESP8266WebServer.h #include WiFiClient.h #include Adafruit_SHT31.h #include MD_Parola.h #include MD_MAX72xx.h #include SPI.h // 【配置项 - 需修改】 // WiFi配置 const char* ssid 你的WiFi名称; // 替换为自家WiFi名称 const char* password 你的WiFi密码; // 替换为自家WiFi密码 // 局域网主机名固定访问地址 const char* espHostname esp8266-temphumi; // MAX7219配置4联8*8点阵屏数量无需修改 #define MAX_DEVICES 4 // 点阵屏数量4联屏固定为4 #define CLK_PIN 14 // D5对应接线无需修改 #define DATA_PIN 13 // D7对应接线无需修改 #define CS_PIN 15 // D8对应接线无需修改 // LeanCloud配置替换为自己的凭证 const char* leanCloudServer 2m; const String leanCloudAppID 2E#####; const String leanCloudAppKey ####; const String leanCloudMasterKey ####; // // 全局变量初始化 MD_Parola matrix MD_Parola(DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES); Adafruit_SHT31 sht30 Adafruit_SHT31(); float temperature 0.0, humidity 0.0; ESP8266WebServer server(80); unsigned long lastUploadTime 0; const unsigned long uploadInterval 5 * 60 * 1000; // 5分钟上传一次 // 【功能1】读取SHT30温湿度数据 bool readSHT30() { float t, h; // SHT30读取温湿度地址默认0x44失败可改为0x45 if (sht30.readTemperature(t) sht30.readHumidity(h)) { temperature t; humidity h; return true; } return false; } // 【功能2】HTTP服务接口返回温湿度JSON数据 void handleTempHumi() { String json {\temperature\: String(temperature, 1) ,\humidity\: String(humidity, 1) }; server.send(200, application/json, json); } // 【功能3】上传数据到LeanCloud云端 void uploadToLeanCloud() { WiFiClient client; const int httpPort 80; // 连接LeanCloud服务器 if (!client.connect(leanCloudServer, httpPort)) { Serial.println(❌ LeanCloud连接失败); return; } // 构建上传的JSON数据 String postData {\temperature\: String(temperature, 1) ,\humidity\: String(humidity, 1) }; // 发送HTTP POST请求MasterKey需加,master标识 client.print(String(POST /1.1/classes/TempHumiData HTTP/1.1\r\n) Host: leanCloudServer \r\n X-LC-Id: leanCloudAppID \r\n X-LC-Key: leanCloudMasterKey ,master\r\n Content-Type: application/json\r\n Content-Length: String(postData.length()) \r\n Connection: close\r\n\r\n postData); // 打印响应调试用 delay(1000); while (client.available()) { String line client.readStringUntil(\r); Serial.print(line); } client.stop(); Serial.println(\n✅ LeanCloud上传完成); } // 【功能4】点阵屏显示温湿度 void displayOnMatrix() { matrix.setTextAlignment(PA_CENTER); // 居中显示 matrix.setIntensity(5); // 亮度0-15数值越大越亮 // 拼接显示内容如「25.5C 60.0%」 String displayStr String(temperature, 1) C String(humidity, 1) %; matrix.print(displayStr); delay(1000); // 显示1秒和读取频率同步 } // 初始化函数只执行一次 void setup() { Serial.begin(115200); // 串口波特率用于调试 // 1. 初始化SHT30传感器 if (!sht30.begin(0x44)) { Serial.println(❌ SHT30初始化失败检查接线/地址); while (1) delay(10); // 初始化失败则卡住提示排查 } Serial.println(✅ SHT30初始化成功); // 2. 初始化点阵屏 matrix.begin(); matrix.displayClear(); matrix.print(Init...); // 开机提示 delay(1000); Serial.println(✅ 点阵屏初始化成功); // 3. 设置局域网主机名 WiFi.hostname(espHostname); // 4. 连接WiFi Serial.print( 连接WiFi...); WiFi.begin(ssid, password); while (WiFi.status() ! WL_CONNECTED) { delay(500); Serial.print(.); } Serial.println(\n✅ WiFi已连接); Serial.print( 主机名: ); Serial.println(WiFi.hostname()); Serial.print( IP地址: ); Serial.println(WiFi.localIP()); // 5. 启动HTTP服务器 server.on(/temp_humi, handleTempHumi); // 注册接口 server.begin(); Serial.println(✅ HTTP服务器已启动); // 6. 首次读取温湿度 readSHT30(); } // 主循环反复执行 void loop() { // 1. 每秒读取一次温湿度并显示 static unsigned long lastReadTime 0; if (millis() - lastReadTime 1000) { lastReadTime millis(); if (readSHT30()) { Serial.printf(️ 温度: %.1f°C, 湿度: %.1f%%\n, temperature, humidity); displayOnMatrix(); } else { Serial.println(❌ SHT30读取失败); matrix.print(Read Err); delay(1000); } } // 2. 处理HTTP客户端请求电脑/手机访问 server.handleClient(); // 3. 每5分钟上传数据到LeanCloud if (millis() - lastUploadTime uploadInterval) { lastUploadTime millis(); Serial.println(\n 开始上传到LeanCloud...); uploadToLeanCloud(); } }六、程序烧录与测试1. 烧录程序将 ESP8266 通过 Micro USB 连接到电脑Arduino IDE → 工具 → 端口选择 ESP8266 对应的 COM 口点击「上传」按钮右箭头等待烧录完成底部提示「上传成功」。2. 功能测试测试 1串口调试看日志打开 Arduino IDE → 工具 → 串口监视器波特率选 115200可看到传感器 / 点阵屏初始化成功提示WiFi 连接成功显示主机名和 IP每秒刷新的温湿度数据每 5 分钟一次的 LeanCloud 上传日志。测试 2点阵屏显示正常情况下点阵屏会显示当前温湿度如「25.5C 60.0%」若显示「Read Err」说明 SHT30 读取失败需检查接线。测试 3局域网 HTTP 访问在同一 WiFi 下的电脑 / 手机浏览器输入http://esp8266-temphumi/temp_humi或http://ESP8266的IP地址/temp_humi会返回 JSON 格式数据{temperature:25.5,humidity:60.0}。测试 4LeanCloud 云端查看登录 LeanCloud 控制台 → 数据存储 → 结构化数据 →TempHumiData表可看到每 5 分钟上传的温湿度记录。七、常见问题排查问题现象排查方向SHT30 初始化失败1. 接线SDA→D2、SCL→D12. 供电必须接 3.3V3. 地址改 0x44 为 0x45 重试点阵屏不显示1. 接线DIN→D7、CLK→D5、CS→D82. 确认是 4 联屏MAX_DEVICES4HTTP 访问失败1. 电脑和 ESP8266 连同一 WiFi2. 关闭电脑防火墙3. 核对 IP / 主机名LeanCloud 上传失败1. 凭证是否正确2. MasterKey 后是否加,master3. ESP8266 能否访问外网点阵屏亮度太亮 / 太暗修改代码中matrix.setIntensity(5)的数值0-15八、总结本项目核心是 ESP8266 作为主控整合了 SHT30数据采集、MAX7219本地显示、HTTP 服务局域网访问、LeanCloud云端存储四大功能接线是基础SHT30 必须接 3.3VMAX7219 推荐接 5V信号引脚严格对应关键配置WiFi 信息、LeanCloud 凭证需替换为自己的SHT30 地址可根据实际调整扩展方向可修改上传频率、点阵屏显示样式或在 LeanCloud 添加数据可视化面板。整个系统实现了「本地采集 - 本地显示 - 局域网访问 - 云端存储」的完整闭环适合物联网入门学习。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询