Micro Python運行在微控制器上的Python。遵守MIT協議。由劍橋大學的理論物理學家喬治·達明設計。和Arduino類似,但Micro Python更強大。
Micro Python的軟件特點:
- Python 3 語法.
- 完整的Python詞法分析器, 解析器,編譯器,虛擬機和運行時。
- 包含命令行接口,可離線運行。
- Python 字節碼由內置虛擬機編譯運行.
- 有效的內部存儲算法,能帶來高效的內存利用率。整數變量存儲在內存堆中,而不是棧中。
- 使用Python decorators特性,函數可以被編譯成原生機器碼,雖然這一特性會帶來大約2倍的內存消耗,但也使python有更快的執行速度。
- 函數編譯可設置使用底層整數代替python內建對象作為數字使用。有些代碼的運行效率可以媲美c的效率,並且可以被python直接調用,適合做時間緊迫性,運算復雜度高的應用。
- 通過內聯匯編功能,應用可以完全接入底層運行時,內聯匯編器也可以像普通的python函數一樣調用。
- 基於簡單和快速標記的內存垃圾回收算法,運行周期少於4ms,許多函數都可以避免使用棧內存段,因此也不需要垃圾回收功能。
一下為Micro Python的代碼片段:
- 控制LED閃爍:
- 讀取外部傳感器數據:
軟件組織結構:
- py/ –python核心實現,包含編譯器和runtime。
- unix/ — Unix版本的Micro Python.
- stm/ — 運行在STM32F405RG上Micro Python接口和底層驅動.
- unix-cpy/ –輸出字節碼的 Micro Python。
- tests/ — 測試框架和測試腳本test framework and test scripts.
- tools/ — dfu工具.
- logo/ –logo
Micro Python電路板:在Micro PythonPCB 上你可以通過Python代碼輕松控制微控制器的各種外設,比如LED等,讀取管腳電壓,播放歌曲,和其他設備聯網等等。
Micro Python的硬件特點:
- STM32F405RG MCU.
- 168 MHz Cortex-M4 CPU with 32-bit hardware floating point.
- 1 MiB flash storage, 192 KiB RAM.
- USB口, 支持 串口,通用存儲,HID協議。
- SD卡插槽。
- MMA76603軸加速度計.
- 4 LEDs, 1復位按鈕, 1通用按鈕.
- 3.3V0.3A板載 LDO , 可從USB口或者外置電池供電。
- 實時時鍾。
- 30個通用IO口,其中28個支持5V輸入輸出。
- 2個 SPI接口, 2個 CAN接口, 2個I2C接口, 5個USART接口.
- 14個 12-bit ADC引腳。
- 2個DAC 引腳。
PCB規格:
- 尺寸: 33mm * 40mm.
- 重量: 6 grams.
硬件設計文檔:
- 原理圖(eagle設計)
- gerbers文檔
- PCB設計文件(eagle設計)
- BOM 文件
- PYBv3的裝配說明
項目地址:micropython.org kickstarter地址:kickstarter.com
軟件源碼:micropython 硬件設計文件:pyboard