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

文章目录

  • 目的
  • 库基础说明
  • 库列表
    • Python基础库
    • 嵌入式设备相关库
    • ESP32特有库
  • 总结

目的

对于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()
ujson python数据类型和json相互转换 dump()、dumps()、load()、loads()
uos 文件系统相关操作 chdir()、listdir()、mkdir()
remove()、rename()
ure 正则表达式相关功能
uselect steam相关异步功能
usocket socket相关功能,用于网络通信
ussl SSL/TLS相关功能
ustruct 打包解包基础数据类型
utime 时间相关功能 time()、sleep()
uzlib 压缩与解压缩相关功能(当前只能解压缩)
_thread 多线程功能(还在试验中)

嵌入式设备相关库

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

ESP32特有库

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

总结

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

你可能感兴趣的:(ESP32相关)