demo1984s 的个人博客

到 心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案 (seniverse.com) 注册一个账号,复制出来密钥,后面代码里面用到的key就是这个密钥。

在备份固件目录下命令行执行以下命令即可。
“esptool.py” --chip esp32c3 --port "/dev/cu.usbmodem11201" --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 "EPD4in2WeatherStationESPPro.ino.bootloader.bin" 0x8000 "EPD4in2WeatherStationESPPro.ino.partitions.bin" 0xe000 "boot_app0.bin" 0x10000 "EPD4in2WeatherStationESPPro.ino.bin"
已安装可忽略这一步骤,本文内容基于 Arduino IDE 2.1.0 编写。ESP8266/ESP32开发板环境安装详细见文章 Arduino 1.8、Arduino IDE 2.0上配置ESP8266/ESP32开发板开发环境 - 自由向往的程序猿 (demo1984s.com)
安装方式:依次打开菜单“工具 - 管理库“,搜索”Time“进行安装。

安装方式:依次打开菜单“工具 - 管理库“,搜索”GxEPD2“进行安装。

安装方式:依次打开菜单“工具 - 管理库“,搜索”U8g2“进行安装。

安装方式:依次打开菜单“工具 - 管理库“,搜索”ArduinoJson“进行安装。

安装方式:依次打开菜单“项目 - 导入库 - 添加 .ZIP 库“,选择提供的文件“U8g2_for_Adafruit_GFX.zip”进行安装。

安装方式:依次打开菜单“项目 - 导入库 - 添加 .ZIP 库”,选择提供的文件“U8g2_wqy.zip”进行安装。这里要注意 U8g2_wqy汉字字体库的使用。
U8g2_wqy采用文泉驿点阵宋体作为源本,提供 12x12、13x13、14x14、15x15 和 16x16 点阵字库:
chinese1、chinese2、chinese3 为u8g2 官方提供的小字符集。gb2312 是完整的GB2312简体中文编码 字符集。(作者强烈推荐使用这种字体,汉字全)gb2312a 只有 GB2312 01、02 和 16 到 55 以及部分 08 区的编码。没有包含全角标点符号,如 !,请用半角 ! 代替。gb2312b 只有 GB2312 01 到 55 的编码,其中 10 到 15 区为空区。比gb2312a 多一些额外的符号。 字库选择以最简适用为原则,否则会导致程序过大编译的时候抛出 section '.irom0.text' will not fit in region 'irom0_0_seg' 的失败提示。
| 字体名 | 字符数 | 字节 |
|---|---|---|
| u8g2_font_wqy12_t_chinese1 | 411 | 9,491 |
| u8g2_font_wqy12_t_chinese2 | 574 | 13,701 |
| u8g2_font_wqy12_t_chinese3 | 993 | 25,038 |
| u8g2_font_wqy12_t_gb2312a | 4041 | 111,359 |
| u8g2_font_wqy12_t_gb2312b | 4531 | 120,375 |
| u8g2_font_wqy12_t_gb2312 | 7539 | 208,228 |
| u8g2_font_wqy13_t_chinese1 | 411 | 10,341 |
| u8g2_font_wqy13_t_chinese2 | 574 | 14,931 |
| u8g2_font_wqy13_t_chinese3 | 993 | 27,370 |
| u8g2_font_wqy13_t_gb2312a | 4041 | 121,327 |
| u8g2_font_wqy13_t_gb2312b | 4531 | 130,945 |
| u8g2_font_wqy13_t_gb2312 | 7539 | 227,383 |
| u8g2_font_wqy14_t_chinese1 | 411 | 11,368 |
| u8g2_font_wqy14_t_chinese2 | 574 | 16,443 |
| u8g2_font_wqy14_t_chinese3 | 993 | 30,200 |
| u8g2_font_wqy14_t_gb2312a | 4040 | 133,898 |
| u8g2_font_wqy14_t_gb2312b | 4530 | 143,477 |
| u8g2_font_wqy14_t_gb2312 | 7538 | 251,515 |
| u8g2_font_wqy15_t_chinese1 | 411 | 12,590 |
| u8g2_font_wqy15_t_chinese2 | 574 | 18,133 |
| u8g2_font_wqy15_t_chinese3 | 993 | 33,165 |
| u8g2_font_wqy15_t_gb2312a | 4041 | 147,563 |
| u8g2_font_wqy15_t_gb2312b | 4531 | 158,713 |
| u8g2_font_wqy15_t_gb2312 | 7539 | 276,938 |
| u8g2_font_wqy16_t_chinese1 | 411 | 14,229 |
| u8g2_font_wqy16_t_chinese2 | 574 | 20,245 |
| u8g2_font_wqy16_t_chinese3 | 993 | 37,454 |
| u8g2_font_wqy16_t_gb2312a | 4041 | 169,286 |
| u8g2_font_wqy16_t_gb2312b | 4531 | 182,271 |
| u8g2_font_wqy16_t_gb2312 | 7539 | 318,090 |
安装方式:依次打开菜单“项目 - 导入库 - 添加 .ZIP 库”,2023年5月10日前的选择“ESP-SeniverseV0.0.1.zip”进行安装,2023年5月10日后的选择“ESP-SeniverseV0.0.2.zip”进行安装,V0.0.2相对V0.0.1改动较大,不兼容。
代码修改引脚的地方在文件 GxEPD2_display_selection_new_style.h 里面。
ESP8266开发板:

ESP32开发板:

样例代码:
GxEPD2_DISPLAY_CLASS display(GxEPD2_DRIVER_CLASS(/*CS=*/ 2, /*DC=*/ 0, /*RST=*/ 4, /*BUSY=*/ 5));

以下是我使用的墨水屏驱动板与开发板引脚连接关系,可供参考(注意数字的含义:以BUSY为例,5表示GPIO5):
驱动板 开发板(GPIO)
BUSY D1(5)
RST D2(4) // 部分驱动板上标注的是RES
DC D3(0)
CS D4(2)
CLK D5(14) // 部分驱动板上标注的是SCK
SDA D7(13) // 部分驱动板上标注的是DIN
GND GND
3V3 3.3V // 部分驱动板同时支持或者只有3V或5V,根据实际情况连接
具体也可根据自己的实际需要进行修改。
引脚分布图,可见原文 https://docs.espressif.com/projects/arduino-esp32/en/latest/boards/ESP32-DevKitC-1.html

以下是我使用的墨水屏驱动板与开发板引脚连接关系,可供参考:
驱动板 开发板(GPIO)
BUSY 21
RST 16 // 部分驱动板上标注的是RES
DC 17
CS 5
CLK 18 // 部分驱动板上标注的是SCK
SDA 23 // 部分驱动板上标注的是DIN
GND GND
3V3 3.3V // 部分驱动板同时支持或者只有3V或5V,根据实际情况连接
与32D差异是BUSY换了一个脚,也可以使用其他GPIO脚。需要注意的是网上买的开板引脚布局和乐鑫官方的可能会有一点差异,一般卖家都会提供引脚布局图。建议引脚统一接在开发板同一侧,这样会比较方便。
驱动板 开发板
BUSY 4
RST 16 // 部分驱动板上标注的是RES
DC 17
CS 5
CLK 18 // 部分驱动板上标注的是SCK
SDA 23 // 部分驱动板上标注的是DIN
GND GND
3V3 3.3V // 部分驱动板同时支持或者只有3V或5V,根据实际情况连接
引脚分布图,可见原文 ESP32C3-CORE开发板 - LuatOS 文档

驱动板 开发板
BUSY 11
RST 10 // 部分驱动板上标注的是RES
DC 5
CS 7
CLK 4 // 部分驱动板上标注的是SCK
SDA 6 // 部分驱动板上标注的是DIN
GND GND
3V3 3.3V // 部分驱动板同时支持或者只有3V或5V,根据实际情况连接
这里需要注意的是BUSY引脚用到了特殊引脚GPIO11(GPIO11默认为SPI flash的VDD引脚),这里因为之前捣鼓项目已经配置过GPIO11引脚(ESP32C3解锁使用IO11),所以直接用了。
以上引脚对应连接关系具体也可根据自己的实际需要进行修改。有问题可以到小黄鱼上找,部分文章为方便已购买的鱼友而写,部分文章日常爱好捣鼓过程中有感而发。
更多内容可到小黄鱼上找我
