使用MicroPython開發ESP32(02):庫介紹

目的

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章