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