文章目录
- 目的
- 库基础说明
- 库列表
- Python基础库
- 嵌入式设备相关库
- ESP32特有库
- 总结
目的
对于Python来说丰富的库是其使用快速简易的关键,这点对于MicroPython也一样,这篇文章就对MicroPython的库做个罗列和简单说明。
库基础说明
MicroPython库分为三部分。一部分是把基础Python中常用的库结合硬件特典重新实现的,为了做区分这部分库在命名上稍有改变,比如原版的 json
模块在MicroPython中改名为 ujson
,不过在使用的时候用 json
和 ujson
两个名称都可以。
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。还有一部分功能基于硬件开发而来,有机会的话会在后面写文章深入的讲解。