# RTThread-ESP8266-DHT11-OneNet **Repository Path**: chen-qiqi-oct7/RTThread-ESP8266-DHT11-OneNet ## Basic Information - **Project Name**: RTThread-ESP8266-DHT11-OneNet - **Description**: 基于RT-Thread的ESP8266+DHT11温湿度监测系统,实时上传数据到OneNet云平台 - **Primary Language**: C - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RT-Thread物联网开发项目 ## 项目简介 基于RT-Thread操作系统的物联网温湿度监测系统,通过ESP8266 WiFi模块将DHT11传感器采集的温湿度数据上传至中国移动OneNet云平台。 ## 硬件配置 - **主控芯片**: STM32F429 - **WiFi模块**: ESP8266(UART3连接) - **传感器**: DHT11温湿度传感器(PA7) - **云平台**: 中国移动OneNet物联网平台 ## 软件架构 - **操作系统**: RT-Thread 4.1.1 - **开发环境**: RT-Thread Studio - **核心软件包**: - `at_device` - ESP8266 AT指令驱动 - `onenet` - OneNet云平台接入 - `dht11` - DHT11传感器驱动 - `pahomqtt` - MQTT协议栈 - `cJSON` - JSON数据处理 ## 快速开始 ### 1. 硬件连接 | 模块 | 引脚 | STM32连接 | |------|------|-----------| | ESP8266 | TX | PB11 (UART3_RX) | | ESP8266 | RX | PB10 (UART3_TX) | | DHT11 | DATA | PA7 | ### 2. OneNet平台配置 1. 登录 https://open.iot.10086.cn 2. 创建产品(MQTT协议) 3. 添加设备,记录: - 产品ID - 设备名称 - 鉴权Token ### 3. 项目配置 在 `rtconfig.h` 中配置: ```c // WiFi配置 #define ESP8266_SAMPLE_WIFI_SSID "你的WiFi名称" #define ESP8266_SAMPLE_WIFI_PASSWORD "你的WiFi密码" // OneNet配置 #define ONENET_INFO_DEVID "你的设备名称" #define ONENET_INFO_PROID "你的产品ID" #define ONENET_INFO_AUTH "你的Token" ``` ### 4. 编译下载 ```bash # 编译 scons # 下载到STM32 # 使用RT-Thread Studio或其他下载工具 ``` ## 功能说明 ### 核心功能 - ✅ ESP8266自动连接WiFi - ✅ 自动连接OneNet MQTT服务器 - ✅ 每秒采集一次温湿度数据 - ✅ 实时上传数据到OneNet平台 - ✅ 断线自动重连 ### 数据流 系统会向OneNet上传以下数据流: - `CurrentTemperature` - 当前温度(℃) - `RelativeHumidity` - 相对湿度(%RH) ## 串口输出示例 ``` RT-Thread Operating System [I/sal.skt] Socket Abstraction Layer initialize success [I/sensor] rt_sensor_temp_dht11 init success 等待WiFi连接... [I/at.dev.esp] esp0 device wifi is connected [I/at.dev.esp] esp0 device network initialize successfully 开始初始化OneNet MQTT连接... [I/onenet.mqtt] RT-Thread OneNet package initialize success [I/mqtt] MQTT server connect success OneNet MQTT初始化成功! Temperature: 26, Humidity: 60 Temperature: 26, Humidity: 59 ``` ## 常见问题 ### WiFi连接失败 - 检查SSID和密码是否正确 - 确认ESP8266供电稳定(≥300mA) - 检查串口连接(TX/RX交叉) ### OneNet连接失败 - 确认Token未过期 - 检查设备ID和产品ID是否正确 - 确保网络可访问外网 ### 数据上传失败 - 确认MQTT已连接成功 - 检查OneNet平台数据流名称是否一致 ## 关键注意事项 ⚠️ **重要**:OneNet服务器地址配置 ESP8266不支持DNS域名解析,必须使用IP地址。如果OneNet连接失败,请: 1. 在电脑上ping OneNet服务器获取IP: ```cmd ping mqtts.heclouds.com ``` 2. 修改 `packages/onenet-latest/inc/onenet.h`: ```c #define ONENET_SERVER_URL "tcp://获取到的IP:1883" ``` 当前使用的OneNet服务器IP:`218.201.45.2` ## 项目结构 ``` test_at/ ├── applications/ # 应用代码 │ ├── sensor_app.c # DHT11传感器+OneNet上传 │ ├── main.c # 主程序 │ └── ... ├── packages/ # RT-Thread软件包 │ ├── onenet-latest/ # OneNet云平台 │ ├── at_device-latest/ # ESP8266驱动 │ ├── dht11-latest/ # DHT11传感器 │ └── ... ├── rtconfig.h # 系统配置 └── README.md # 本文档 ``` ## 详细文档 完整的开发文档和调试过程请参考:[物联网项目开发文档.md](物联网项目开发文档.md) ## 许可证 本项目基于RT-Thread开源协议 ## 联系方式 如有问题,请参考RT-Thread官方文档:https://www.rt-thread.org/document/site/ --- **最后更新**: 2025年10月22日