使用MicroPython开发ESP32(02):库介绍

目的

对于Python来说丰富的库是其使用快速简易的关键,这点对于MicroPython也一样,这篇文章就对MicroPython的库做个罗列和简单说明。

库基础说明

MicroPython库分为三部分。一部分是把基础Python中常用的库结合硬件特典重新实现的,为了做区分这部分库在命名上稍有改变,比如原版的 json 模块在MicroPython中改名为 ujson ,不过在使用的时候用 jsonujson 两个名称都可以。
MicroPython库第二部分是嵌入式设备特有的,比如 machine 库,该库中包含了对CPU、外设等片上资源相关的操作。
MicroPython库第三部分是特定模块特有的,比如 esp32 库,该库是esp32特有的。

更多的内容可以参考官方文档:
http://docs.micropython.org/en/latest/library/index.html#

库列表

Python基础库

名称说明内容举例
Builtin内建函数和异常
(不需要引入模块)
abs()、pow()、max()、min()
bin()、hex()
input()、print()
len()、range()、next()
math浮点运算相关函数cos()、exp()、log()、sin()
e、pi
cmath复数运算相关函数cos()、exp()、log()、sin()
e、pi
gc垃圾回收控制enable()、disable()、collect()
sys系统相关功能exit()
stdin()、stdout() (标准输入输出流)
uarray数组相关功能
ubinascii二进制和ASCII格式转化hexlify()、unhexlify()
a2b_base64()、b2a_base64()
ucollections集合相关内容
uerrno定义了一些错误码
uhashlib哈希和信息摘要算法sha256、sha1、md5
uheapq堆相关操作heappush()、heappop()、heapify()
uio流和文件相关操作open()
ujsonpython数据类型和json相互转换dump()、dumps()、load()、loads()
uos文件系统相关操作chdir()、listdir()、mkdir()
remove()、rename()
ure正则表达式相关功能
uselectsteam相关异步功能
usocketsocket相关功能,用于网络通信
usslSSL/TLS相关功能
ustruct打包解包基础数据类型
utime时间相关功能time()、sleep()
uzlib压缩与解压缩相关功能(当前只能解压缩)
_thread多线程功能(还在试验中)

嵌入式设备相关库

名称说明内容举例
btreeBTree数据库
framebuf帧缓冲模块,可以用于图形输出等
machine包含了对模块上CPU、外设等片上资源相关的操作reset()、soft_reset()、reset_cause()
disable_irq()、enable_irq()
lightsleep()、deepsleep()
Pin、ADC、UART、SPI、I2C
RTC、WDT、SDCard
micropythonmicropython解释器与系统相关内容
network网络搜索、连接、建立AP等相关操作connect()、scan()、ifconfig()
urequests用于HTTP访问
这个库没有出现在文档中,但是可以用-.-!
ubluetooth蓝牙相关操作
ucryptolib加密解密等功能
uctypes提供与C兼容功能

ESP32特有库

名称说明内容举例
espesp8266和esp32特有的
该库中部分函数是esp8266特有的
flash_size()
esp32esp32特有库raw_temperature()、hall_sensor()、RMT

总结

MicroPython的库比较多,部分功能是从CPython移植过来的,这部分功能更多的可以参考CPython。还有一部分功能基于硬件开发而来,有机会的话会在后面写文章深入的讲解。

  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
MicroPython-ESP32 是一个专门为 ESP32 设计的 MicroPython ,它提供了许多 ESP32 的驱动程序和功能模块,可以方便地在 ESP32开发 MicroPython 项目。 MicroPython-ESP32 包含了以下功能模块: - machine:提供了访问 GPIO、ADC、PWM、I2C、SPI、UART 等硬件资源的方法。 - network:提供了访问 WiFi、Ethernet 等网络资源的方法。 - time:提供了时间相关的方法,如获取当前时间、延时等。 - uos:提供了文件系统相关的方法,如创建文件、删除文件等。 - ujson:提供了 JSON 编码和解码的方法。 - urequests:提供了访问 HTTP 网络资源的方法。 - usocket:提供了访问 Socket 网络资源的方法。 - ustruct:提供了字节序列和 C 结构体之间转换的方法。 - utime:提供了时间相关的方法,如获取当前时间、延时等。 使用 MicroPython-ESP32 很简单,只需要将文件拷贝到 ESP32 上,并在 MicroPython 代码中引入需要的模块即可。例如,以下代码演示了如何使用 MicroPython-ESP32 中的 machine 模块控制 ESP32 的 GPIO: ```python import machine # 配置GPIO 2为输出模式 p2 = machine.Pin(2, machine.Pin.OUT) # 将GPIO 2输出高电平 p2.value(1) # 将GPIO 2输出低电平 p2.value(0) ``` 需要注意的是,MicroPython-ESP32 使用需要先安装 MicroPython 固件。可以从 MicroPython 官方网站下载 ESP32MicroPython 固件,并使用 esptool.py 工具将固件烧录到 ESP32 上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Naisu Xu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值