我是一个高中信息技术老师,闲来无事看到课本上做了一个智能花卉温度项目,我想我也来搞一个,这篇文章简单介绍一下,如何利用esp01s和dht11温控装置,借助点灯平台,实现一个简单的物联网应用。
实验硬件:esp01s wifi模块、esp01s烧录器、dht11温控装置
首先将dht11的引脚和esp01s连起来,非常简单只要将相应的线连起来就可以了。
其中VCC就是连电源(3V3),GND接地连GND,DATA数据口,连IO0或IO2,前提是要记住是连哪个口。
然后进入程序部分,首先我们需要下载点灯手机端app,创建一个设备。
此时会生成一个密钥,我们之后在程序中会用到这个密钥。
然后我们创建前端页面,直接加两个数据框即可。
但是组件名一定要记住,因为我们程序需要用到组件名来定位。
前端设置好之后,页面应该是这样
接下来进入硬件编程,下载最新版Arduino IDE。接下来需要安装一些插件,分别是esp8266、dht11、Blinker的插件,可以通过这个官网连接进行下载,需要什么库搜索就可以了。下载后的包应该是zip压缩包。
通过这样来选择zip包进行安装
插上单片机,选择WiFiduino
装好环境之后,我们来进行编程。
// 指定类型,必须写到第一行
#define BLINKER_WIFI
// 数据接口,接的是IO0就是0,接的是IO2就是2
#define D 2
#include <ESP8266WiFi.h> // wifi模块
#include <Blinker.h> //点灯模块
#include "DHT.h" // 温控模块
// WiFi设置 这里需要连上一个WiFi 热点都可以
const char* ssid = "Redmi Note 12 Turbo";
const char* password = "12345678";
//点灯设置 这里需要填写刚才生成的密钥
const char* auth = "刚才生产的密钥";
BlinkerNumber HUMI("humi"); // 填写绑定的组件名
BlinkerNumber TEMP("temp");
//温控设置 温控初始化
DHT dht(D,DHT11);
void setup() {
Serial.begin(9600);
dht.begin(); // 温控启动
//连接Wifi
//connectWIfi();
//BUG日志描述 可选
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
//连接上Wifi和点灯服务器
Blinker.begin(auth, ssid, password);
}
void loop() {
delay(2000); // 延时2s
//获取温度和湿度
float h = dht.readHumidity();
float t = dht.readTemperature();
//将温度湿度渲染到前端
HUMI.print(h);
TEMP.print(t);
//启动点灯服务
Blinker.run();
}
点击左边的右箭头,就可以将程序烧录到单片机上。
右边放大镜可以监控串口记录,记得选9600 baud,我们程序设置的是9600 baud
如果一切顺利,应该能看到手机单片机连接上了热点
点灯的温度应该在实时改变,温度远程显示项目就完成了!