MicroPython極精簡高效的實現了Python3語言,包含Python標準庫的一小部分,在單片機和受限環境中運行。python
1.一、MicroPython發展
由劍橋大學的理論物理學家喬治?達明設計,遵循MIT許可協議,與Arduino相似,擁有本身的解析器、編譯器、 虛擬機和類庫等,MicroPython更強大。目前它支持基於32-bit的ARM處理器,好比STM32F40五、STM32f407等,也就是說ARM處理器STM32F405上直接可運行Python語言,用Python語言來控制單片機。在單片機上能運行Python,實際上Python已經徹底脫離系統,也就是說,你能夠經過Python腳本語言開發單片機程序。編程
1.二、MicroPython支持的芯片
支持的mcu系列有:stm32f40五、stm32f407,也支持esp8266,接下來會加強stm32f103和esp32的穩定性,芯片將會擴展到FPGA和A7。安全
1.三、MicroPython固件
固件就是寫入EROM(可擦寫只讀存儲器)或EEPROM(電可擦可編程只讀存儲器)中的程序。是指設備內部保存的設備「驅動程序」,經過固件,操做系統才能按照標準的設備驅動實現特定機器的運行動做,好比光驅、刻錄機或手機等都有內部固件。網絡
主要由如下構成:
py/--核心python實現,包括編譯器、運行時和核心庫。
mpy cross/--用於將腳本轉換爲預編譯字節碼的Micropyhon交叉編譯器。
ports/unix/--在unix上運行的微星版本。
ports/stm32/--運行在Pyboard和相似的stm32板上的Micropyhon版本(使用st的cube-hal驅動程序)。
ports/minimal/--最小的Micropython端口。
tests/--測試框架和測試腳本。
docs/——sphinx格式的用戶文檔。呈現的HTML文檔可在http://docs.tpyboard.com上找到。框架
其餘組件
ports/bare-arm/--用於ARM MCU的最小MicroPython版本。主要用於控制代碼大小。
ports/teensy/--運行在teensy 3.1上的MicroPython版本(初步但功能正常)。
ports/pic16bit/--16位pic微控制器的MicroPython版本。
ports/cc3200/--在TI的cc3200上運行的Micropython版本。
ports/esp8266/--運行在espressf的esp8266 soc上的MicroPython版本。
ports/esp32/--運行在espressf的esp32 soc上的MicroPython版本。
ports/nrf/--在nrf51和nrf52 mcu上運行的MicroPython版本。
extmod/--在C中實現的附加(非核心)模塊。
tools/--各類工具
example/--幾個Python腳本示例。
Micropython當前最新版本是1.94,TPYBoard增長了顯示屏,紅外等經常使用接口驅動程序,能夠直接使用這些設備。模塊化
1.四、TPYBoard是什麼?
TPYBoard是一塊能裸機運行MicroPython的緊湊型電路板,提供了用於控制各類單片機接口的底層Python操做系統。是蘿蔔設計支持Micropython的開發板,國內第一塊有自主實用新型專利和商標,可運行MicroPython單片機。
MicroPython包含了諸如交互式提示,任意精度整數,關閉,列表解析,生成器,異常處理等高級功能。適合運行在只有256k的代碼空間和16k的RAM的芯片上。MicroPython旨在儘量與普通Python兼容,讓您輕鬆將代碼從桌面傳輸到微控制器或嵌入式系統。
當前TPYBoard有工具
V10x—主要是基礎的TPYBoard開發板。
V201—局域網通訊,有LAN網口的TPYBoard開發板。
V202—wifi通訊,支持wifi模塊的TPYBoard開發板。
V702—遠距離通訊的,支持SIM卡的TPYBoard開發板。學習
二、MicroPython能幹什麼測試
既然MicroPython是用Python語言能來控制單片機,那麼單片機能作什麼基本能反映出它能作什麼。仍是讓咱們一塊兒看一下單片機能幹什麼?ui
目前單片機滲透到咱們生活的各個領域,幾乎很難找到哪一個領域沒有單片機的蹤影。導彈的導航裝置,飛機上各類儀表的控制,計算機的網絡通信與數據傳輸,工業自動化過程的實時控制和數據處理,普遍使用的各類智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各類智能機械了。所以,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。單片機普遍應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大體可分以下幾個範疇:
2.一、智能儀器
單片機具備體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優勢,普遍應用於儀器儀表中,結合不一樣類型的傳感器,可實現諸如電壓、電流、功率、頻率、溼度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。採用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起採用電子或數字電路更增強大。 例如精密的測量設備(電壓表、功率計,示波器,各類分析儀)。
2.二、工業控制
單片機具備體積小、控制功能強、功耗低、環境適應能力強、擴展靈活和使用方便等優勢,用單片機能夠構成形式多樣的控制系統、數據採集系統、通訊系統、信號檢測系統、無線感知系統、測控系統、機器人等應用控制系統。例如工廠流水線的智能化管理,電梯智能化控制、各類報警系統,與計算機聯網構成二級控制系統等。在工業疏水閥檢測已經的到了實質性推廣應用。
2.三、家用電器
如今的家用電器普遍採用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其餘音響視頻器材、再到電子秤量設備和白色家電等。
2.四、網絡和通訊
現代的單片機廣泛具有通訊接口,能夠很方便地與計算機進行數據通訊,爲在計算機網絡和通訊設備間的應用提供了極好的物質條件,如今的通訊設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通訊呼叫系統、列車無線通訊、再到平常工做中隨處可見的移動電話,集羣移動通訊,無線電對講機等。
2.五、醫用設備領域
單片機在醫用設備中的用途亦至關普遍,例如醫用呼吸機,各類分析儀,監護儀,超聲診斷設備及病牀呼叫系統等等。
2.六、模塊化系統
某些專用單片機設計用於實現特定功能,從而在各類電路中進行模塊化應用,而不要求使用人員瞭解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別於磁帶機的原理),就須要複雜的相似於計算機的原理。如:音樂信號以數字的形式存於存儲器中(相似於ROM),由微控制器讀出,轉化爲模擬音樂電信號(相似於聲卡)。 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,下降了損壞、錯誤率,也方便於更換。
2.七、汽車電子
單片機在汽車電子中的應用很是普遍,例如汽車中的發動機控制器,基於CAN總線的汽車發動機智能電子控制器、GPS導航系統、abs防抱死系統、制動系統、胎壓檢測等。
2.八、其餘
單片機在工商、金融、科研、教育、電力、通訊、物流和國防航空航天等領域都有着十分普遍的用途。
在教育方面利用Python語言特性在青少年編程教育也獲得了實質性推廣應用。