ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站

废话不多说先上实拍图
ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第1张图片一、简介
本方案的开发环境为Ardunio,开发板为使用ESP-12E模组的NodeMCU,传感器使用DHT11模组,显示屏使用采用SSD1306驱动芯片的0.96寸oled模组或是采用SH1106驱动芯片的1.3寸oled模组。它能实现所在环境温湿度显示和NTP时钟、今日天气及后三天的天气显示。不联网的状态下闪烁指示灯、只显示本地温湿度信息一个界面。微信配网成功状态下,一共四个界面。第一个界面是NTP时钟、星期日期;ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第2张图片第二界面显示今日温度信息;ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第3张图片第三个界面显示后三天天气预报信息;ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第4张图片第四个界面显示DHT11温湿度传感器的信息;ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第5张图片每个界面是显示6秒自动向左滑动式切换。配网功能采用由腾讯提供的Airkiss,使用乐鑫/安信可公众号里的配网功能即可。

二、接线
NodeMCU上的3V3和GND分别连接显示屏及DHT11传感器的Vcc和GND,严禁接反,小心烧毁这些外配!其次就是NodeMCU上的D5连接到DHT11传感器的Data引脚上,D1和D2分别连接到oled屏幕的SDA和SCL上,如果不是按照我的连接方式,可以采取修改代码的方式,代码内已经用中文注释了相关内容,直接修改即可

三、 开发环境
❶需要一台计算机,下载一个Arduino,ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第6张图片链接www.arduino.cc
❷安装ESP8266开发板离线包,因为国内网络不稳定在线安装成功不容易,总会在一半左右报错ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第7张图片
❸在Arduino的界面顶部工具栏里选择工具(Tools),选择开发板(Board)“NodeMCU ESP-12E”那一项ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第8张图片
❹在工具栏的项目(Sketch)里选择包含库(Include Library),再选择管理库(Manger Library)ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第9张图片
❺在弹出的窗口里搜索esp8266 weather,ThingPluse那个,点击安装(Install)。再按照同样的方法安装json streaming、DHT Sensor Library
❻进入下面的网址
https://github.com/ThingPulse/esp8266-oled-ssd1306
点击Download ZIP
在工具栏的项目(Sketch)里选择包含库(Include Library),再选择添加Zip库(Add .zip Library),添加在第❻步下载的zip压缩包ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第10张图片
这一步是下载oled屏幕库

三、代码修改
❶去OpenWeatherMap去获取自己的API,进入下面的网址,注册好账号,点击API,在右侧红框内输入一个名字,点击generate 生成一个API KEY
https://home.openweathermap.org/api_keysESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第11张图片
ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第12张图片ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第13张图片ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第14张图片将生成的Key粘贴到代码里即可ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第15张图片
❷然后就是获取城市代码,例如我是广阳区的,所以就在OpenWeatherMap搜guangyang。其他城市/区像上面我搜“guangyang”一样,请搜其拼音字母即可复制上面网址栏中最后一个斜杠后面的一短串数字,那个就是城市编码,同样放入代码中指定的行中即可ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第16张图片
❸可以修改两处代码使用SH1106驱动芯片的1.3寸OLED显示屏模组ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第17张图片
ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第18张图片
四、烧录
插上开发板,安装对应的CH304或者CP202x的驱动程序ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第19张图片
然后在工具栏中点击工具(Tools),ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第20张图片选择串口(Port),我是COM8,那么就要选择COM8
切记选择 开发板(Board)“NodeMCU ESP-12E”那一项,你要是选择“Arduino Yún”能刷进“NodeMCU”开发板去,我当场就把电脑屏幕吃了

然后点击工具栏下方的栏中的“➡️”图标ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第21张图片进行固件烧录

五、使用
烧录好以后拔下来用旧手机的充电器供电,电流不用太大,当然太大也没事,我这里用的华为畅享手机的5V 1A适配器。ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第22张图片
连接上后按一下NodeMCU开发板上面的Reset按键,ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第23张图片拿出连上了Wi-Fi的一部手机,打开微信,关注乐鑫或者安信可的公众号进行配网。例如我用的“乐鑫信息科技”进入聊天界面ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第24张图片点击下方“商铺”,再点击“Airkiss设备”进行配网,ESP8266+DHT11+0.96寸 SSD1306 OLED网络小气象站_第25张图片就是如此简单

代码下一篇放出!

你可能感兴趣的:(笔记)