ESP32-S3-ePaper-13.3E6 使用教程

产品特性

驱动板特点

  • 采用 ESP32-S3-WROOM-2-N32R16V 模组,搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240MHz
  • 集成 512KB SRAM、384KB ROM、16MB PSRAM、32MB Flash 存储器
  • 集成 2.4GHz Wi-Fi 和低功耗蓝牙 (Bluetooth LE) 双模无线通信,具有优越的射频性能
  • 采用 USB Type-C 接口,无需纠结正反插
  • 板载 CH343 与 CH334 芯片,通过一个 Type-C 接口就可以满足 USB 和 UART 的开发使用需求
  • 板载 13.3E6 墨水屏接口,支持直接接入 13.3E6 全彩墨水屏
  • 板载音频编解码芯片,支持语音采集与播放,便于实现 AI 语音交互应用
  • 板载高效充放电管理芯片 ETA6098 和 MX1.25 锂电池接口
  • 板载 Micro SD 卡槽,可外接 Micro SD 卡存储图片或文件

墨水屏特点

  • 采用 E Ink Spectra 6 (E6) 技术,高对比度、高饱和度颜色显示
  • 无需背光,断电可长时间保持最后一屏的显示内容
  • 功耗非常低,基本只在刷新时耗电

资源简介


  1. ESP32-S3-WROOM-1-N16R8 Wi-Fi 和蓝牙 SoC,240MHz 运行频率,叠封 16MB Flash 和 8MB PSRAM
  2. TPS63020DSJR DC/DC 升压芯片
  3. EA3036CQBR 电源管理芯片
  4. USB HUB 芯片
  5. USB 转串口芯片
  6. ES8311 DAC 音频编码芯片 高性能低功耗音频数模转换器
  7. ES7210 ADC 音频解码芯片 高性能低功耗音频模数转换器,支持多路麦克风输入
  8. NS4150B 音频功率放大器芯片
  9. ETA6098 电池充放电管理芯片
  10. MX1.25 2PIN 锂电池接口 用于连接锂电池
  11. MX1.25 2PIN 扬声器接口 音频输出信号,外接扬声器
  12. Micro SD 卡槽 使用时需要将 SD 卡格式化为 FAT32
  13. BOOT 按键 按住 BOOT,重新上电可以进入下载模式
  14. Reset 复位按键
  15. Type-C 接口 ESP32-S3 USB 接口,可用于烧录程序和日志打印
  16. 麦克风 用于烧录程序和日志打印
  17. 墨水屏驱动接口

接口介绍


产品尺寸



Arduino 开发

本章节包含以下部分,请按需阅读:

Arduino 入门教程

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

1. 安装和配置 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。

ESP32-S3-ePaper-13.3E6 所需开发板安装说明

板名称板安装要求版本号要求
ESP32 by Espressif Systems“离线”安装/“在线”安装3.2.0

2. Arduino 工程参数设置


示例程序

Arduino 示例程序位于 示例程序包 的 Arduino/examples 目录中。

示例程序基础例程说明依赖库
01_ADC_Test获取锂电池的电压值-
02_Audio_out音频播放示例-
03_E-Paper_Example13.3inch e-Paper E6 墨水屏幕示例程序-
04_SD_Test读取 SD 卡显示图片-
05_Loader_esp32wfwifi 传输图片-

01_ADC_Test

【程序说明】

  • 通过 GPIO 连接的模拟量电压经过 ADC 转换成数字量,然后通过计算得到实际的锂电池电压,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

  • adc_bsp_init(void):初始化 ADC1,包括创建 ADC 单次触发单元并配置 ADC1 的通道 7。
  • adc_get_value(float *value,int *data):读取 ADC1 通道 7 的值,并根据参考电压和分辨率计算出对应的电压值存储在传入的指针指向的位置,如果读取失败则存储 0。
  • adc_example(void* parameter):初始化 ADC1 后,创建一个 ADC 任务,该任务每隔 1 秒读取一次 ADC 的值,通过读取的 ADC 原始值计算出系统的电压。

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 ADC 的值和电压,如下图所示:


02_Audio_out

【程序说明】

  • 该示例可驱动 ES8311 音频编解码器,播放音乐

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

  • 配置 ES8311 音频编解码器初始化。

    void setup() {
    Serial.begin(115200);
    Wire.begin(I2C_SDA, I2C_SCL);
    pinMode(PA_CTRL, OUTPUT);
    digitalWrite(PA_CTRL, HIGH);
    es8311_codec_init();

    setupI2S();
    Serial.println("I2S Initialized");
    }
  • 持续向 I2S 总线写入内置音频数据,实现循环播放。

    i2s.write((uint8_t *)audio_data, AUDIO_SAMPLES * 2);

【运行效果】

  • 播放音频,屏幕无现象

03_E-Paper_Example

【程序说明】

  • 该示例为 13.3 寸 E6 墨水屏 Arduino 本地例程,实现电子纸初始化清屏,显示图片,绘制基础图形、文字。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

  • 显示预设图片。

    #if 1 // show bmp
    printf("show bmp1-----------------\r\n");
    EPD_13IN3E_Display(Image6color);
    DEV_Delay_ms(3000);
    #endif
  • 绘制基础图形、中英文文字、数字,并刷新显示。

    #if 1 // Drawing on the image
    Paint_NewImage(Image, EPD_13IN3E_WIDTH, EPD_13IN3E_HEIGHT, 90, EPD_13IN3E_WHITE);
    Paint_SetScale(6);
    // 1.Select Image
    printf("SelectImage:Image\r\n");
    Paint_SelectImage(Image);
    Paint_Clear(EPD_13IN3E_WHITE);

    // 2.Drawing on the image
    printf("Drawing:Image\r\n");
    Paint_DrawPoint(10, 80, EPD_13IN3E_RED, DOT_PIXEL_1X1, DOT_STYLE_DFT);
    Paint_DrawPoint(10, 90, EPD_13IN3E_BLUE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
    Paint_DrawPoint(10, 100, EPD_13IN3E_GREEN, DOT_PIXEL_3X3, DOT_STYLE_DFT);
    Paint_DrawLine(20, 70, 70, 120, EPD_13IN3E_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
    Paint_DrawLine(70, 70, 20, 120, EPD_13IN3E_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
    Paint_DrawRectangle(20, 70, 70, 120, EPD_13IN3E_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
    Paint_DrawRectangle(80, 70, 130, 120, EPD_13IN3E_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL);
    Paint_DrawCircle(45, 95, 20, EPD_13IN3E_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
    Paint_DrawCircle(105, 95, 20, EPD_13IN3E_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL);
    Paint_DrawLine(85, 95, 125, 95, EPD_13IN3E_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
    Paint_DrawLine(105, 75, 105, 115, EPD_13IN3E_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
    Paint_DrawString_CN(10, 130, "你好 abc", &Font12CN, EPD_13IN3E_BLACK, EPD_13IN3E_WHITE);
    Paint_DrawString_CN(10, 150, "微雪电子", &Font24CN, EPD_13IN3E_WHITE, EPD_13IN3E_BLACK);
    Paint_DrawNum(10, 33, 123456789, &Font12, EPD_13IN3E_BLACK, EPD_13IN3E_WHITE);
    Paint_DrawNum(10, 50, 987654321, &Font16, EPD_13IN3E_WHITE, EPD_13IN3E_BLACK);
    Paint_DrawString_EN(145, 0, "Waveshare", &Font16, EPD_13IN3E_BLACK, EPD_13IN3E_WHITE);
    Paint_DrawString_EN(145, 35, "Waveshare", &Font16, EPD_13IN3E_GREEN, EPD_13IN3E_WHITE);
    Paint_DrawString_EN(145, 70, "Waveshare", &Font16, EPD_13IN3E_BLUE, EPD_13IN3E_WHITE);
    Paint_DrawString_EN(145, 105, "Waveshare", &Font16, EPD_13IN3E_RED, EPD_13IN3E_WHITE);
    Paint_DrawString_EN(145, 140, "Waveshare", &Font16, EPD_13IN3E_YELLOW, EPD_13IN3E_WHITE);

    printf("EPD_Display\r\n");
    EPD_13IN3E_Display(Image);
    DEV_Delay_ms(3000);
    #endif

【运行效果】

  • 屏幕刷新初始化清屏,显示图片,绘制基础图形、文字

04_SD_Test

【程序说明】

  • 该示通过读取 SD 卡中的 BMP 图片并在墨水屏上刷新显示

【硬件连接】

  • 使用 USB 线把板子接入电脑
  • 将保存有图片的 bmp 文件夹放入 SD 卡根目录,插入 SD 卡模块

【代码分析】

  • 配置挂载 SD 卡

    //sdcard init
    Serial.begin(115200);
    delay(1000);
    SD_MMC.setPins(SD_CLK, SD_CMD, SD_D0, SD_D1, SD_D2, SD_D3);
    if (!SD_MMC.begin("/sdcard", true)) {
    printf("SD card failed to mount\r\n");
    return;
    }
    printf("SD card success to mount\r\n");
  • 读取 SD 卡中 bmp 文件夹下的。bmp 图片

    Serial.println("Scan the root directory BMP file...");
    File rootDir = SD_MMC.open("/bmp");
    if (rootDir && rootDir.isDirectory()) {
    File file = rootDir.openNextFile();
    while (file && bmpFileCount < 32) {
    if (!file.isDirectory()) {
    String fileName = file.name();
    String fullPath = file.path();
    fileName.toLowerCase();
    if (fileName.endsWith(".bmp")) {
    bmpFilePaths[bmpFileCount++] = MOUNT_POINT + fullPath;
    Serial.printf("find BMP:%s\n", fullPath.c_str());
    }
    }
    file.close();
    file = rootDir.openNextFile();
    }
    rootDir.close();
    } else {
    Serial.println("error : failed to open the root directory!");
    }

【运行效果】

  • 串口打印 SD 信息
  • 读取显示 sd 卡图片


05_Loader_esp32wf

【程序说明】

  • WiFi 例程
    注意

    该模块只支持 2.4G 的网络频段

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码修改】

  • 打开srvr.h文件,将ssidpassword改成实际使用的 WiFi 用户名和密码

    信息

    将该位置的 WiFi 用户名和密码修改为你自己路由器或者手机热点的 WiFi 用户名和密码。ESP32 在这个程序中扮演的是从机角色,不是主机,它不会往外发送 WiFi 热点信息


  • 按下win + R 键,输入CMD,打开命令行,获取电脑 IP.



  • 打开 srvr.h 文件,将图片所示位置的网段修改成对应的网段

    注意

    ESP32 的 IP 地址(也就是第四位)不要和电脑的地址一样,其他的要和电脑的 IP 地址要一模一样


  • 然后点击上传,把程序编译并下载到 ESP32 驱动板上面

  • 打开串口监视器,设置波特率为 115200,可以看到串口将 ESP32 驱动板的 IP 地址打印出来:


  • 电脑或者手机(注意电脑/手机接入的网络需要时跟 ESP32 接入的 wifi 是同一个网段的才可以)打开浏览器,在网址输入栏输入 ESP32 的 IP 地址并打开,可以看到操作界面如下


  • 整个操作见面分为五个区域: 图像操作区域:

    • Select Image file: 点击在电脑或者手机里面选择一张图片
    • Level: mono: 黑白色阶图像处理算法
    • Level: color: 多色色阶图像处理算法(只对多色屏幕生效)
    • Dithering: mono: 黑色抖动图像处理算法
    • Dithering: color: 多色抖动图像处理算法(只对多色屏幕生效)
    • Update image: 上传图像
    • IP 信息显示区域:这里显示的是你当前连接的模块的 IP 地址信息
    • 图像大小设置区域:这里 x 和 y 可以设置你要显示的起始位置,这个设置是相对于你选择的图片文件的,比如选择一张 800x480 的图片,但是连接的墨水屏是 2.9 寸的,这时候墨水屏并无法显示整张图片的信息,所以在选择-图像处理算法的时候,算法会自动从左上角开始截取一部分图片传到墨水屏显示,这里设置 x 和 y 可以自定义截取的起始位置。w 和 h 是当前墨水屏的分辨率大小。
    注意

    如果修改了 x 和 y 的指的话,需要重新点击一下处理算法生成新的图像

    • 型号选择区域:这里可以选择你接入的墨水屏型号
    • 图像显示区域:这里会显示你选择的图片以及处理之后的图像
    信息

    在上传图像的时候,底部会显示上传的数据进度

  • 区域①点击Select image file 选择一张图片,或者直接将图片拖拽至Original image的区域内

  • 区域④选择对应的墨水屏型号,例如:13.3E

  • 区域①点击一种图像处理算法,例如:Dithering: color

  • 区域①点击 Upload image 将图片上传到墨水屏显示。



ESP-IDF

本章节包含以下部分,请按需阅读:

ESP-IDF 入门教程

初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置 ESP-IDF 开发环境

信息

对于 ESP32-S3-ePaper-Driver-Board 开发板,需要使用 ESP-IDF V5.5.0 以上版本。

备注

以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明

安装 ESP-IDF 开发环境

  1. 前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。

    在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你要安装的版本。


    确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)


    请耐心等待两个文件下载完成。

  2. 下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)

    启动后,可在右上角将界面语言切换为中文。


    安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装


    接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装


  3. 当看到如下界面时,表示 ESP-IDF 已安装成功。


  4. 建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序


安装 Visual Studio Code 与 ESP-IDF 扩展

  1. 下载并安装 Visual Studio Code

  2. 安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。

  3. 在 VS Code 中,点击侧边活动栏中的 扩展图标 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。

  4. 在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。


  5. 当 ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。

示例程序

ESP-IDF 示例程序位于 示例程序包 的 ESP-IDF 目录中。

示例程序基础例程说明
01_ADC_Test获取锂电池的电压值
02_Mic_test扬声器播放麦克风录音
03_Music挂载 SD 卡,读取播放 SD 卡中的音乐
04_E-Paper_Example墨水屏示例程序
05_SD_Test读取 SD 卡显示图片
06_xiaozhi-esp32小智 AI 应用

01_ADC_Test

【程序说明】

  • 通过 GPIO 连接的模拟量电压经过 ADC 转换成数字量,然后通过计算得到实际的锂电池电压,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

  • adc_bsp_init(void):初始化 ADC1,包括创建 ADC 单次触发单元并配置 ADC1 的通道 7。
  • adc_get_value(float *value,int *data):读取 ADC1 通道 7 的值,并根据参考电压和分辨率计算出对应的电压值存储在传入的指针指向的位置,如果读取失败则存储 0。
  • adc_example(void* parameter):初始化 ADC1 后,创建一个 ADC 任务,该任务每隔 1 秒读取一次 ADC 的值,通过读取的 ADC 原始值计算出系统的电压。

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 ADC 的值和电压,如下图所示:


02_Mic_test

程序说明

  • 演示如何获取麦克风的数据,然后再通过扬声器播放。

硬件连接

  • 将开发板接入电脑

代码分析

  • i2c_master_Init(); :初始化 I2C 总线。
  • user_ui_init();:初始化全局 ui。
  • user_button_init();:初始化 audio 接口。

运行效果

  • 屏幕无显示效果

  • 长按 BOOT 按键即可进入录音模式,对着 MIC 说话,3 秒后自动结束

  • 单击 BOOT 按键,播放刚刚录的声音,(如果没有录音的情况下,播放的声音会很刺耳)

  • 串口打印:


03_Music

程序说明

  • 挂载 SD 卡,读取播放 SD 卡中的音频

硬件连接

  • 将开发板接入电脑
  • 喇叭接入 SPK 接口

代码分析

  • _sdcard_init(); :初始化 SD 卡并读取 SD 卡音频文件。
  • i2c_master_init();:初始化 I2C 总线,为 ES8311 音频编解码器的配置指令传输提供通信链路。
  • audio_player_play(audio_fp);:启动音频播放器,读取打开的 MP3 文件并通过 ES8311 驱动扬声器播放。

运行效果

  • 屏幕无显示效果
  • 喇叭播放音频

04_E-Paper_Example

程序说明

  • 本示例为 13.3 寸 E6 墨水屏 ESP-IDF 本地例程,实现电子纸初始化清屏,显示图片,绘制基础图形、文字。

硬件连接

  • 将开发板接入电脑

代码解释

  • 显示预设图片 :

    #if 1
    EPD_Display(Image6color);
    vTaskDelay(pdMS_TO_TICKS(3000));
    #endif
  • 绘制基础图形、中英文文字、数字,并刷新显示 :

    #if 1
    Paint_NewImage(Image_Mono, EPD_WIDTH, EPD_HEIGHT, 90, EPD_WHITE);
    Paint_SetScale(6);
    printf("SelectImage:Image\r\n");
    Paint_SelectImage(Image_Mono);
    Paint_Clear(EPD_WHITE);

    Paint_DrawPoint(10, 80, EPD_RED, DOT_PIXEL_1X1, DOT_STYLE_DFT);
    Paint_DrawPoint(10, 90, EPD_BLUE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
    Paint_DrawPoint(10, 100, EPD_GREEN, DOT_PIXEL_3X3, DOT_STYLE_DFT);
    Paint_DrawLine(20, 70, 70, 120, EPD_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
    Paint_DrawLine(70, 70, 20, 120, EPD_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
    Paint_DrawRectangle(20, 70, 70, 120, EPD_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
    Paint_DrawRectangle(80, 70, 130, 120, EPD_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL);
    Paint_DrawCircle(45, 95, 20, EPD_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
    Paint_DrawCircle(105, 95, 20, EPD_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL);
    Paint_DrawLine(85, 95, 125, 95, EPD_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
    Paint_DrawLine(105, 75, 105, 115, EPD_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
    Paint_DrawString_CN(10, 130, "你好 abc", &Font16_UTF8, EPD_BLACK, EPD_WHITE);
    Paint_DrawString_CN(10, 170, "微雪电子", &Font16_UTF8, EPD_WHITE, EPD_BLACK);
    Paint_DrawNum(10, 10, 123456789, &Font12, EPD_BLACK, EPD_WHITE);
    Paint_DrawNum(10, 40, 987654321, &Font12, EPD_WHITE, EPD_BLACK);
    Paint_DrawString_EN(145, 0, "Waveshare", &Font16, EPD_BLACK, EPD_WHITE);
    Paint_DrawString_EN(145, 35, "Waveshare", &Font16, EPD_GREEN, EPD_WHITE);
    Paint_DrawString_EN(145, 70, "Waveshare", &Font16, EPD_BLUE, EPD_WHITE);
    Paint_DrawString_EN(145, 105, "Waveshare", &Font16, EPD_RED, EPD_WHITE);
    Paint_DrawString_EN(145, 140, "Waveshare", &Font16, EPD_YELLOW, EPD_WHITE);

    printf("EPD_Display\r\n");
    EPD_Display(Image_Mono);
    vTaskDelay(pdMS_TO_TICKS(3000));
    #endif

运行效果

  • 屏幕刷新初始化清屏,显示图片,绘制基础图形、文字

5_SD_Test

【程序说明】

  • 该示通过读取 SD 卡中的 BMP 图片并在墨水屏上刷新显示

【硬件连接】

  • 使用 USB 线把板子接入电脑
  • 将保存有图片的 bmp 文件夹放入 SD 卡根目录,插入 SD 卡模块

【代码分析】

  • _sdcard_init:sd 卡初始化
  • GUI_ReadBmp_RGB_6Color("/sdcard/bmp/13in3E.bmp", 0, 0);:图片解码

【运行效果】

  • 串口打印 SD 信息
  • 读取显示 sd 卡图片


06_xiaozhi-esp32

【硬件连接】

  • 使用 USB 线把板子接入电脑
  • 将 SD 卡文件夹所有文件拷贝到 sdcard 上,插入 SD 卡模块

【程序说明】

  1. 根据自己的方式先下载 程序,解压之后,把 SD 卡文件目录下的所有文件拷贝到 sdcard 上
  2. 第一次开机会有一个配网的过程,语音会播报"进入配网模式",这个时候使用手机连接 Xiaozhi-xxx(xxx 表示不固定的)
  3. 配网成功之后,进入 小智控制台,添加对应的设备

  4. 三种工作模式:分别是基础模式(模式 1)、局域网服务器模式(模式 2)、AI 对话模式(模式 3)

模式 1

  1. 默认是 AI 对话模式(模式 3),通过长按 boot 按键,进入模式选择(语音会播报),然后单击 boot 按键表示基础模式(模式 1),再次长按 boot 按键即可进入该模式
  2. 可以把需要显示的照片添加到 sd 卡 img 目录下,只能接受 1600x1200 或者 1200x1600 的位深 24 位 BMP 格式的图片
  3. 单击 BOOT 按键即可显示 img 目录下的图片
  4. 可以通过 BOOT 按键切换图片

模式 2

  1. 长按 boot 按键,进入模式选择;单击 boot 按键两次,再次长按 boot 即可进入该模式
  2. 使用手机或者电脑连接 wifi:esp_network 密码:1234567890,连接成功之后,进入 图片选择界面,如图:

  3. 在网页内可直接选择、预览、推送图片到墨水屏显示
  4. 对于 AP 模式,首先使用手机或者电脑连接 wifi SSID:esp_network(密码:1234567890),然后访问地址:http://192.168.4.1/index.html
  5. 对于 STA 模式,首先使用模式 3 配置网络,然后访问地址:http://esp32-s3-photopainter-13_3.local/index.html

模式三

  1. 通过长按 boot 按键进入模式选择,单击 boot 按键三次,然后再长按 boot 按键即可进入该模式
  2. 初始化完成后,通过"你好,小智"唤醒词唤醒
  3. 唤醒之后即可正常对话
  4. 可以通过对话,获取 sd 卡 img 目录的图片数量并显示
  5. 关于 AI 生成图片的使用,比如可以说"帮我生成一张月球的图片",如果需要使用这个功能,需要配置火山引擎,具体的配置参考 火山引擎文生图配置

火山引擎文生图配置

  1. 首先需要得是获取密钥、模型名称、URL,目前使用得是测试模型,后续会停掉的,用户需要自己配置模型,相关代码段和 config.txt 文件里面相关配置如下:


  2. 先进入 火山引擎控制台

  3. 创建对应的模型,记得模型不要选错,如图:

  4. 复制对应的 key、model、url,如图

  5. 把复制好的 url、model、key 粘贴到 sdcard->img 目录下的 config.txt 文件对应键值(步骤 1 图 2)即可(新用户可以免费领取 Tokens)


相关资料

1. 硬件资料

开发板设计文件

2. 技术手册

3. 示例程序

4. 软件工具


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841