点灯·blinker-2 物联网8266+DHT11温湿度 测试
本帖最后由 caiyq52 于 2020-12-31 02:38 编辑疫情期间快递太慢啦,买了十多天的8266烧录器和其他一些模块终于到了。继续倒腾一下“点灯”。用示例程序做一个温湿度检测,分享一下。
一,准备工作1.1软件·Arduino IDE(必须是1.8.10及更高版本!我这里使用的版本刚下载的1.8.11) Arduino IDE 1.8.11链接:https ://pan.baidu.com/s/1QQ8bjWcLga6hA2vsXdXVow提取码:b70v 或者在Arduino官网下载新版本: https : //www.arduino.cc/
·安装blinker Arduino库(blinker-library-master.zip) blinker-library-master.zip 链接:https ://pan.baidu.com/s/1NXzV_oPfvdzytI5FR0lDuw提取码:9na8 将下载好的库文件夹(blinker-library-master)解压到我的电脑>文档> Arduino> libraries文件夹中。
·安装DHT库(DHT-sensor-library-master.zip) 链DHT-sensor-library-master.zip接:https://pan.baidu.com/s/1ReKOYkypI_o6L2qvc-VHxA提取码:wzti 将下载好的库文件夹解压到我的电脑>文档> Arduino> libraries文件夹中。
·安装esp8266 / esp32扩展包(8266_package_2.6.3.exe) 8266_package_2.6.3.exe链接:https ://pan.baidu.com/s/1yM1sDZ4494n8BM4dgPuS0A提取码:9gl9 直接运行自动安装。
1.2硬件 · ESP8266模块
· DHT11温湿度WiFi子系统模块 · 8266烧录器二,开始
2.1点灯·blinkerAPP
·下载安装APP
https://diandeng.tech/doc/app-download
2.2 APP使用,并获取键码和设置按钮名称
·步骤如下
https://www.arduino.cn/data/attachment/forum/202002/09/003246kbm0zo7juu0u0mhv.jpg
https://www.arduino.cn/data/attachment/forum/202002/09/003247o8xxbne5sq1vjzi8.jpg
https://www.arduino.cn/data/attachment/forum/202002/09/003247xjz22uj8jgfsn8cf.jpg
https://www.arduino.cn/data/attachment/forum/202002/09/003247p54gysoz2efc0f2g.jpg
https://www.arduino.cn/data/attachment/forum/202002/09/003247tofcxf0fzkgc5aam.jpg
https://www.arduino.cn/data/attachment/forum/202002/09/003248pgkg4um8yg4gkg4m.jpg
2.3 Arduino程序
·参考点灯示例程序
Arduino IDE -文件-示例——Blinker——Blinker_DHT——DHT11_WiFi ·程序这里加了点注释
#define BLINKER_WIFI
#include <Blinker.h>
char auth[]="3cxxxxxxxxxx";//点灯中的密钥
char ssid[]="WIFI名称";
char pswd[]="WIFI密码";
BlinkerNumber HUMI("num-shidu");//必须于自己软件中设置的名称相同
BlinkerNumber TEMP("num-wendu");//必须于自己软件中设置的名称相同
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22(AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);
uint32_t read_time = 0;
float humi_read, temp_read;
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print("millis", BlinkerTime);
}
void heartbeat()
{
HUMI.print(humi_read);
TEMP.print(temp_read);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Blinker.attachHeartbeat(heartbeat);
dht.begin();
}
void loop()
{
Blinker.run();
if (read_time == 0 || (millis() - read_time) >= 2000)
{
read_time = millis();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
BLINKER_LOG("Failed to read from DHT sensor!");
return;
}
float hic = dht.computeHeatIndex(t, h, false);
humi_read = h;
temp_read = t;
BLINKER_LOG("Humidity: ", h, " %");
BLINKER_LOG("Temperature: ", t, " *C");
BLINKER_LOG("Heat index: ", hic, " *C");
}
}
·选择工具-开发板-Generic ESP8266模块
·连接硬件(烧录器8266)
!·选择对应的端口,上传程序
·将8266插到到DHT11温湿度的WiFi节点模块上!
·模块上电(模块说明中工作电压为3.7-5V),打开APP测试!这里我直接从烧录器上接的3.3V和GND到模块上,试了一下可以运行。
2020.02.21武汉加油!中国加油!
说明很详细 你好,看了你的贴子和社区的一些文档,我也成功的测试了一下湿温传感器,现在想把测试的过程分享到B站上,所以想征得你的同意。 这是TJ 发表于 2020-2-27 12:44
你好,看了你的贴子和社区的一些文档,我也成功的测试了一下湿温传感器,现在想把测试的过程分享到B站上, ...
:DOK没问题,乐于分享! caiyq52 发表于 2020-2-27 13:13
OK没问题,乐于分享!
谢谢!已经分享在b站了,https://www.bilibili.com/video/av92151658/ 在视频和简介里都已经注明了参考教程的出处~ 楼主程序放到自己的环境中编译为什么会报错?用其他程序测试编译下载程序都是ok的。显示是“为开发板 Generic ESP8266 Module 编译时出错。” jcwk 发表于 2020-2-29 07:36
楼主程序放到自己的环境中编译为什么会报错?用其他程序测试编译下载程序都是ok的。显示是“为开发板 Gener ...
库的问题,我也遇到过。有旧的8266库,需要把旧库删除 caiyq52 发表于 2020-2-29 08:04
库的问题,我也遇到过。有旧的8266库,需要把旧库删除
显示如下报错信息,之前装的8266的库就是2.6.3版本,删除后重新安装2.6.3版本还是一样的问题,显示有对应多个库
In file included from D:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:0:
D:\Program Files (x86)\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include <Adafruit_Sensor.h>
^
compilation terminated.
"Hash.h" 对应多个库
已使用: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\Hash
未使用:D:\Program
exit status 1
为开发板 Generic ESP8266 Module 编译时出错。 我和你的设备一样,ESP-01 , DHT11;
我遇到的问题就很奇怪 :'(
ESP01接TTL转USB,从USB上接除了3.3V和GND的线到DHT11,DHT11用3.7V电池供电,这样可以正常跑;
一旦把ESP01插上DHT11,好了~~ 没反应。。。。DHT11的电源蓝灯也不会亮...
试了后感觉是ESP01的问题,从TTL上单独接3.3V和GND到ESP01上,只会红灯常亮,蓝灯都不带动的.....
找了资料,完全不知道咋解决 :'(:'(:'(:'( Arduino:1.8.11 (Windows 10), 开发板:"Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"In file included from C:\Users\Administrator\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:0:C:\Users\Administrator\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:29: fatal error: Adafruit_Sensor.h: No such file or directory #include <Adafruit_Sensor.h> ^compilation terminated.exit status 1 为开发板 Generic ESP8266 Module 编译时出错。在文件 -> 首选项开启 “编译过程中显示详细输出”选项 这份报告会包含更多信息。