在2018年折腾过一次用米家温湿度连接ESP32上用OLED显示,OLED显示是已经成功了.可是当时打算让EPS在读取到蓝牙温度计数值后上传到blynk,可是编译后提示空间不足(即使不要OLED驱动只接入blynk也一样)。由于我不是专业开发人员,也没时间去找解决方法。同时,觉得这功能大把东西可以取代,搞出来觉得没啥用,所以代码一直仍在硬盘里直到现在才记得.这里顺便发出来,大家觉得有用的话拿去研究参考,看能不能解决空间问题,运行效果如下:
这个项目灵感主要来自于这位作者,https://github.com/turlvo/KuKuMi,有兴趣可以看看。
事前准备
-
软件和环境
- PlatformIO 或者Arduino IDE配置好ESP32 Arduino架构板库
- Adafruit SSD1306 OLED 库
- Adafruit GFX 库
以上库都可以在IDE内搜索到
-
硬件准备 项目名称 数量 单位 备注 ESP32 1 块 这里用 doit esp32 devkit v1
0.96’OLED液晶模块 1 个 SSD1306主控,建议I2C版本,我这里用SPI接口版本 小米米家蓝牙温湿度计 1 个 我这里使用的是旧版圆形那个版本,由于已经是3年前,现在新款的版本不知道行不行 杜邦线 若干 面包板 1 块
3.注意事项
在开始动手前,请你把周边所有蓝牙(如手机蓝牙等)设备关掉,以免影响ESP32的实验结果。
硬件接线
SPI版本
ESP32 | 15 | 2 | 4 | 5 | GND | 3.3V/5V | GND |
---|---|---|---|---|---|---|---|
OLED | CLK(SCK) | MOSI(SCK) | RESET(RES) | DC | CS | VCC | GND |
I2C版本
(省略,请自行看Adafruit SSD1306 OLED 库中的示例)
Arduino代码
这里是SPI OLED的版本:
正文完