目的
对于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。还有一部分功能基于硬件开发而来,有机会的话会在后面写文章深入的讲解。