你想做硬件DIY嗎?它們哪個(gè)更適合你?
如果你很熟悉電子DIY,那么應該聽(tīng)過(guò)Arduino和Raspberry Pi(樹(shù)莓派)的特點(diǎn)對比。你也許甚至會(huì )猜測到,像我之前認為的,它們兩個(gè)是處理相似問(wèn)題的相互競爭的硬件平臺。
實(shí)際上,Arduino和樹(shù)莓派非常不一樣。對于初學(xué)者來(lái)說(shuō),樹(shù)莓派是一臺完整功能的計算機,而Arduino只是一個(gè)微控制器,它僅僅是組成計算機的一個(gè)模塊。
這里有一些指引來(lái)幫助你區分Arduino和樹(shù)莓派,然后確定這兩個(gè)DIY設備中的哪個(gè)更適合你的需求。
樹(shù)莓派和Arduino最開(kāi)始都被設計成教育工具,這也是它們現在這么流行的原因,它們兩個(gè)都非常容易學(xué)習使用。
樹(shù)莓派來(lái)自英國。開(kāi)始的時(shí)候,發(fā)明者Eben Upton和他在劍橋大學(xué)計算機實(shí)驗室的同事對學(xué)生數量的逐漸減少和差勁的技能感到非常懊惱,于是想辦法解決這個(gè)問(wèn)題。他們設計的樹(shù)莓派是一臺便宜的方便修改的計算機,目的是提高動(dòng)手能力。Upton在2006年設計了樹(shù)莓派的原型,在2012年4月的時(shí)候第一次可以在市場(chǎng)上買(mǎi)到。
另一個(gè),Arduino誕生于意大利。它是根據發(fā)明者M(jìn)assimo Banzi和合伙人想到這個(gè)點(diǎn)子的一個(gè)酒吧的名字命名的。Banzi是伊夫雷亞互動(dòng)設計學(xué)院的一名教師,他想為他學(xué)設計的學(xué)生做一個(gè)簡(jiǎn)單的硬件原型制作工具。
作為教育工具,Arduino和樹(shù)莓派都適合初學(xué)者。而在了解了它們的硬件和軟件特點(diǎn)之后,很明顯它們會(huì )應用到完全不同的項目中。
這里大概列出了兩者規格上的最大差異
| Arduino Uno | 樹(shù)莓派Model B |
價(jià)格 | $30 | $35 |
體積 | 7.6 x 1.9 x 6.4 cm | 8.6cm x 5.4cm x 1.7cm |
內存 | 0.002MB | 512MB |
主頻 | 16 MHz | 700 MHz |
集成網(wǎng)絡(luò )接口 | 沒(méi)有 | 10/100M以太網(wǎng)RJ45 |
多任務(wù)支持 | 沒(méi)有 | 有 |
輸入電壓 | 7到12伏 | 5伏 |
Flash存儲 | 32KB | SD卡(2到16G) |
USB | 一個(gè),僅做為輸入 | 兩個(gè),可擴展外圍設備 |
操作系統 | 沒(méi)有 | Linux發(fā)行版 |
集成開(kāi)發(fā)環(huán)境 | Arduino | Scratch, IDLE, Linux支持的任何環(huán)境 |
它們兩個(gè)的價(jià)格和體積都差不多,我們已經(jīng)知道樹(shù)莓派和Arduino都很小巧很便宜,只是它們所包含的東西決定了它們的不同。樹(shù)莓派在時(shí)鐘速度上比Arduino快40倍。而更打擊Arduino的是,樹(shù)莓派擁有其128,000倍的內存。樹(shù)莓派是一臺獨立的計算機,可以運行實(shí)際的Linux操作系統,支持多任務(wù),支持兩個(gè)USB端口,還可以無(wú)線(xiàn)連接到因特網(wǎng)??傊?,它足夠強勁,完全可以作為個(gè)人電腦(但是還不足以與Mac或PC比較)。
也許看起來(lái)樹(shù)莓派比Arduino高級,但那僅僅是軟件應用。Arduino的簡(jiǎn)單讓它在單純的硬件項目中表現更好。
我采訪(fǎng)了Limor Fried,她是Adafruit的創(chuàng )辦者,Adafruit是一個(gè)DIY電子商店,提供Arduino和樹(shù)莓派的部件和工具,詢(xún)問(wèn)了她關(guān)于這兩者之間不同的專(zhuān)業(yè)意見(jiàn)。作為一個(gè)從MIT畢業(yè)的工程師,立志要教所有級別的電子技術(shù)的高手,Fried比其他人更懂這兩個(gè)平臺。
“Arduino有處理'實(shí)時(shí)'和'模擬電路'的能力,這是樹(shù)莓派沒(méi)有的,這種靈活性讓它可以匹配各種傳感器或芯片”Fried這樣說(shuō),“樹(shù)莓派就沒(méi)有這樣靈活,比如,要讀取模擬傳感器就需要額外的硬件協(xié)助。有成千上萬(wàn)的教程教你把Arduino掛到幾乎所有的設備上。另一方面,樹(shù)莓派可以受益于多年的Linux軟件積累,所以它們兩個(gè)都是很棒的選擇!”
Arduino的集成開(kāi)發(fā)環(huán)境明顯比Linux容易太多了。比如,如果你在樹(shù)莓派上想寫(xiě)個(gè)程序讓LED閃爍,你需要安裝一個(gè)操作系統以及各種代碼庫,而這還僅僅只是開(kāi)始。而在A(yíng)rduino上,你可以用僅僅8行代碼來(lái)讓LED閃爍。而且,Arduino并沒(méi)有設計成運行操作系統或是大量軟件,你可以?xún)H僅把它插到板子上,它就開(kāi)始工作了。
樹(shù)莓派可以支持多個(gè)任務(wù)進(jìn)程,它可以在后臺運行多個(gè)程序。比如,我有一臺樹(shù)莓派同時(shí)用作打印服務(wù)器和VPN服務(wù)器。
另一方面,你可以讓Arduino插在板子上去長(cháng)時(shí)間執行單一的任務(wù),而當你想停止的時(shí)候把它拔出來(lái)就好了。這也是為什么Fried建議初學(xué)者在玩樹(shù)莓派之前先玩Arduino:
“Arduino更簡(jiǎn)單,更難'變磚'或'損壞',而且有更多的適合初學(xué)者的學(xué)習資源?!盕ried這樣說(shuō),“而要玩樹(shù)莓派,你不但要學(xué)習編程比如Python,還要學(xué)習Linux。Arduino可以在任意電腦上工作,而且可以用電池供電,你可以任意時(shí)候隨時(shí)開(kāi)關(guān)都很安全。而樹(shù)莓派在沒(méi)有合適關(guān)機的情況下斷電可能會(huì )損壞?!?/p>
樹(shù)莓派在軟件應用上大放光芒,而Arduino讓硬件項目變得更簡(jiǎn)單。所以問(wèn)題變成你先確定你想做什么。
選擇樹(shù)莓派或是Arduino的終極答案是:“為什么要選擇?”如果你想學(xué)習一些電子知識,它們中任意一個(gè)可以教你不同的內容。
按照Fried的意見(jiàn),樹(shù)莓派和Arduino是互補的。她提供了一種場(chǎng)景,Arduino是傳感器工場(chǎng),而樹(shù)莓派負責分發(fā)指令:
“它們在一起工作會(huì )更好”Fried說(shuō),“Arduino非常適合驅動(dòng)馬達,讀取傳感器數據,控制LED,等等。而同時(shí)你可以用一個(gè)連接到因特網(wǎng)的樹(shù)莓派來(lái)驅動(dòng)Arduino,一臺迷你電腦可以輕松地用來(lái)播放視頻,音樂(lè )或是發(fā)送郵件?!?/p>
作者Simon Monk,他曾經(jīng)寫(xiě)過(guò)大量關(guān)于樹(shù)莓派和Arduino的書(shū),在博客里寫(xiě)了篇教程用一點(diǎn)點(diǎn)代碼就可以連接樹(shù)莓派和Arduino。它用到了Python的庫,PySerial,這也是Arduino基地推薦的連接電腦和Arduino的最容易的方式。
只要你做到了這個(gè),那幾乎就有無(wú)限可能了。你可以自制啤酒,用Arduino控制傳感器,而用樹(shù)莓派來(lái)處理主要流程。你還可以建立一個(gè)制造機器人的平臺,比單獨的Arduino或是樹(shù)莓派機器人強大多了。
不管樹(shù)莓派還是Arduino,都有很多大型的、活躍的社區。這些論壇不僅僅是在學(xué)校和大學(xué)里使用,世界范圍的極客們也都在里面。
下面這些地方你可以去看看,里面會(huì )有樹(shù)莓派的支持和一些項目創(chuàng )意:
下面是關(guān)于A(yíng)rduino的:
圖片來(lái)源:Simon Monk
本文由 LCTT 原創(chuàng )翻譯,Linux中國 榮譽(yù)推出
聯(lián)系客服