Arduino Uno、BeagleBone與Raspberry Pi之比較

四月 22, 2013
Facebook
Twitter
图片

周一大驚奇(The Monday Jolt)是MAKE最新專欄,每週一早上都會有一篇關於電子零件或微控制器的文章,本週這篇文章是羅傑‧麥可(Roger Meike)所撰,原本刊載於2012年10月24號的數位晚餐(Digital Dinner)上,獲得原作者同意後重新刊登於MAKE網站。
图片

從左至右分別是Arduino Uno、BeagleBone與Raspberry Pi

我們喜歡在數位晚餐製作新玩意,這裡總是有某些專題正在如火如荼地進行,這些日子以來,我們大部分的專題都包含了一種數位零件——微控制器。如果,您還沒有Maker魂上身,我們非常推薦這一款產品,使用起來會讓您非常有成就感喔!若您對程式設計有一些基本認識,那麼有許多網站、平臺與工具能讓您自行磨練所需技能,進而逐步自行使用按鈕、把手與伺服馬達來做出實際可用的器具。軟體撰寫的樂趣無庸置疑,但如果能將專題化為實際可用的物件就更棒了!

然而,正是因為現在有許多優良的平臺,可以用來數位控制儀器,困難處反而在於挑選的過程。舉例而言,目前我們正在製作一款水栽的花園,需要選擇一款控制器來驅動泵浦、讀取感測器等等,目前市面上的大量選擇讓我們感到驚訝。而對於初學者來說,應該會有些無所適從。為了給予需要的人一些方向,我們選了三款常見的控制器來做比較,希望能提供大家下一個專題挑選的參考,不過,其實三款都非常值得推薦。

這三款模組分別是ArduinoRaspberry PiBeagleBone(數位晚餐三種都有在使用),我們挑選這三款的原因在於他們唾手可得、價格不高並且大小相似(大約2 x 3吋左右或稍大),最重要的是,可以廣泛應用於許多數位專題中。在我們正式開始比較之前,會先做簡短的個別介紹。
图片

Arduino Uno在Maker社群裡幾乎無所不在,Arduino開發板有許多不同尺寸、特性,但是在這裡,我們選擇Arduino Uno作為Arduino系列的代表,Arduino的程式開發環境非常容易使用、使用者社群也非常積極活躍,而且,Arduino為各種不同裝置打造無數親民的使用者介面。
图片

相對來說,Raspberry Pi是比較新款的微控制器,其實,它並不是嵌入式電腦,而是一款價格低廉、功能齊全的桌上型電腦。它雖然只是一款準系統,但是一臺真正的電腦只要三十五美金還是非常值得注意,更重要的是,對許多Maker專題來說,Raspberry Pi都是一款絕佳的平臺。
图片

BeagleBone可能是三種平臺裡面最鮮為人知的一種,但是它功能很強,值得許多專題參考,它是一款強大的Linux電腦,卻小到可以放入Altoid’s薄荷糖罐裡。
图片

Arduino Uno背面照片。
图片

Raspberry Pi背面照片。
图片

BeagleBone背面照片。

這三款電路板都各有長處,值得愛好者納入考量。下表是三款模組的規格與特色,如果您對這些規格的涵義還不清楚,沒有關係,但這些細微的變化讓每一款微控制器在自己的應用領域中得以發光發熱。

名稱 Arduino Uno Raspberry Pi BeagleBone
測試型號 R3 Model B Rev A5
價錢 29.95美金 35美金 89美金
尺寸 2.95吋x2.1吋 3.37吋x2.125吋 3.4吋x2.1吋
處理器 ATMega328 ARM11 ARM Cortex-A8
每秒周轉速數 16MHz 700MHz 700MHZ
存取記憶體 2kb 256MB 256MB
記憶體 32kb SD卡 4GB(迷你SD卡)
EEPROM 1kb
輸入電壓 7-12伏特 5伏特 5伏特
最低輸出功率 42毫安培(.3瓦) 700毫安培(3.5瓦) 170毫安培(.85瓦)
Digital GPIO 14 8 66
類比輸入 6X10位元 7X12位元
PWM 6 8
TWI/I2C 2 1 2
SPI 1 1 1
UART 1 1 5
Dev IDE Arduino Tool IDLE, Scratch, Squeak/Linux Python, Scratch, Squeak, Cloud9/Linux
乙太網路 10/100 10/100
USB插孔 2個USB2.0 1個USB2.0
視訊輸出 HDMI, Composite
音訊輸出 HDMI, 類比 類比
三種平臺比較。

首先,Arduino和Raspberry Pi非常便宜,不到四十美金,BeagleBone的價錢幾乎是Arduino Uno的三倍,而Arduino的每秒周轉速率大約比另外兩款慢四十倍,RAM則是少了十二萬八千倍(!)。從這裡,您可以發現差異逐漸產生,Arduino和Raspberry Pi價格較低,而Raspberry Pi與BeagleBone功能較強。從這點來看的話,Raspberry Pi似乎是最好的選擇,但事情沒有這們單純,首先,它的價格並不如第一眼看到那樣美好,要使用Raspberry Pi,您需要使用自己的SD卡,這又多了五到十美金的成本。

此外,撇開每秒運轉速率的相似性不談,在我們的測試當中,BeagleBone的運轉速率幾乎是Raspberry Pi的兩倍快,最違反直覺的是,至少對初學者來說,Arduino的表現也不惶多讓。這是因為Raspberry Pi和BeagleBone都使用Linux作業系統,這款華麗的軟體讓它們變成小型電腦,可以同時跑許多程式,並支援多種程式語言撰寫,但是Arduino的設計非常簡單,一次只能跑一種程式,而且只支援低階的程式語言C++。

图片

BeagleBone和Raspberry Pi還有一個有趣的功能,就是使用快閃記憶卡(Raspberry Pi使用的是SD卡、BeagleBone使用的是迷你SD卡),這表示只要換掉記憶卡,就可以將它們的大腦移植,在不同的記憶卡上,可以儲存不同的設定值,只要換回正確的記憶卡,您就可以直接繼續某專題。而且因為這兩個電路板都相對負責,這甚至表示換記憶卡就像是改變作業系統一樣。

選擇平臺所以,選擇平臺時究竟需要考慮哪些因素?

如果您是一位對初學者,我們建議使用Arduino它的使用者社群廣大、範例專題與教材眾多、連接外部硬體的介面也最為單純,對初學者來說,學習使用Arduino的方式甚至比焊鐵的方式還要多樣

這些電路板的設計讓您可以輕易地應用許多不同的感測器與效果器,不需要再設計其他線路,所以您不需要太多電子學相關知識,如果您還沒有嘗試使用過這些玩意,請您直接買一塊Arduino來玩玩看吧(價格並不貴),相信您會得到有趣的經驗。

图片

Arduino Uno是一款令人讚賞的實體運算工具,除了擁有開放資源的微控制器外,軟體發展環境也是免費的。
图片

Raspberry Pi 是一款信用卡大小的電腦,可以直接插進您的電視之中。許多傳統電腦上有的功能像是文書處理、試算表、遊戲在Raspberry Pi 上面都可以執行。
图片

價格低廉,硬體擴充性強,BeagleBone是為喜愛嵌入式Linux系統的玩家們量身打造的產品,並可以連接乙太網路。除了可以做電腦用之外,BeagleBone也可以當作您現有的BeagleBoard或Beagleboard-xM的外接USB或者乙太網路擴充板。

如果專題需要較小體積的成品,我們會推薦Arduino這幾款裝置尺寸相仿,而Raspberry Pi的SD記憶卡插槽會使得它體積稍大,Arduino的款式多到讓人眼花撩亂,但基本上,Arduino之所以是Arduino,在於一塊微控制器和一些軟體,它使用Atmel公司出品的一款晶片微控制器的嵌入式系統,體積極小、價格便宜。在比較進階的專題當中,您可以花個一到兩塊美金購買這些晶片,並使用Arduino bootloader(賦予Arduino一切Arduino功能的程式),安裝完畢之後,你又有一塊Arduino了。我們曾在許多專題裡面用過這個方法,這樣一來,甚至可以在沒有電路板的小儀器上面裝入Arduino板。
图片

各種大小Arduino與主機板尺寸。
图片

BeagleBone與大哥BeagleBoard。

BeagleBone有一個較大、功能較強的大哥,名叫BeagleBoard,如果您需要提升規格的話,BeagleBoard會是個好選擇。
图片

Arduino Uno、BeagleBone與Raspberry Pi,請注意BeagleBone與Raspberry Pi上面有乙太網路插孔。

如果您的專題需要連接網路,我們會比較推薦BeagleBone或者Raspberry Pi,這兩款都是真正的linux電腦,內建乙太網路和USB插孔,用來連接網路較為容易,透過USB插孔,您可以將它們連上無線網路模組,藉以連上無線網路。此外,Linux作業系統有許多內建的模組,提供較為進階的網路連線功能。
图片

只要在BeagleBone或者Raspberry Pi插上小小的USB WiFi接頭,Linux 作業系統就能支援這些外接裝置了。

Arduino支援外接式的附加裝置,稱為擴充板(shield),可以連上乙太網路,但是,這項功能有許多限制,而且,如果花時間去買擴充板,其實也可以直接購買功能比較齊全的電路板了。

如果您的專題需要連接外部感測器,我們推薦Arduino和BeagleBone, Arduino是連接外部感測器平臺最簡單的方式,Arduino有許多不同的版本,使用的電壓各不相同(從3.3伏特到5伏特不等),用來連接外部裝置非常方便。而BeagleBone只能使用3.3v裝置,在某些情況下,需要加裝電阻或其他線路來連接外部感測器介面。不管是Arduino或BeagleBone都有類比到數位介面,使您可以輕易地連接輸出電壓不同的零件。最後,BeagleBone的類比/數位轉接器解析度稍高,如果專題有需求的話,會是很好的選擇。

值得一提的是,許多要連接的零件(包括小型感測器)都有I2C或SPI數位介面,本文提到的三款電路板都支援這些外接零件,通訊上並不會構成問題。

如果您的專題需要使用電池來提供電源,我們會比較推薦Arduino在這幾款電路板中,Arduino消耗的電能最少,如果以每瓦特的電腦功率來算,則BeagleBone表現最為突出。但是,Arduino的優勢在於可以連接許多不同的輸出電壓,這表示Arduino不但連接各種不同的電池,在電池逐漸失去電力的時候還是可以繼續運轉。

如果您的專題需要圖像式使用者介面,那麼我們推薦使用Raspberry Pi, Raspberry Pi與眾不同之處在於擁有HDMI輸出,這意味著您可以直接插上滑鼠、鍵盤並直接連接電視。這樣一來,它就是一臺功能完善、擁有圖像式介面的電腦了。這使得Raspberry Pi成為低成本網路瀏覽器的絕佳選擇,您可以用它來製作互動型展示專題。事實上,我們為了好玩,在Raspberry Pi上面安裝了Arduino 軟體開發工具,然後成功地用Raspberry Pi把寫好的小程式下載到Arduino上面!雖然Raspberry運作速度不快,但的確是一臺貨真價實的電腦。

總結Arduino是一款充滿彈性的平臺,可以輕易地連接許多東西,它非常適合初學者,在許多小型專題中都是最好的選擇。Raspberry Pi在需要展示功能或者網路連接的專題中都值得一試,在價錢與性能的比較上,Raspberry Pi的表現實在讓人讚賞。

BeagleBone同時擁有部分Arduino的彈性、Raspberry Pi的快速處理器與Linux作業系統(其實功能甚至更強)。所以,假設您需要監控您的水栽花園,可以使用BeagleBone,因為它的輸入/輸出功能完善,可以直接連接網路,這樣一來,可以用網路瀏覽器隨時監控BeagleBone回傳的資料。

這三款電路板在數位晚餐都炙手可熱,當然,我們也還有許多其他的平臺,舉例來說,我們使用Sun SPOTs來監控我們的番茄花園。但是,這三款電路板已經可以應付多數人的需求,其他的電路板就是較為進階的應用了。

在此特別感謝羅傑‧麥克同意我們將他的文章重新張貼在Make網站上。

[原文]

Social media & sharing icons powered by UltimatelySocial