一、添加驱动文件

1.添加OLED驱动文件

进入下面的网址

https://github.com/ThingPulse/esp8266-oled-ssd1306 点击Download ZIP

ESP8266加OLED esp8266加oled制作网络天气_API


打开压解

ESP8266加OLED esp8266加oled制作网络天气_搜索_02


压解到Library,就是下图Perfereces红框中的地址后加Library,这个我改过了所以是这个,默认是在C盘我的文档里

ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_03

2.添加DHT11驱动文件

ESP8266加OLED esp8266加oled制作网络天气_API_04

二、获取天气信息API和城市编码

1.修改时间

下图红框内是默认值,保持不变时间将显示异常

ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_05


修改后

ESP8266加OLED esp8266加oled制作网络天气_API_06

2.获取API

点击红框内的网址,进入网页用邮箱注册一个账号,可以免费获取API,将获取的API字符串粘贴到下面红框中双引号内

ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_07


ESP8266加OLED esp8266加oled制作网络天气_双引号_08


ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_09


没有账号的话,点击Sign up注册一个

ESP8266加OLED esp8266加oled制作网络天气_双引号_10


进入下面的网址,点击API,在右侧红框内输入一个名字,点击generate 生成一个API KEY

https://home.openweathermap.org/api_keys

ESP8266加OLED esp8266加oled制作网络天气_API_11


将生成的key,粘贴到代码中

ESP8266加OLED esp8266加oled制作网络天气_API_12

3.获取城市编码

点击下图第一个红框中的链接,将获取的城市编码粘贴到第二个红框中

ESP8266加OLED esp8266加oled制作网络天气_搜索_13


我这里以我所在的城市廊坊为例,在搜索框中搜索城市的拼音

ESP8266加OLED esp8266加oled制作网络天气_双引号_14


点击城市名

ESP8266加OLED esp8266加oled制作网络天气_双引号_15


网址后的数字就是城市编码,将其粘贴到代码中

ESP8266加OLED esp8266加oled制作网络天气_API_16


ESP8266加OLED esp8266加oled制作网络天气_搜索_17

三、使用WeatherStationDome烧录测试

1.加入WiFi账号密码

WIFI_SSID = WIFI账号,在双引号内输入

WIFI_PWD = WIFI密码,在双引号内输入

ESP8266加OLED esp8266加oled制作网络天气_API_18

2.修改OLED 屏幕驱动

将上面红框中的OLED 屏幕驱动头文件注释,

在下面添加对应OLED驱动芯片的头文件。

如果OLED驱动芯片是SSD1306就不需要修改。

ESP8266加OLED esp8266加oled制作网络天气_双引号_19

这里还是OLED 屏幕驱动程序的修改,如果是SSD1360就不用修改

ESP8266加OLED esp8266加oled制作网络天气_API_20


修改引脚定义,如果和我的接线方式一样就需要改,上面注释掉的是原来的,下面的修改之后的。不一样的话需要自己根据实际情况定义。

ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_21

3.编译并烧录

编译

ESP8266加OLED esp8266加oled制作网络天气_API_22


下面黑色框中没有红色字体提示,编译成功

ESP8266加OLED esp8266加oled制作网络天气_双引号_23


烧录

选择端口,根据实际情况而定,用USB线连接你的esp8266,就会出现

ESP8266加OLED esp8266加oled制作网络天气_搜索_24

点击Upload下载到esp8266

ESP8266加OLED esp8266加oled制作网络天气_搜索_25


烧录完成

ESP8266加OLED esp8266加oled制作网络天气_ESP8266加OLED_26


烧录完成后,联网成功后应该会有3个界面,第一个显示时间,第二个显示当前室外温度,第三个显示天气预报。