实例介绍
简介】
在点灯APP上显示温湿度,并保存数据近2小时。
所需物品 DHT11温湿模块 CH340连接板 esp8266-01或esp8266-01s 见图
安装CH340驱动
安装arduino-1.8.16-windows
安装8266_package_3.0.2_arduinocn
Ardiuno库覆盖arduino项目目录
arduino工具--开发板--选 NODEMCU 1.0 ESP-12E MODULE
点灯APP新建设备 记住 KEY
修改代码中的KEY
DHT11温湿模块正极连接 CH340连接板3.3V针脚 负极连接GND 信号线连接IO2(因为代码设定左IO2)
通电
点灯APP中点新建的设备,右上角的“…”,界面配置,复入代码“点灯APP界面代码设置 ”,后退再后退,再点击设备,OK
。
?
【实例截图】




【核心代码】
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#define DHTPIN 2 //定义DHT11模块连接针脚2
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
#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 dataStorage()
{
Blinker.dataStorage("cha-temp", temp_read);
Blinker.dataStorage("cha-humi", humi_read);
}
String rts()//计算运行时间
{
int rt =Blinker.runTime();
int r,e,f,s;
String fh;
Blinker.delay(100);
if(rt >= 86400)//天数
{r = rt / 86400;
e = rt / 3600 - r*24;
f = rt / 60 - r*1440 - e*60;
s = rt - r*86400 - e*3600 - f*60;}
else if(rt >= 3600)
{r = 0;
e = rt / 3600;
f = rt / 60 - e*60;
s = rt - e*3600 - f*60;}
else
{r = 0;
e = 0;
f = rt / 60;
s = rt - f*60;}
//BLINKER_LOG(r," ",e," ",f," ",s);//输出数据测试
if(f==0 & e==0 & r==0)
{fh = String("") s "秒";}
else if(r == 0 & e == 0 )
{fh = String("") f "分" s "秒";}
else if(r == 0)
{fh = String("") e "时" f "分" s "秒"; }
else
{fh = String("") r "天" e "时" f "分" s "秒";}
return(fh);
}
?
在点灯APP上显示温湿度,并保存数据近2小时。
所需物品 DHT11温湿模块 CH340连接板 esp8266-01或esp8266-01s 见图
安装CH340驱动
安装arduino-1.8.16-windows
安装8266_package_3.0.2_arduinocn
Ardiuno库覆盖arduino项目目录
arduino工具--开发板--选 NODEMCU 1.0 ESP-12E MODULE
点灯APP新建设备 记住 KEY
修改代码中的KEY
DHT11温湿模块正极连接 CH340连接板3.3V针脚 负极连接GND 信号线连接IO2(因为代码设定左IO2)
通电
点灯APP中点新建的设备,右上角的“…”,界面配置,复入代码“点灯APP界面代码设置 ”,后退再后退,再点击设备,OK
。
?
【实例截图】




【核心代码】
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#define DHTPIN 2 //定义DHT11模块连接针脚2
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
#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 dataStorage()
{
Blinker.dataStorage("cha-temp", temp_read);
Blinker.dataStorage("cha-humi", humi_read);
}
String rts()//计算运行时间
{
int rt =Blinker.runTime();
int r,e,f,s;
String fh;
Blinker.delay(100);
if(rt >= 86400)//天数
{r = rt / 86400;
e = rt / 3600 - r*24;
f = rt / 60 - r*1440 - e*60;
s = rt - r*86400 - e*3600 - f*60;}
else if(rt >= 3600)
{r = 0;
e = rt / 3600;
f = rt / 60 - e*60;
s = rt - e*3600 - f*60;}
else
{r = 0;
e = 0;
f = rt / 60;
s = rt - f*60;}
//BLINKER_LOG(r," ",e," ",f," ",s);//输出数据测试
if(f==0 & e==0 & r==0)
{fh = String("") s "秒";}
else if(r == 0 & e == 0 )
{fh = String("") f "分" s "秒";}
else if(r == 0)
{fh = String("") e "时" f "分" s "秒"; }
else
{fh = String("") r "天" e "时" f "分" s "秒";}
return(fh);
}
?
最终效果图:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论