很多人知道Python,那MicroPython呢?

MicroPython 是澳大利亞程序員和物理學(xué)家 Damien George 在2013年一次成功的眾籌活動后創(chuàng)建的。MicroPython 和 CPython 在 Python 3 語法上保持高度的一致性,常用的標(biāo)準(zhǔn)語法命令都已經(jīng)支持。

熟悉Python的朋友都知道,Python語言有多種實(shí)現(xiàn)。如CPython、Jython、PyPy等??梢哉fMicroPython正是這Python大家族中的一員。但與其他Python成員不同的是,MicroPython更適用于嵌入式系統(tǒng),如ESP8266、ESP32等物聯(lián)網(wǎng)開發(fā)板。(在這里順便為那些不太熟悉Python語言的朋友提一下,CPython是目前最為流行的Python實(shí)現(xiàn),可以說 CPython 就是標(biāo)準(zhǔn)Python了。)

講到這里可能有的朋友會感到好奇,既然有了Python那為何還要多一個(gè)MicroPython呢?
Python與MicroPython所適用的系統(tǒng)在硬件資源和軟件環(huán)境上差別很大。舉例來說,ESP8266或ESP32這類物聯(lián)網(wǎng)開發(fā)板可供用戶使用的內(nèi)存只有幾Mb。而電腦或手機(jī)內(nèi)存最少也有1Gb。這兩者之間的差距可以說是天壤之別。
然而,請不要因?yàn)镸icroPython所面向的ESP8266等開發(fā)板具有較少的資源而輕視它。這只是由于分工不同而所需的硬件不同罷了。

C語言是嵌入式開發(fā)里最流行的語言。那MicroPython是不是有必要去學(xué)習(xí)呢? 為了解決您的這一問題,我在這里給您列出了一系列Python語言的優(yōu)勢。
動態(tài)開發(fā)

我們在使用C語言開發(fā)嵌入式系統(tǒng)時(shí),需要將寫好的程序編譯然后上傳開發(fā)板。如果修改了程序內(nèi)容,則需要再次編譯,再次上傳。這么做多多少少有些麻煩(經(jīng)常使用Arduino IDE的朋友都有體會,那個(gè)編譯速度的確讓人有點(diǎn)著急)。
而MicroPython是一種動態(tài)語言,我們無需編譯就可以直接讓開發(fā)板運(yùn)行程序內(nèi)容。同時(shí),我們在程序執(zhí)行過程中也可以動態(tài)的調(diào)整程序參數(shù),十分便于我們調(diào)試開發(fā)程序。
OTA開發(fā)

所謂OTA就是無需用電腦與開發(fā)板聯(lián)線就可以實(shí)現(xiàn)設(shè)備固件更新。MicroPython配有webrepl開發(fā)環(huán)境,便于我們使用WiFi對開發(fā)板進(jìn)行固件更新或修改。
更便捷的文件管理

使用MicroPython開發(fā)時(shí),開發(fā)板仿佛配有一個(gè)小型操作系統(tǒng)。我們可以隨意向開發(fā)板上傳文件內(nèi)容,并使用MicroPython管理系統(tǒng)來對這些文件進(jìn)行修改。開發(fā)板上還可以同時(shí)儲存多個(gè)固件程序,我們可以根據(jù)需要自行選擇固件運(yùn)行。
豐富的開源庫讓開發(fā)更加便捷

無論是控制電機(jī)、獲取傳感器信息還是使用HTTP協(xié)議或MQTT協(xié)議實(shí)現(xiàn)物聯(lián)網(wǎng)操作,MicroPython都配有豐富的開源庫供我們使用。我們不用再去研究底層硬件的控制方法,這將降低開發(fā)難度,減少重復(fù)開發(fā)工作,提高開發(fā)效率。換句話說,就是不用重復(fù)的發(fā)明輪子啦~
Python語言學(xué)習(xí)

Python語言是一門非常熱門的開發(fā)語言。尤其是近年隨著人工智能、大數(shù)據(jù)分析、人臉識別、圖像處理等領(lǐng)域的蓬勃發(fā)展,Python語言也變得越來越火熱。假如您對以上這些領(lǐng)域感興趣,那么Python是必須要掌握的技能。
MicroPython的優(yōu)點(diǎn)還有很多,在這里就不一一列舉了。但是也請留意,MicroPython也存在一些局限。由于需要實(shí)時(shí)運(yùn)行MicroPython開發(fā)環(huán)境,因此比起C語言來說,MicroPython所占用的開發(fā)板系統(tǒng)資源要更多。這也很正常,畢竟MicroPython提供的動態(tài)開發(fā)環(huán)境給我們提供了很多便利,那自然也就需要更多的資源來為MicroPython服務(wù)。
另外,利用MicroPython開發(fā)所能實(shí)現(xiàn)的功能,都可以使用C語言來實(shí)現(xiàn)。MicroPython開發(fā)只是為我們提供了一個(gè)新的開發(fā)渠道。

假如您希望了解MicroPython的學(xué)習(xí)方法,太極創(chuàng)客正在制作了一系列基于ESP8266物聯(lián)網(wǎng)開發(fā)板的MicroPython的圖文教程。您可以通過以下鏈接獲取詳細(xì)資料信息:
http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-micropython/
關(guān)于使用ESP8266學(xué)習(xí)物聯(lián)網(wǎng)開發(fā),我們制作了一系列入門教程。以下是該教程鏈接:

假如您也喜歡太極創(chuàng)客,希望您將本文“分享”給更多的人,讓更多朋友認(rèn)識我們。您的每一份點(diǎn)贊與投幣,都是對我們最溫暖的鼓勵(lì)與支持。謝謝~
