<!--[toc]-->

项目说明

一个OLED显示项目,我准备用来显示分辨率cgpu占用率的,时间问题,只做了一个界面。
本项目可以通过上位机程序切换程序的运行模式,将代码中的上位机ip和天气城市id改一下即可使用。
目前只有2个模式0,1,0模式 显示时间天气日期,1模式 显示Hello World,主要是用来调试模式切换的。
程序代码 后续可能会有更新,最近在忙工作和毕设。

硬件配置

  1. ESP8266 - 12E
  2. OLED屏幕 i2c协议 内部驱动芯片:SH1106 1.3寸
  3. [可选] 复位上位机按钮

引脚配置

OLED和ESP8266引脚配置图
OLED和ESP8266引脚配置图
[可选]按钮引脚配置
按钮接D8引脚,另一端接MCU的3.3V输出端。
当按钮按下时,D8的电平会改变,我们通过读取D8引脚的电平,来做某些事情。

代码说明

  1. 网络WIFI环境初始化 使用的是WiFiManager库 管理包下载即可
  2. 和风天气api的使用 使用的是ESP8266WebServerGitHub地址
  3. 项目中OLED显示 使用的是中景园电子科技的示例代码
  4. 时间以及天气的刷新 我使用的是Ticker库 定时库 自带
  5. 模式1的表盘背景、天气图标 是使用PS软件画再通过字库工具转换的
  6. 按键的防抖 我使用的是变量计数,达到某一值时,才执行函数

项目样图\图片

模式1

模式1

模式2

模式2

网络调试助手

通过发送 mode + 模式id 即可做到切换oled屏幕显示的模式
调试助手

附件 及 代码

  1. ShowOLED代码附网络调试助手.rar