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