文章目录

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