目的
對於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。還有一部分功能基於硬件開發而來,有機會的話會在後面寫文章深入的講解。