ESP32-S3-PhotoPainter 使用教程

说明

各项参数

显示尺寸160.0mm × 96.0mm
外形尺寸154.0mm × 214.0mm × 32.0mm
屏幕像素点距0.2mm × 0.2mm
屏幕分辨率800 × 480
显示颜色黑、白、绿、蓝、红、黄
灰度等级2
刷新时间12s
休眠电流< 0.01uA(接近0)
充电电压/工作电压5V
  • 刷新时间:刷新时间为实验测试数据,实际刷新时间会有误差,以实际效果为准。全局刷新过程中会有闪烁效果,这个是正常现象。

使用

功能介绍


  1. PWR按键:单击该按键可打开系统电源,长按该按键可关闭系统电源;系统电源打开的情况下,单击可进入睡眠模式。
  2. BOOT按键:切换图片和进入下载模式
  3. KEY:睡眠模式唤醒,模式切换。
  4. ACT指示灯:刷屏,闪烁
  5. PWR指示灯:可操作指示灯,练起表示可以进行操作

产品使用

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

4.本产品有三种工作模式,分别是基础模式(模式1)、局域网服务器模式(模式2)、AI对话模式(模式3),接下来详细描述怎么去使用这三种模式

模式1

1.默认是AI对话模式(模式3),通过长按KEY按键,进入模式选择(语音会播报),然后单击KEY按键表示基础模式(模式1),再次长按KEY按键即可进入该模式
2.可以把需要显示的照片添加到sd卡06_user_Foundation_img目录下,只能接受800x480或者480x800的位深24位BMP格式的图片,图片是需要经过抖动的,具体可以查看图片制作,如果有兴趣的话,也可以查看我们提供的代码,代码里面也是具备抖动算法的,用户也可以修改加以使用,如下图:

3.单击BOOT按键即可显示06_user_Foundation_img目录下的图片,显示完图片之后自动进入睡眠模式。
4.可以通过BOOT按键唤醒和切换图片,也可以单击KEY按键实现唤醒不切图。
5.在睡眠模式的时候,有定时唤醒,可以通过06_user_Foundation_img目录下的config.txt文件设置,具体代码段和文件位置如下:


模式2

1.如果产品处于低功耗模式,需要先单击KEY按键进行唤醒,然后再长按KEY按键,进入模式选择;单击KEY按键两次,再次长按KEY即可进入该模式
2.使用手机或者电脑连接wifi:esp_network 密码:1234567890,连接成功之后,进入图片选择界面,如图:

3.点击input选择对应的图片(图片必须是24位深的800x480或者480x800的图片,而且还是经过抖动的),具体可以查看图片制作,点击Send即可发送对应的图片到相框
4.如果需要进入低功耗,可以直接断开WIFI的连接即可,产品会每隔30s唤醒一次,具体代码段如下,用户可以自行修改,连接成功WIFI之后禁止睡眠

模式3

1.通过长按KEY按键进入模式选择,单击KEY按键三次,然后再长按KEY按键即可进入该模式
2.初始化完成之后,会自动获取近4天的天气预报
3.等待屏幕显示完成即可进行对话,唤醒词是"你好,小智"
4.唤醒之后即可正常对话
5.可以通过MCP显示sd卡05_user_ai_img的图片,获取sd卡05_user_ai_img目录的图片数量,还具备图片评分,具体MCP服务对应代码如下,用户可以DIY自己的MCP服务:

6.关于AI生成图片的使用,比如可以说"帮我生成一张月球的图片",如果需要使用这个功能,需要配置火山引擎,具体的配置参考火山引擎文生图配置
7.对图片进行评分之后,间隔30分钟轮播一次图片,对应代码如下,可以语音进行重置评分

火山引擎文生图配置

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


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

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

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

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

图片制作

  • 使用PS等工具制作散点图,请参考:使用Photoshop制作散点图
  • 使用我们编写的工具转换图片,应用程序及源代码:六色抖动图片转换工具
    • 该程序可将图片转换成合适的分辨率并使用抖动算法进行优化,支持绝大多数格式的图片,会识别图片的方向并自动拉伸和剪裁
    • 使用方法:直接将图片拖放到“convert.exe”上面可以进行单张转换图片,或者将所有图片放到文件夹中然后双击“converterTo6color_all.cmd”进行批量转换
    • 注意:该程序仅为了方便客户使用而开发并开源,不对其提供技术支持

Windows使用工具

  • 单张图片转换

将图片拖到 convert.exe 上即可

  • 批量转换图片

将图片、convert.exe、converterTo6color_all.cmd 放在一个文件夹里面,然后双击converterTo6color_all.cmd 即可

MAC使用工具

将图片、convert、converterTo6color_all 放在一个文件夹
打开终端,进入对应的文件夹

cd xxxx/xxx/xxx/
  • 单张图片转换

输入命令,给予convert可执行权限

sudo chmod +x convert

转换图片

./convert 图片名称
  • 批量转换图片

要先对 convert 文件进行权限操作给予后才行
输入命令,给予converterTo6color_all.sh可执行权限

sudo chmod +x converterTo6color_all.sh

转换图片

./converterTo6color_all.sh

开发说明

  • 注意:本程序友情开源,不对其提供技术支持(有bug欢迎反馈)。
  • 程序基于 ESP-IDF 的 C/C++ SDK 编写,使用 CMAKE 编译,理论支持多平台,相关环境请自行搭建。
折叠

ESP-IDF环境搭建

下载和安装 Visual Studio

  • 打开VScode官网的下载页面,选择对应系统和系统位数进行下载

  • 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项

    • 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
    • 第三项开启后,选择打开方式时,可以直接选择VSCode
环境设置是在 Windows 10 系统下进行,Linux和Mac用户可访问ESP-IDF环境搭建参考

安装Espressif IDF插件

  • 一般推荐“在线安装”, 若因网络因素无法在线安装,则使用“离线安装”。
  • 安装Espressif IDF插件教程,详见:安装Espressif IDF插件教程

运行第一个 ESP-IDF 程序

折叠
如果你刚入门学习ESP32和ESP-IDF,还不知道如何创建、编译、烧录和运行ESP-IDF程序,那么请展开看看,希望可以帮助到你!

新建项目




创建例程

  • 使用快捷键 F1 ,输入esp-idf:show examples projects


  • 选择你当前的IDF版本


  • 以Hello world例程为例

①选择对应例程
②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
③点击创建例程

  • 选择放置例程的路径,要求无例程同名文件夹


修改COM口

  • 此处显示使用对应的COM口,点击可以修改对应COM口
  • 请根据设备对应COM口进行选择(可通过设备管理器查看)
  • 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,等待 PC 端重新识别到设备后再次下载


修改驱动对象

  • 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3


  • 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可



其余状态栏简介

①.ESP-IDF开发环境版本管理器,当我们的工程需要区分开发环境版本时,可以通过安装不同版本的ESP-IDF来分别管理,当工程使用特定版本时,可以通过使用它来切换
②.设备烧录COM口,选择以将编译好的程序烧录进芯片上
③.set-target 芯片型号选择,选择对应的芯片型号,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片
④.menuconfig,点击修改sdkconfig配置文件内容,项目配置详细资料
⑤.fullclean 清理按钮,当工程编译报错或其他操作污染编译内容时,通过点击清理全部编译内容
⑥. Build 构建工程,当一个工程满足构建时,通过此按钮进行编译
⑦.当前下载方式,默认为UART
⑧.flash烧录按钮,当一个工程Build构建通过时,选择对应开发板COM口,点击此按钮可以将编译好的固件烧录至芯片
⑨.monitor开启烧录口监控,当一个工程Build-->flash后,可通过点击此按钮查看烧录、调试口输出的l0g,以便观察应用程序是否正常工作
⑩.Debug调试
⑪.Build Flash Monitor 一键按钮,用于连续执行Build-->Flash-->Monitor,常被称作小火苗


编译、烧录、串口监视

  • 点击我们之前介绍的 编译,烧录,打开串口监视器按键

ESP32-S3-AMOLED-1.91-study-11.png

  • 编译可能需要较长时间才能完成,尤其是在第一次编译时


  • 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿
  • 若是新工程首次烧录程序,将需要选择下载方式,选择 UART


  • 后续也可在 下载方式 处进行修改(点击即可弹出选项)


  • 因为板载自动下载电路,无需手动操作即可自动下载
  • 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启



使用IDF 示例程序

下文以使用“ESP32-S3-LCD-1.47-Demo”为例介绍工程的两种打开方式及使用的一般步骤、ESP-IDF工程项目详解,若使用其他工程,操作步骤类推。

软件内部打开

  • 打开 VScode 软件,选择文件夹打开示例


  • 选择提供的 ESP-IDF 下的示例,点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下)



软件外部打开

  • 正确选择工程目录,打开工程,否则会影响后续程序编译烧录


  • 连接设备后,选择好COM口和型号,点击下方编译并烧录即可实现程序控制


ESP-IDF工程项目详解

  • 组件(Component):ESP-IDF中的组件是构建应用的基本模块,每个组件通常是相对独立的代码库或库,能实现特定的功能或服务,可以被应用程序或是其他组件重复使用,类似于Python开发中的库的定义。
    • 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过CMakeLists.txt进行配置和定义的。
    • CmakeLists.txt的作用:ESP-IDF编译时编译工具CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则,识别需要编译的内容。当在CMakeLists.txt中引入了需要的组件、程序后,编译工具CMake会根据索引导入每个所需要编译的内容。编译过程如:


修改COM口

  • 此处显示使用对应的COM口,点击可以修改对应COM口
  • 请根据设备对应COM口进行选择(可通过设备管理器查看)
  • 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,等待 PC 端重新识别到设备后再次下载


修改驱动对象

  • 选择我们需要驱动的对象,下图以主芯片为ESP32S3 以例(用户根据手头实物板子的主控芯片对应设置)


  • 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可


其余状态栏简介

①.ESP-IDF开发环境版本管理器,当我们的工程需要区分开发环境版本时,可以通过安装不同版本的ESP-IDF来分别管理,当工程使用特定版本时,可以通过使用它来切换
②.设备烧录COM口,选择以将编译好的程序烧录进芯片上
③.set-target 芯片型号选择,选择对应的芯片型号,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片
④.menuconfig,点击修改sdkconfig配置文件内容,项目配置详细资料
⑤.fullclean 清理按钮,当工程编译报错或其他操作污染编译内容时,通过点击清理全部编译内容
⑥. Build 构建工程,当一个工程满足构建时,通过此按钮进行编译
⑦.当前下载方式,默认为UART
⑧.flash烧录按钮,当一个工程Build构建通过时,选择对应开发板COM口,点击此按钮可以将编译好的固件烧录至芯片
⑨.monitor开启烧录口监控,当一个工程Build-->flash后,可通过点击此按钮查看烧录、调试口输出的l0g,以便观察应用程序是否正常工作
⑩.Debug调试
⑪.Build Flash Monitor 一键按钮,用于连续执行Build-->Flash-->Monitor,常被称作小火苗


编译、烧录、串口监视

  • 点击我们之前介绍的 编译,烧录,打开串口监视器按键


  • 编译可能需要较长时间才能完成,尤其是在第一次编译时


  • 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿
  • 若是新工程首次烧录程序,将需要选择下载方式,选择 UART


  • 后续也可在 下载方式 处进行修改(点击即可弹出选项)


  • 因为板载自动下载电路,无需手动操作即可自动下载
  • 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启



使用IDF 示例程序

下文以使用“ESP32-S3-LCD-1.47-Demo”为例介绍工程的两种打开方式及使用的一般步骤、ESP-IDF工程项目详解,若使用其他工程,操作步骤类推。

软件内部打开

  • 打开 VScode 软件,选择文件夹打开示例


  • 选择提供的 ESP-IDF 下的示例,点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下)



软件外部打开

  • 正确选择工程目录,打开工程,否则会影响后续程序编译烧录


  • 连接设备后,选择好COM口和型号,点击下方编译并烧录即可实现程序控制


ESP-IDF工程项目详解

  • 组件(Component):ESP-IDF中的组件是构建应用的基本模块,每个组件通常是相对独立的代码库或库,能实现特定的功能或服务,可以被应用程序或是其他组件重复使用,类似于Python开发中的库的定义。
    • 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过CMakeLists.txt进行配置和定义的。
    • CmakeLists.txt的作用:ESP-IDF编译时编译工具CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则,识别需要编译的内容。当在CMakeLists.txt中引入了需要的组件、程序后,编译工具CMake会根据索引导入每个所需要编译的内容。编译过程如:


软件工具

Arduino

VScode

固件烧录工具

FAQ

问题:TF卡拆卸与安装

1、为了安全起见,需要将USB断开,长按PWR(5s)关机再进行更换


问题:typeC接口是否能供电

是可以给锂电池供电的。


问题:固件下载不进去?

长按PWR按键(5s),然后按住BOOT按键,再单击PWR按键即可进入下载模式。


售后

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

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841

TAG: Jetson Orin 5G 4G 3G扩展板GNSS GPS RM520N-GL RP2040 1.5寸LCD 树莓派摄像头MLX90641红外热像仪模块 16×12像素适用于Arduino/STM32 PoE以太网继电器 树莓派Pico 1.14寸LCD 8.8寸USB电脑机箱副屏RGB/桌搭氛围屏LCD1920x480带拾音功能 树莓派5 PCIE转4通道M.2 NVME SSD固态硬盘PI5转接板扩展 家用办公商务教学会议一体机 树莓派7寸DSI MIPI显示屏LCD 720x1280 ESP32-P4 Luckfox Lyra RK3506/Omni3576 树莓派5 27W电源 Milk-V Duo S 512MB SG2000 RISC-V UART串口控制台 AW-CB375N无线网卡 2.4G/5GHz双频RTL8822CE-CG核心WiFi蓝牙5.0无线模块 USB转RS485 RP2040远距离通信 刷机线 树莓派5 PCIe转USB HUB 3.2 Gen1 PI5高速USB接口 5G转千兆以太网 程序员键盘 450纳米高精度激光器模组可调焦距激光雕刻激光3D打印 树莓派固态硬盘扩展板