MicPython
MicroPython是澳大利亞程序員和物理學家Damien George在2013年一次成功的眾籌活動后最初創建的。MicroPython 和 CPython 在 Python 3 語法上保持高度的一致性,常用的標准語法命令都已經支持
Python語言有多種實現。如CPython、Jython、PyPy等。可以說MicroPython正是這Python大家族中的一員。但與其他Python成員不同的是,MicroPython更適用於嵌入式系統,如ESP8266、ESP32、Pico樹莓派等物聯網開發板。CPython是目前最為流行的Python實現,可以說CPython就是標准Python了。
既然有了CPython那為何還要多一個MicroPython呢?
Python與MicroPython所適用的系統在硬件資源和軟件環境上差別很大。物聯網開發板可供用戶使用的的內存只有幾Mb。而電腦或手機內存最少也有1Gb,天壤之別。
通常嵌入式開發里最流行的語言是C,學習Python或MicroPython是不是多此一舉呢? 咱就玩玩,怎么方便,怎么快樂怎么來!人生苦短,快用python。用這個有啥優勢呢
動態開發
使用C語言開發時,需要將寫好的程序編譯成二進制文件然后上傳開發板。如果修改程序內容,則需要再次編譯,再次上傳。賊麻煩(你要是用過Arduino IDE你就知道,那個編譯速度 嘖)。而MicroPython是一種動態語言。無需編譯就可以直接讓開發板運行程序內容。同時,我們在程序執行過程中也可以動態的調整程序參數,十分便於我們調試程序。
OTA開發
所謂OTA就是無需用電腦與開發板聯線就可以實現設備固件更新。MicroPython配有webrepl開發環境,便於我們使用WiFi對開發板進行固件更新或修改。wifi一連,啪就上去了,很快啊!
更便捷的文件管理
MicroPython固件一刷,ESP8266就像個一個小型操作系統,文件系統都有了,還要啥自行車。
豐富的開源庫讓開發更加便捷
和Arduino一樣MicroPython也有非常豐富的開源庫供我們使用。無論是控制電機、取傳感器信息還是使用HTTP協議或MQTT協議、實現物聯網操作。這可比用C開發快多了,MicoPython代碼跑的可能不如用C寫的編譯好的二進制快,who care
搭建環境
linux+esp8266+micpython 咱們當然是在linux下整!
第一步:確定端口
確定你的esp8266的端口號
注意這時候還沒有將你的esp8266插入電腦
esp8266連入電腦
多了個/dev/ttyUSB0
沒錯,你的esp8266對應的端口號就它了。
linux一切皆文件,來瞅瞅這個文件的屬性,看看我們一會兒有沒有權限通過這個文件刷入固件MicoPython固件。
果然沒有權限。 自己加!
權限777 加滿 能要的俺全要。
不用太擔心安全性,等你usb一拔,再插上權限又都沒了。ttyUSB0是個臨時文件
第二步:下載固件
MicroPython官網 www.micropython.org下載固件
第三步:擦、刷
# 安裝工具
pip install esptool
#先擦
~/.local/bin/esptool.py --port /dev/ttyUSB0 erase_flash
#后刷
~/.local/bin/esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 ./esp8266-20210420-unstable-v1.15.bin
行了,你的esp8266現在就像個小操作系統啦,能解釋MicoPython程序了
第四步:開發環境
我們來看看
安裝thonny
# Arch 系列
sudo pacman -S thonny
#ubuntu
sudo apt install thonny
打開thonny 工具 > 設置 > 解釋器
成了!!!