軟硬件整合是今年一再被提及的話題,如今我們也可以看到不少硬件創業的成功案例,比如Jawbone Up、Pebble手表等可穿戴設備,它們可與用戶的手機同步,實現軟件與硬件的結合。通過硬件創新與軟件整合的概念還有許多。但是如何將創意變為現實,是一個難題。許多大公司均選擇硬件閉源,從而形成的技術壁壘與專利版權,阻礙著小規模創新者的發展。而開源硬件,讓創業者可以更輕松地將創意轉化為現實。
這篇文章由Roger Meike撰寫,并在發布于Digital Dinner上。文中對比了三款最流行的,也是最具代表意義的開源硬件平臺Arduino Uno、BeagleBone和Raspberry Pi。Roger從性能以及可擴展性等方面對它們進行對比,幫助開發者了解如何選擇適合自己的開源硬件平臺。
以下是譯文:
從左到右: Arduino Uno, BeagleBone, Raspberry Pi
我們喜歡在Digital Dinner制作一些新奇玩意。這里總是時刻進行著各種項目。這些天以來,我們大部分的項目都包含了一種電子零件——微控制器。如果你還沒被“創客” (Maker)靈魂附體,我們強烈建議你動起手來試一試,它會讓你非常有成就感!如果本身在編程方面有一定基礎,那么一些網站、平臺和工具可以幫助你獲得硬件開發的所需知識,逐步讓你可以使用按鈕、旋鈕和從動系統,做出實際可用的產品。軟件開發固然樂趣無窮,但如果能將你的創意變為實際產品就更贊了!
然而,目前有許多優秀的平臺可供創造數字設備,這讓我們有些舉棋不定。舉例來說,現在我們正在制作一個“水培花園”項目,需要一款控制器來驅動水泵、讀取傳感器數據。但是,現在有許多種選擇都可以實現這些功能。而這對于初步接觸開源硬件的開發者來說,可能會有些無所適從。所以我們選擇其中三款最流行的開源電子原型平臺,加以對比,希望可以便于大家選擇,當然,這三款平臺都非常值得推薦。
三款開源平臺分別是Arduino、BeagleBone和Raspberry Pi。之所以選擇他們,原因在于他們唾手可得,價格實惠,而且大小規格相似(大約2*3寸),更重要的是,他們可以廣泛應用于電子產品開發工作中。在比較前,我們先進行簡單的介紹。
?
Arduino Uno在Maker的圈子里很常見。Arduino有許多不同尺寸和特性,但是在此我們選擇Arduino Uno作為其中的代表。它是一個非常易于開發的平臺,有很多開發者也都選擇它作為開發環境,而且它的設計讓它易于和其他設備相連。
與Arduino相比,Raspberry Pi是一個比較新的成員。它實際上是一個嵌入式電腦。它也是一個并不昂貴的全功能桌面電腦。它是一個準系統,而作為$35的電腦,它在很多項目中都是一個很好的平臺。
BeagleBone可能是三個平臺中最鮮為人知的一種,但它有很好的兼容性,許多項目都可使用。它是一款強大的Linux電腦,而且可以安裝到Altoid’s的容器中。
Arduino背面
Raspberry Pi背面
BeagleBone背面
這三款平臺各有所長,對于愛好者來說都非常有價值。下表是三款平臺的規格與特色。
首先,Arduino和Raspberry Pi非常便宜,不到40美元,BeagleBone的價值幾乎是Arduino Uno的三倍,而Arduino的每秒周轉速率大約比另外兩款慢40倍,RAM則是其他兩款的1/128000。從中你可以發現他們的差異逐漸產生了,Arduino和Raspberry Pi價格較低,而Rasphberry Pi與BeagleBone功能較強。從這點來看的話Rasphberry Pi似乎是最好的選擇,但事情沒有這么簡單。首先它的價格并不如第一眼看到的那么美好,因為運行Raspberry Pi,你需要提供SD卡,而這額外增加了5%到10%的成本。
此外,拋開每秒運轉速率的相似性能不談,在我們的測試中,BeagleBone的運轉速度幾乎是Raspberry Pi的兩倍。也許有悖常理,對于初學者來說,Arduino也許性能更好。這是因為Raspberry Pi和BeagleBone都是基于Linux系統。這個系統讓它們可以在小型電腦上,運行多個程序,并支持使用多語言編程。Arduino的設計非常簡單,它一次只能運行一個程序,而且只支持低階的C++語言編程。
BeagleBone和Raspberry Pi還有一個有意思的特性,就是他們可以在Flash卡上運行(Raspberry Pi使用SD卡,BeagleBone使用microSD)。這就意味著,你可以通過換存儲卡來實現系統移植。在不同的儲存卡上,你可以儲存不同的設定值,只要更換儲存卡,你就可以繼續之前正在開發的項目。因為這兩個板非常的復雜,這意味著你可以通過換卡而輕松的換操作系統。
那么,你如何從中選出一款適合你的平臺呢?
對于初學者來說,我們推薦Arduino。它擁有龐大的社區用戶、大量的示例項目和教程,并且可以輕松地與其他外部設備連接。對于初學者來說,學習使用Arduino的方法有許多。
這塊板的設計初衷,就是方便與不同的傳感器進行交互,而且不需要設計其他電路,所以你不需要太多電路相關的支持,就能輕松上手。如果還沒有嘗試過這玩意,不妨試一試(價格并不貴),相信可以得到有趣的經驗。
Arduino Uno是一款令人贊賞的工具,除了擁有開源的微控制器,軟件開發環境也是免費的。
Raspberry Pi只有信用卡大小,可以直接插入到電視中。許多傳統電腦上的功能,例如文字處理、電子表格和游戲,都可以在Raspberry Pi中運行。
價格低廉,硬件擴展性強,BeagleBone是為喜愛嵌入式Linux系統的玩家量身打造的產品。BeagleBone還可以當做BeagleBoard或Beagleboard-xM的外接USB或網絡擴展模塊。
如果開發的產品需要保證尺寸較小,我們推薦Arduino。這三款平臺的尺寸相似,不過Raspberry Pi的SD儲存卡會讓它看起來更大。Arduino的款式躲讓,但讓Arduino區別于其他平臺的特性在于,它擁有特別的微處理器,以及一些軟件。它使用Atmel公司的一款微處理器嵌入式系統,體積小,價格實惠。對于那些需要尺寸非常小巧的項目來說,你可以花費1到2美元購買Atmel的這些芯片,并使用Arduino Bootloader(一個賦予Arduino基本功能的程序),安裝后,你就又擁有了一個Arduino。
各種尺寸的Arduino
BeagleBone旁邊是它的大哥BeagleBoard
BeagleBoard有一個更大,性能更強的版本——BeagleBoard。如果你需要更強的擴展性,那么BeagleBoard是一個不錯的選擇。
Arduino Uno、BeagleBone 和 Raspberry Pi,后兩者都有網絡接口
如果你的項目需要連接網絡,我們比較推薦BeagleBone或Raspberry Pi。這兩款都是真正的Linux電腦。他們都內建以太網接口和USB,便于用來連接網絡。通過USB接口,你可以連接一個無線模塊,那樣就可以無需網線就能接入網絡。另外,Linux系統擁有很多內置組件,提供高級的網絡特性。
只需將USB WiFi設備連接到BeagleBone或Raspberry Pi上,Linux系統即可支持這些外接設備
Arduino支持外設,叫做“shields”,它雖然擁有連接網絡的能力,但其網絡功能十分有限。如果花時間去購買擴展,其實與直接購買功能比較完善的高階電路板一樣。
如果你的項目需要接入外部感應設備,我們推薦Arduino和BeagleBone。Arduino相對于其他設備,更容易連接外部感應器。不同版本的Arduino使用的電壓不同(3.3V 或者 5V),這樣就可以輕易的連接到不同的外部設備。而BeagleBone只能連接3.3V的外部設備,并在某些情況下,還需要加入電阻或者其他外部電路才能連接外部設備。Arduino和BeagleBone都有模擬數字信號接口,這讓你輕松的連接輸出不同電壓的設備。BeagleBone擁有更高的模擬數字信號的分辨率,這對于某些項目來說是最好的選擇。
就如上面所說的,你必須注意你將要連接的設備,包括小型的感應器,是否擁有叫做I2C或者SPI的數字接口。這三款平臺都支持這些外接設備,所以通信方面不成問題。
對于需要電池供電的項目,我們推薦Arduino。Arduino功耗是最低地。如果按照每瓦的性能來比較,BeagleBone的能耗是最高的。但是Arduino擁有更廣泛的空間,因為他可以和很多不同的輸入電壓的設備一起工作。這樣就要求Arduino需要使用不同型號的電池,并且就算電池沒電也能繼續運轉。
如果需要支持用戶界面,我推薦使用Raspberry Pi。Raspberry Pi獨樹一幟,因為它擁有一個HDMI輸出。這意味著,你可以接入鍵鼠和直接接入到你的電視。在這點看來,你擁有了一臺功能全備的電腦,并且擁有用戶操作界面。這樣使得Raspberry Pi可以用于在需要與用戶交互的項目中,以低成本構建web瀏覽設備。事實上,只是出于娛樂性質,我們把Arduino開發工具安裝在Raspberry Pi上,并在Raspberry Pi寫以一個簡單程序并下載到Aruduino上。它并非是一臺高性能的電腦,但是它確實是一臺電腦。
總結
Arduino是一個擴展性很好的平臺,便于與各種設備交互。對于初學者來說,在進行一些小型項目時,它是絕佳的選擇。Raspberry Pi適合用于需要用戶界面和需要網絡支持的項目,其性價比較高。
BeagleBone擁有Arduino良好的可擴展性,兼具Raspberry Pi快速處理器和Linux靈活的開發環境。所以,如果你想做與水培花園類似的項目,我們推薦BeagleBone。因為它的輸入輸功能完善,并便于接入網絡,所以我們可以通過Web端監測它回傳的數據。
所有這3種設備是我們數字化項目的基石。當然,還有其他平臺可用,例如,我們使用Sun SPOTs監測我們的番茄花園,這三種設備已基本能滿足我們所需,除非你需要更高級的功能。
評論
查看更多