首頁(yè) > 評(píng)測(cè) > 用Python來(lái)做嵌入式開發(fā)——Adafruit PyBoard評(píng)測(cè)

用Python來(lái)做嵌入式開發(fā)——Adafruit PyBoard評(píng)測(cè)

python   Adafruit   PyBoard   STM32F405   
  • 作者:小淘氣
  • 來(lái)源:21ic
  • [導(dǎo)讀]
  • Python被譽(yù)為膠水語(yǔ)言,在圖形處理,數(shù)學(xué)處理,Web編程,多媒體應(yīng)用等領(lǐng)域均發(fā)光發(fā)彩。而在嵌入式領(lǐng)域,MicroPython也自己的一席之地。

輸入help()命令后會(huì)顯示,PyBoard的基本操作命令,如下圖:

PyBoard13.jpg

PyBoard上安裝了4個(gè)LED分別為紅綠黃藍(lán),原理圖如下圖:

PyBoard14.jpg

在help中已經(jīng)介紹完了LED的控制方法,通過(guò)pyb.LED()控制

pyb.LED(n) n代表LED的編號(hào),1代表紅色LED,2代表綠色LED,3代表黃色LED,4代表藍(lán)色LED。

pyb.LED(n).on()點(diǎn)亮LED

pyb.LED(n).off()關(guān)閉LED

pyb.LED(n).toggle()翻轉(zhuǎn)LED

pyb.LED(n).intensity([value])這里可以設(shè)置LED的亮度,value取值范圍是0-255,0為關(guān),255位最亮

接下來(lái)我們將4個(gè)led全部點(diǎn)亮,如下圖:

PyBoard15.jpg

點(diǎn)亮后如下圖:

PyBoard16.jpg

原理圖如下:

PyBoard17.jpg

紅綠藍(lán)LED,亮度很高,相比之下黃色LED稍微弱一點(diǎn),從原理圖來(lái)看,藍(lán)色LED的限流電阻偏小,猜測(cè)是為了將亮度調(diào)整的相近,但是結(jié)果是黃色的LED似乎略有些暗。

其實(shí)小編倒是有別的想法,現(xiàn)在使用RGB LED的越來(lái)越多了,其實(shí)RGB LED就相當(dāng)于三顆獨(dú)立的LED封裝到一起了,這樣封裝小,更適合這樣比較緊湊的板子。并且RGB LED還可以設(shè)計(jì)出更多的顏色,增加可玩性。

MicroPython腳本語(yǔ)言最大的優(yōu)點(diǎn)就是,輸入命令后馬上就可以看到效果,比我們最熟悉的Arduino更方便更高效,因?yàn)樯倭司幾g,下載的步驟。因?yàn)镻ython本來(lái)就是解釋型語(yǔ)言,MicroPython的命令也比較簡(jiǎn)單,容易理解,容易使用,可以說(shuō)更容易上手。

接下來(lái)我們?cè)僭囍x取加速度傳感器的值,如下圖:

PyBoard18.jpg

總體來(lái)講使用非常方便。

如果將MicroSD卡插入上電,PYBoard會(huì)默認(rèn)從SD卡啟動(dòng)來(lái)替代原本從MCU的ROM中啟動(dòng)。但是前提是需要將原來(lái)的的boot.py和main.py這兩個(gè)文件拷貝到MicroSD卡中否則不能運(yùn)行。

如果我們想要讓板子上電后就執(zhí)行板子內(nèi)的程序這我們就需要在main.py這個(gè)文件中編寫我們想要的內(nèi)容,小編使用Notepad++編輯文件,如下圖:

PyBoard19.jpg

import pyb 代表使用pyb模塊,這個(gè)模塊包含了控制開發(fā)板的所有函數(shù)和類,接下來(lái)4行是設(shè)置LED的不同的亮度,編輯完成后保存,在保存時(shí)紅色的LED是亮的,保存完成后熄滅,退出PYBoard,重新連接開發(fā)板,四個(gè)LED以不同的亮度亮起來(lái),但是紅色和綠色的亮度值已經(jīng)很低了但是實(shí)際亮度依舊非常高,差點(diǎn)把小編的眼睛晃瞎,如下圖:

PyBoard20.jpg

PyBoard有三種啟動(dòng)模式

1.標(biāo)準(zhǔn)模式,只有綠色LED燈亮,先執(zhí)行boot.py文件,然后再執(zhí)行main.py文件。

2.安全模式,只有橙色LED燈亮,啟動(dòng)時(shí)不執(zhí)行任何腳本程序。

3.恢復(fù)文件系統(tǒng),綠色和橙色LED燈同時(shí)亮,將Flash文件系統(tǒng)恢復(fù)為出廠數(shù)據(jù),然后以安全模式啟動(dòng)。

假若你的文件系統(tǒng)被損壞,可以進(jìn)入模式3修復(fù)它,詳細(xì)操作步驟在官網(wǎng)有詳細(xì)介紹。

錯(cuò)誤指示

1.假如你看到紅色和綠色LED燈交替閃爍,表示Python腳本有錯(cuò)誤(main.py),可以通過(guò)REPL進(jìn)行調(diào)試修復(fù)。

2.假如4個(gè)LED燈以較慢的速度循環(huán)亮滅,這時(shí)出現(xiàn)了非常嚴(yán)重的錯(cuò)誤(比如內(nèi)部出現(xiàn)跑飛了),這種情況下只能通過(guò)硬件復(fù)位來(lái)恢復(fù)了。

硬件恢復(fù)需要使用ST DFU Se為PYBoard下載固件。

七.其他資料

官方網(wǎng)站上提供了PyBoard的固件,原理圖,等文件。另外官網(wǎng)還提供了詳細(xì)的快速參考手冊(cè),教程等文件,如下圖:

PyBoard21.jpg

這些文件詳細(xì)的介紹了MicroPython和PyBoard,通過(guò)這些資料可以快速的入門,唯一不方便的是這些資料是英文的,好在國(guó)內(nèi)的一些論壇也有翻譯這些資料的,可以供參考。

八.總結(jié)及展望

Python本來(lái)就是非常容易入門的語(yǔ)言,同時(shí)也是應(yīng)用廣泛的語(yǔ)言,MicroPython將這用容易學(xué)習(xí)和使用的語(yǔ)言帶到了嵌入式開發(fā)中,可以直接操作硬件,并且不需要編譯和下載,可以快速的看到程序的結(jié)果,這是非常好的體驗(yàn)。PyBoard精致小巧是一塊漂亮的開發(fā)板,可以方便的學(xué)習(xí)和開發(fā),另外MicroPython也支持更多的平臺(tái),例如:STM32F4 Discovery Board,NUCLEO-F401RE Board,NUCLEO-F767ZI Board,ESP8266,WiPy等,以上的這些開發(fā)板都可以支持MicroPython,在開發(fā)板內(nèi)刷上固件就可以使用了。MicroPython帶來(lái)了全新的開發(fā)體驗(yàn),有興趣的同學(xué)可以試試。

九.官方資料

官網(wǎng):http://micropython.org/

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+