屏和esp32引脚接线重新定义:
https://github.com/lvgl/lv_binding_micropython
去除Envo Storefront主题的底部版权信息
今天发现一个wordpress的主题不错,风格超赞,但底部的“自豪地采用wordprss及Envo Storefront”极其刺眼,到网上找了一圈,没有看到去除的方法,于是自己动手,发现这个主题厂家很鬼,将版权信息放在了一个特殊的地方,修改如下:



编译esp32-c3 lv-micropython固件
git clone -b v4.3.1 --recursive https://github.com/espressif/esp-idf.git
$ cd esp-idf
$ git checkout v4.3.1
$ git submodule update --init --recursive
$ cd esp-idf
$ ./install.sh # (or install.bat on Windows)
$ source export.sh # (or export.bat on Windows)
$ git clone https://github.com/lvgl/lv_micropython.git
$ cd ~/lv_micropython
$ git submodule update --init
$ cd lib/lv_bindings/
$ git submodule update --init
$ cd ~/lv_micropython/
$ make -C mpy-cross
对于编译过程中缺少的文件,find / -name xxxx,然后拷贝即可,估计是路径设置问题导致
编译esp32-c3 micropython lvgl
https://blog.csdn.net/qq_34440409/article/details/118365689
https://blog.csdn.net/wangyx1234/article/details/108554228
git clone https://github.com/lvgl/lv_micropython.git
cd lv_micropython
git submodule update --init
cd lib/lv_bindings/
git submodule update --init
编译mpy-cross工具:
cd ~/lv_micropython
make -C mpy-cross
编译unix端口的mpy:
make -C ports/unix/
编译好后测试下
./ports/unix/micropython
重新编译mpy:
cd lv_micropython/ports/unix
make clean
make -j
Demo测试
lvgl官方提供的测试例子在这个路径下:lib\lv_bindings\examples
可以用编译出来的micropython解释器去执行该目录下的测试脚本。
举个栗子:
打开/lib/lv_bindings/examples/advanced_demo.py文件,在末尾加入以下代码:
if __name__ == '__main__':
import time
while True:
time.sleep(1)
执行
./ports/unix/micropython lib/lv_bindings/examples/advanced_demo.py
编译esp32-c3
make -C mpy-cross
make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy
MicroPython端口到ESP32
这是 MicroPython 到乐鑫 ESP32 系列微控制器的端口。它使用ESP-IDF框架,MicroPython在FreeRTOS下作为任务运行。
支持的功能包括:
- REPL(Python prompt)over UART0。
- MicroPython任务的16k堆栈和大约100k的Python堆。
- 启用了MicroPython的许多功能:unicode,任意精度整数,单精度浮点数,复数,冻结字节码以及许多内部模块。
- 使用闪存的内部文件系统(目前大小为2M)。
- 机器模块带有GPIO,UART,SPI,软件I2C,ADC,DAC,PWM,触摸板,WDT和定时器。
- 支持无线局域网 (WiFi) 的网络模块。
- 通过蓝牙模块支持低功耗蓝牙 (BLE)。
该 ESP32 端口的初始开发部分由 Microbric Pty Ltd 赞助。
设置 ESP-IDF 和构建环境
ESP32 上的 MicroPython 需要乐鑫 IDF 版本 4(物联网开发框架,又名 SDK)。ESP-IDF 包括管理 ESP32 微控制器所需的库和 RTOS,以及管理构建固件所需的构建环境和工具链的方法。
ESP-IDF 变化很快,MicroPython 仅支持某些版本。目前,MicroPython 支持 v4.0.2、v4.1.1 和 v4.2,但其他 IDF v4 版本也可能有效。
要安装 ESP-IDF,可在乐鑫入门指南中找到完整说明。
如果您使用的是 Windows 机器,那么适用于 Linux 的 Windows 子系统是安装 ESP32 工具链和构建项目的最有效方法。如果您使用 WSL,请按照 Linux 说明而不是 Windows 说明进行操作。
乐鑫说明将指导您使用(或)脚本下载工具链并设置环境。要采取的步骤总结如下。install.sh
install.bat
要签出 IDF 的副本,请使用 git 克隆:
$ git clone -b v4.0.2 --recursive https://github.com/espressif/esp-idf.git
您可以替换为 或或任何其他受支持的版本。(您不需要完整的递归克隆;有关更详细的设置命令,请参阅此存储库中的函数。v4.0.2
v4.1.1
v4.2
ci_esp32_setup
tools/ci.sh
如果您已经拥有 IDF 的副本,请签出与 MicroPython 兼容的版本,并使用以下命令更新子模块:
$ cd esp-idf $ git checkout v4.2 $ git submodule update --init --recursive
克隆 IDF 并将其签出为正确版本后,运行以下脚本:install.sh
$ cd esp-idf $ ./install.sh # (or install.bat on Windows) $ source export.sh # (or export.bat on Windows)
该步骤只需执行一次。您将需要为每个新会话提供源。install.sh
export.sh
注意:如果您正在为 ESP32-S2、ESP32-C3 或 ESP32-S3 构建 MicroPython,请确保您使用的是以下必需的 IDF 版本:
- ESP32-S3 目前需要最新的 ,但最终或更晚可用时需要。
master
v4.4
- ESP32-S2 和 ESP32-C3 需要或更高版本。
v4.3.1
构建固件
必须构建MicroPython交叉编译器以将某些内置脚本预编译为字节码。这可以通过以下方式完成(从此存储库的根目录):
$ git clone https://github.com/lvgl/lv_micropython.git $ cd lv_micropython $ git submodule update --init $ cd lib/lv_bindings/ $ git submodule update --init $ cd ~/lv_micropython $ make -C mpy-cross
然后为 ESP32 运行构建 MicroPython:
$ cd ports/esp32 $ make submodules $ make
这将在子目录中生成一个组合映像(此固件映像由以下部分组成:引导加载程序.bin、分区.bin和 micropython.bin)。firmware.bin
build-GENERIC/
要刷新固件,您必须将 ESP32 模块置于引导加载程序模式并连接到 PC 上的串行端口。有关如何执行此操作,请参阅特定 ESP32 模块的文档。您还需要具有用户权限才能访问设备。在 Linux 上,您可以通过将用户添加到组,然后重新启动或注销并再次登录来启用此功能。(注意:在某些发行版上,这可能是组,请运行以检查。/dev/ttyUSB0
dialout
uucp
ls -la /dev/ttyUSB0
$ sudo adduser <username> dialout
如果您是首次将MicroPython安装到您的模块中,或者在安装任何其他固件之后,您应该首先完全擦除闪存:
$ make erase
要将 MicroPython 固件刷新到 ESP32,请使用:
$ make deploy
由上述命令构建的默认 ESP32 开发板是该版本,它应该适用于大多数 ESP32 模块。您可以通过传递给 make 命令来指定不同的电路板,例如:GENERIC
BOARD=<board>
$ make BOARD=GENERIC_SPIRAM
注意:上述“make”命令是作为 ESP-IDF 一部分的基础构建工具的精简包装器。您可以改为直接使用,例如:idf.py
idf.py
$ idf.py build $ idf.py -D MICROPY_BOARD=GENERIC_SPIRAM build $ idf.py flash
在设备上获取 Python 提示
您可以通过串行端口UART0获得提示,UART0与用于对固件进行编程的UART相同。REPL 的波特率为 115200,您可以使用如下命令:
$ picocom -b 115200 /dev/ttyUSB0
或
$ miniterm.py /dev/ttyUSB0 115200
您还可以使用 .idf.py monitor
配置无线网络和使用开发板
ESP32 端口在模块和面向用户的 API 方面(几乎)等同于 ESP8266。有一些小的区别,特别是 ESP32 在启动时不会自动连接到最后一个接入点。但在大多数情况下,ESP8266 的文档和教程应该适用于 ESP32(至少对于已实现的组件)。
有关快速参考,请参阅 http://docs.micropython.org/en/latest/esp8266/esp8266/quickref.html;有关教程,请参阅 http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html。
以下功能可用于连接到WiFi接入点(您可以传入自己的SSID和密码,或更改默认值,以便您可以快速呼叫并正常工作):wlan_connect()
def wlan_connect(ssid='MYSSID', password='MYPASS'): import network wlan = network.WLAN(network.STA_IF) if not wlan.active() or not wlan.isconnected(): wlan.active(True) print('connecting to:', ssid) wlan.connect(ssid, password) while not wlan.isconnected(): pass print('network config:', wlan.ifconfig())
请注意,某些主板要求您在使用 WiFi 之前配置 WiFi 天线。在像LoPy和WiPy 2.0这样的Pycom板上,你需要执行以下代码来选择内部天线(最好将此行放在 boot.py 文件中):
import machine antenna = machine.Pin(16, machine.Pin.OUT, value=0)
定义自定义 ESP32 开发板
默认的 ESP-IDF 配置设置由目录中的主板定义提供。对于自定义配置,您可以定义自己的主板目录。通过复制现有配置(如)并对其进行修改以适合您的主板来开始新的主板配置。GENERIC
boards/GENERIC
GENERIC
特定于 MicroPython 的配置值在特定于主板的文件中定义,该文件包含在 中。其他设置被放入 ,包括配置 ESP-IDF 设置的文件列表。目录中提供了一些标准文件,如 。您还可以在主板目录中定义自定义。mpconfigboard.h
mpconfigport.h
mpconfigboard.cmake
sdkconfig
sdkconfig
boards/
boards/sdkconfig.ble
有关配置的更多示例,请参阅现有主板定义。
配置故障排除
- 编程后连续重启:确保主板正确(例如 ESP-WROOM-32 应为 DIO)。然后执行 、重新生成、重新部署。
CONFIG_ESPTOOLPY_FLASHMODE
make clean
https://github.com/lvgl/lv_micropython
构建说明
Unix (Linux) 端口
sudo apt-get install build-essential libreadline-dev libffi-dev git pkg-config libsdl2-2.0-0 libsdl2-dev python3.8 parallelPython 3 是必需的,但如果需要,您可以安装其他版本的 python3 而不是 3.8。
git clone https://github.com/lvgl/lv_micropython.git
cd lv_micropython
git submodule update --init --recursive lib/lv_bindings
make -C mpy-cross
make -C ports/unix submodules
make -C ports/unix
./ports/unix/micropython
ESP32 端口
请为 esp-idf 安装目录设置参数。它需要与Micropython预期的esp-idf匹配,否则将显示警告(并且构建可能会失败)有关更多详细信息,请参阅设置工具链和ESP-IDFESPIDF
使用 IL9341 驱动程序时,需要将颜色深度和交换模式设置为与 ILI9341 匹配。这可以从命令行完成。以下是构建 ESP32 + LVGL 的命令,该命令与 ILI9341 驱动程序兼容:
make -C mpy-cross
make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy
关于参数的说明:
LV_CFLAGS用于覆盖颜色深度和交换模式,以实现 ILI9341 兼容性。
LV_COLOR_DEPTH=16如果您计划使用 ILI9341 驱动程序,则需要。
LV_COLOR_16_SWAP=1如果您计划使用纯微孔显示驱动程序,则需要。
BOARD- 我使用带有SPIRAM的WROVER板。您可以从目录中选择其他板。ports/esp32/boards/
deploy- make命令将创建Micropython的ESP32端口,并将尝试通过USB-UART桥部署它。
有关更多详细信息,请参阅 Micropython ESP32 自述文件。
JavaScript 端口
请参阅分支的自述文件:https://github.com/lvgl/lv_micropython/tree/lvgl_javascript_v8#javascript-portlvgl_javascript
树莓派皮库端口
此端口使用 C 模块的 Micropython 基础结构,并且必须提供:USER_C_MODULES
cd ports/rp2
make USER_C_MODULES=../../lv_bindings/bindings.cmake
参考
https://blog.csdn.net/qq_36953463/article/details/120378152
更换头文件:
cp /home/peter/micropython-esp32-homekit_ok/components/esp-idf/components/hal/esp32c3/include/hal/gpio_ll.h /home/peter/esp-idf/components/hal/esp32c3/include/hal/gpio_ll.h
https://github.com/espressif/esp-idf/blob/master/components/soc/esp32/include/soc/i2s_reg.h
重要参考:
https://github.com/bupthl/lv_micropython
分类目录电子爱好者