首頁 > 評測 > 再不學點Python,咱真老了--Adafruit Metro M0 Express開發(fā)板評測
再不學點Python,咱真老了--Adafruit Metro M0 Express開發(fā)板評測
- [導讀]
- 這塊板子可以看作是M0的翻版,但是把玩度高很多。首先是硬件參數(shù)提升了,更高的運行主頻及更大的存儲空間,完敗Arduino UNO R3!;其次,引入了CircuitPython的新式編程語言,一方面程序代碼更簡單,另一方面也為那些想要學習和了解Python的用戶提供了一個學習的理由;最后一點就是靈活的引導配置模式,使得在二種編程語言(c/c++及Python)之間可以靈活切換!
Mu聰明的地方在于它能將代碼保存到開發(fā)板映射到PC的磁盤上,將文件命名為sum.py并保存。然后看串口中是否有輸出。然而并沒有,仍然是main.py程序的輸出!
原來,CircuitPython在處理程序的執(zhí)行時,會遵循一定的規(guī)則。CircuitPython會在磁盤上依次查找code.txt, code.py, main.txt及main.py,找到并執(zhí)行第一個程序。咱們將上述代碼保存為sum.py,根本不是上述文件之列,所以剛創(chuàng)建的文件根本就不會運行!
明白了這一點,就好辦了。只需要將sum.py更名為code.py就可以了,試試!
更名后的代碼文件即時生效了,如下
可以看到咱們期望的結果了。
不止如此,提示還給出了一些有用的信息,比如"Auto-reload is on"這句話告訴我們,代碼文件修改并保存后會即時生效,同時我們也看到了code.py執(zhí)行會優(yōu)先于main.py。
最后一個有趣的地方在于,當code.py執(zhí)行完畢后,我們可以按任意鍵進入REPL環(huán)境,如下
確實很好很強大!
不過我們前面提到Mu這個IDE時也說了,Mu本身就提供了一個REPL環(huán)境,
下面這個窗口就是REPL環(huán)境了,這是個很有用的窗口,例如我們想看看開發(fā)板GPIO接口的命名,可以在REPL里執(zhí)行如下命令
熟悉Arduino編程的用戶一定對A0、A1這些接口耳熟能詳,所以,如果要引用其中一個接口,按照Python的規(guī)則,應該是board.XX,其中XX就是上面列出的名稱了。
好,下面開始正式點燈,編輯如下代碼
很光棍的一段代碼,當然也好懂!保存,然后就自動運行了。看到LED燈閃啊閃,串口也有對應的輸出。
然而問題來了,Cpython中的哪些庫可以用呢?這個可以參考官方的文檔,參見附錄。上面代碼中用到的一些庫都在參考資源中列出來了,花5分鐘熟悉一下!
說了半天,CircuitPython是啥?CircuitPython是大名鼎鼎的MicroPython的再移植產品,專門為Adafruit的部分硬件定制。
除了支持Python,開發(fā)板也支持Arduino模式開發(fā)。按照Arduino一般的開發(fā)模式,首先要下載并安裝對應的板級庫文件,Metro M0 Express也不例外,如下
確定后,就可以在Arduino的開發(fā)板管理器里添加對應的開發(fā)板類型了。這里碰到一點糟心的事,就是官方的PDF文檔里舉例使用的是另一款開發(fā)板,不是針對Metro M0 Express的,花了很長時間安裝后卻發(fā)現(xiàn)找不到Metro M0 Express這一開發(fā)板型號,重新在網頁版里找到了正確的庫文件后才解決!因為Arduino現(xiàn)在支持的開發(fā)板種類太多,很多開發(fā)板的命名也比較相似,結果往往就是找錯了對象,鬧了笑話,浪費了時間!
下圖是正確安裝了軟件庫后顯示的板卡名稱
現(xiàn)在可以打開一個blink程序來點燈了,編譯并上傳的結果如下
LED燈又開始閃爍了。
不過問題又來了,Python不能用了!
這是正常現(xiàn)象,現(xiàn)在的存儲空間被ARDUINO程序占用了,所以PYTHON當然也就不能用了。怎么辦呢,下面是切換回Python的方法。
首先雙擊開發(fā)板上的復位鍵,進入bootloader模式,此時PC端映射的盤符會變成METROBOOT,里面有3個文件,如下
從附錄給出的CircuitPython參考里下載一個擴展名為.bin的文件,注意不要下載錯了,必須是針對Metro M0的.bin文件,然后拖動到映射的盤符里,等待大約15秒鐘,奇跡出現(xiàn)了,CircuitPython又出現(xiàn)了。只是此時的CircuitPython里還沒有創(chuàng)建可運行的Python文件,自己寫一個,命名為code.py或main.py,然后丟到映射盤里,又可以了!
總體來說,Metro M0 Express還是很好玩的。首先是硬件參數(shù)提升了,更高的運行主頻及更大的存儲空間,完敗Arduino UNO R3!;其次,引入了CircuitPython的新式編程語言,一方面程序代碼更簡單,另一方面也為那些想要學習和了解Python的用戶提供了一個學習的理由;最后一點就是靈活的引導配置模式,使得在二種編程語言(c/c++及Python)之間可以靈活切換!
至于配置過程中碰到的文檔不一致的問題,只能怪筆者看文檔的時候不夠細心,不過如果官方在整理文檔時,針對性更具體一點,也許用戶的體驗會更好一點吧!
附錄:
CircuitPython參考:https://github.com/adafruit/circuitpython
-
- 本文系21ic原創(chuàng),未經許可禁止轉載!
網友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設計
預算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預算:¥5000023小時前
- PLC項目調試修改
預算:¥100001天前
- 起動電機控制器開發(fā)
預算:¥1100001天前