在上期文章中,为大家介绍了利用ESP8266将哪吒探针数据通过OLED屏幕展示出来。看到小伙伴们都很喜欢,也有小伙伴建议屏幕太小了,因此“船新”版本来了。

在此特别感谢老铁提出的建议

项目地址: https://github.com/Priess0503/ESP8266-TFT_eSPI

新版效果

本次,我采用了一块1.54寸 ips屏幕。让数据尽可能多的展示出来。同时,通过环图展示CPU和内存状态,效果更美!同时,在下方增加了磁盘使用占比图,磁盘容量更清晰。

快速上手

01
搭建哪吒探针v1

可以参考历史文章进行搭建,利用探针的好处是当我们用多台服务器时,可以方便的统一查看状态。

哪吒探针V1 全新版安装

02
启动后端API接口

执行后端脚本

python3 kali.py

注意,修改你的WSS地址和内网IP地址(为了安全,建议在内网运行脚本)

访问api接口,效果如下:

{
      "id": 3,
      "name": "服务器",
      "platform": "centos",
      "cpu_usage": 11.2,
      "memory_usage": 81.8,
      "disk_total_gb": 49.09,
      "disk_usage": 66.16,
      "upload_speed_kb": 48.75,
      "download_speed_kb": 6.68
    }
03
配置esp8266

线路连接(ESP8266 → 屏幕)

ESP8266 引脚屏幕引脚功能说明
3V3VCC电源正极
GNDGND电源负极
D5 (GPIO14)SCL/CLKSPI 时钟
D7 (GPIO13)SDA/MOSISPI 数据
D8 (GPIO15)CS片选
D3 (GPIO0)DC数据 / 命令
D4 (GPIO2)RES复位
可选BLK背光控制(可接 3V3 常亮)

安装 TFT_eSPI 库

安装 TFT_eSPI 库,打开 Arduino 安装目录下的libraries/TFT_eSPI/User_Setup.h文件找到并修改以下配置:

// 选择ST7789驱动
#define ST7789_DRIVER
// 屏幕分辨率
#define TFT_WIDTH  240
#define TFT_HEIGHT 240
// 旋转方向(根据实际安装调整,0-3)
#define TFT_ROTATION 0
// SPI引脚定义
#define TFT_MISO 12  // 可选,若屏幕不支持读取可悬空
#define TFT_MOSI 13  // D7
#define TFT_SCLK 14  // D5
#define TFT_CS   15  // D8
#define TFT_DC    0  // D3
#define TFT_RST   2  // D4
// 背光控制(如果需要)
#define TFT_BL   4   // 可选,接D2或其他GPIO
#define BACKLIGHT_ON HIGH

到此,准备工作完成!

05
烧录代码到8266

修改主程序中的WiFi信息和后端API端口,编译上传即可。

二次开发指南

01
修改汉字

TFT_eSPI 库对汉字的支持并不友好。我们需要利用字模软件对所需要的汉字进行编码。

复制汉字信息到MyChineseFont.h文件,并更新CHINESE_FONT_COUNT的值。如,有21个字符,这里就是21

同时,修改OpenFontRender.h文件,添加刚才新增的汉字的信息和数量。

这样,就可以显示自己所需要的汉字了。

02
修改图标

如果你想要修改或者增加图标。收集自己的图标建议 20 * 20 像素。完成后,运行images.py脚本后,我们便得到了icons.h文件。

然后,在需要显示的地方进行显示图片即可。

const uint16_t *pickIcon(const char *platform) {
  if (platform == nullptr) return nullptr;
  String p = String(platform);
  p.toLowerCase();
  if (p.indexOf("centos") != -1) return centosIcon;
  if (p.indexOf("debian") != -1) return debianIcon;
  if (p.indexOf("raspbian") != -1 || p.indexOf("raspi") != -1 || p.indexOf("pi") != -1) return raspiIcon;
  return nullptr;
}
最后修改:2025 年 12 月 11 日
可怜可怜吧!正在沿街乞讨~