本教程介绍如何让OSOYOO 10.1 800 x 1280 DSI Touch Screen 在ESP32-P4-EV-Board 作为HMI人机交互设备使用
1)主控板 ESP32-P4 EV板是乐鑫(Espressif) 开源的一个开发测试板,细节见下面链接
https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/user_guide.html
很多第三方工厂按上面开源信息做了自己的板子, 比较有名的是微雪的ESP32-P4-DEV-KIT
https://www.waveshare.com/esp32-p4-module-dev-kit.htm
淘宝上也有其他工厂的板子,应该都可以用
2)硬件连接:
把OSOYOO 10.1“屏幕FFC软排线插入ESP32-P4-DEV-KIT的DSI端口(15pin),同时给10.1”屏接外接电源(JST X1.25 ).
ESP32-P4-DEV-KIT 通过USB Type C连ESP32-P4-DEV-KIT的Uart 端口,另外一端接电脑烧录固件
3)软件
ESP32-P4-DEV-KIT需要通过乐鑫官方 ESP-IDF5.5.1 来编译和烧录固件. 建议使用命令行方式而不是使用VS code来Build / Flash firmware. 详细教程和示例见下面教程:
https://github.com/osoyoo/esp32p4-osoyoo-lvgl-10inch/blob/main/SETUP_COMMAND_LINE.md
说明:
示例软件是在10寸屏幕上显示一个button,一段文字 Hello World!!! ,按button,会关闭或打开Hello World的文字显示状态并改变button 颜色.
3)定制UI
前面的UI一个按键控制hello world的显示是预先编好的lvgl代码. 如果想调节UI的lvgl显示代码(比方说加button, label,改字体)可以使用lvgl编辑软件(利润SquareLine Studio) 生成好. SquareLine LVGL version 设置为8.3.11 , Resolution设置为800 x 1280, 设备选择Desktop ->VS Code with SDL , Pixel Color Depth选择16bit

重新设计UI后,把UI文件Export到 ~/esp32p4-osoyoo-lvgl-10inch/main/ui/
然后运行下面命令:
cd ~/esp32p4-osoyoo-lvgl-10inch
sed -i ” ‘s/#include “lvgl\/lvgl.h”/#include “lvgl.h”/’ main/ui/ui.h
然后删除老固件代码
rm -rf build/main
重新编译新固件
idf.py build
烧录固件到ESP32-P4
idf.py -p PORT flash
上面这个烧录PORT指你的ESP32-P4 Uart在电脑上对应的USB口号,可以用下面命令查找:
ls /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.usbmodem5B5E1289471 /dev/cu.wchusbserial5B5E1289471
那么烧录命令就是
idf.py -p /dev/cu.wchusbserial5B5E1289471 flash
DownLoad Url osoyoo.com