Linux+MicroPython+esp8266 YES!

orangeQWJ發表於2021-04-22

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 工具 > 設定 > 直譯器

成了!!!

相關文章