NodeMCU-ESP8266开发(VSCODE+PlatformIO+Arduino框架):第4篇--Blinker_DHT_WiFi(点灯科技APP控制+温湿度数据APP显示)

本教程介绍如何使用ESP8266开发板配合DHT11温湿度传感器,实现温湿度数据的实时采集并通过Blinker APP远程监控。具体步骤包括开发环境搭建、代码编写与调试等。

首先完成开发环境搭建:https://blog.youkuaiyun.com/felix_tao/article/details/113092886

其次完成Blinker_Hello_WiFi(点灯科技-手机APP控制例程):https://blog.youkuaiyun.com/felix_tao/article/details/113359707

 

第一步:下载DHT11/22温湿度传感器库-DHT-sensor-library-master。
下载地址:https://www.arduino.cn/thread-81585-1-1.html

第二步:下载后,将DHT-sensor-library-master.zip进行解压,放到此路径下C:\Users\felix\.platformio\packages\framework-arduinoespressif8266\libraries。

第三步:复制一份Blinker_Hello_WiFi工程,并重命名为Blinker_DHT_WiF。

第四步:打开VSCO

<think>好的,用户想用Blinker库把Arduino Uno通过ESP-01s WiFi模块连接的温湿度数据上传到电灯科技App进行实时监测。首先,我需要理清楚整个系统的硬件连接和软件配置步骤。 硬件部分,用户需要连接Arduino Uno、ESP-01s模块和温湿度传感器(比如DHT11)。ESP-01s作为WiFi模块,应该连接到Uno的串口引脚,可能需要使用软串口,因为硬件串口可能被编程占用。DHT11的数据引脚需要接到Uno的数字引脚,同时注意上拉电阻的问题。 软件方面,用户需要安装Blinker库和DHT传感器库。Blinker的配置是关键,需要注册电灯科技账户,创建设备获取密钥。代码部分要初始化Blinker,设置WiFi连接,读取传感器数据并发送。可能需要处理ESP-01s的AT指令,或者使用Blinker提供的接口简化通信。 可能遇到的问题包括ESP-01s的固件是否需要更新,是否支持Blinker的通信协议。另外,接线是否正确,比如ESP-01s的TX/RX是否与Arduino的相应引脚连接正确,电源是否稳定。代码中的WiFi名称、密码、密钥是否正确填写,以及数据上传的频率是否合理,避免过载。 用户可能需要分步指导:硬件连接图、软件安装、代码编写与上传、App端的设备绑定和数据查看。还要考虑错误排查,比如无法连接WiFi时的检查步骤,传感器数据读取失败的处理等。最后,确保实时监测的延迟和稳定性,可能需要建议优化代码或检查网络环境。</think># Arduino Uno + ESP-01s实现温湿度数据上传教程 ## 一、硬件准备 1. 核心设备: - Arduino Uno开发板(含USB数据线) - ESP-01s WiFi模块(建议刷入最新AT固件) - DHT11/DHT22温湿度传感器 2. 连接材料: - 杜邦线若干 - 3.3V稳压模块(ESP-01s需3.3V供电) - 10kΩ上拉电阻(DHT11需要) ## 二、电路连接 ``` Arduino Uno ESP-01s DHT11 5V-----------VCC GND----------GND RX(0)--------TX TX(1)--------RX D2-----------DATA引脚 (DHT11的VCC接5V,GND接GND,DATA与VCC间加10kΩ上拉电阻) ``` ## 三、软件配置 1. 安装所需库: ```arduino #include <Blinker.h> #include <DHT.h> ``` 2. 电灯科技App设置: - 注册并登录点灯科技App - 创建新设备选择"WiFi接入" - 记录分配的Device Key ## 四、核心代码 ```arduino #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); BlinkerSerial SerialESP(Serial, 9600); void setup() { Serial.begin(115200); dht.begin(); Blinker.begin("Your_Device_Key", SerialESP); // 替换为实际Device Key Blinker.attachData(dataRead); // 注册数据回调函数 } void loop() { Blinker.run(); } void dataRead() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (!isnan(h) && !isnan(t)) { Blinker.print("humidity", h); // 湿度数据 Blinker.print("temperature", t); // 温度数据 } } ``` ## 五、操作流程 1. 通过Arduino IDE上传代码 2. 将ESP-01s切换至STA模式: ```AT+CWMODE=1``` 3. 配置WiFi连接: ```AT+CWJAP="your_SSID","your_password"``` 4.点灯科技App中: - 添加"温湿度数值组件" - 绑定对应数据键名(temperature/humidity) - 设置自动刷新间隔(建议≥5秒) ## 六、常见问题解决 1. 数据无法上传: - 检查AT指令响应(波特率需为115200) - 验证Device Key是否正确[^1] - 用`AT+PING="www.diandeng.tech"`测试网络连通性 2. 传感器读数异常: - 检查DHT11接线是否松动 - 增加`delay(2000)`确保传感器就绪时间 - 更换上拉电阻测试 ## 七、优化建议 1. 添加OLED屏幕实时显示本地数据 2. 配置报警阈值推送功能 3. 使用Blinker Pro版本实现历史数据存储 相关问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘梦TaoDream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值