目录
- 0. 前言
- 1. 编写自己库的代码
- 2. 移植库
- 3. 验证
0. 前言
本节编译自己写的py库,增强移植性,往后烧录自己的固件即可轻易移植代码
没装好环境或者没有基础可以先看看这个:
Ubuntu下ESP-IDF的环境搭建
Ubuntu下编译esp32micropython固件编译
注意!全程在ESP-IDF虚拟环境完成
开发环境:ESP-IDF 4.2
操作系统:Ubuntu
开发板:自制的ESP32-WROOM-32E
1. 编写自己库的代码
如:
#led.py
#三色led灯操作
from machine import Pin
from neopixel import NeoPixel
import time
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)
PURPLE = (255, 0, 255)
CYAN = (0, 255, 255)
WHITE = (255, 255, 255)
OFF = (0, 0, 0)
COLOR = [RED,GREEN,BLUE,YELLOW,PURPLE,CYAN,WHITE,OFF]
class LED():
"""
初始化示例
ws2812b = LED(16)
ws2812b.circle()
ws2812b.color(CYAN)
"""
def __init__(self,GPIO):
global np
np = NeoPixel(Pin(GPIO, Pin.OUT), 1)
pass
def color(self,rgb):
np[0] = rgb
np.write()
def circle(self):
for i in COLOR:
np[0] = i
np.write()
time.sleep(0.3)
if __name__ == '__main__':
ws2812b = LED(16)
ws2812b.circle()
ws2812b.color(CYAN)
2. 移植库
将代码移植到micropython/ports/esp32/modules之中,你的modules目录之下要有你自己的库文件(如我的是led.py)
然后回到上一级目录重新make:
make clean
make
没有错误后可以烧录
idf.py -p /dev/ttyUSB0
3. 验证
能够正确导入库并且在文件系统中是看不到的