Arduino 與 Raspberry Pi: 哪個是更適合你的DIY平台?
你想做硬體DIY嗎?它們哪個更適合你?
如果你很熟悉電子DIY,那麼應該聽過Arduino和Raspberry Pi(樹莓派)的特點對比。你也許甚至會猜測到,像我之前認為的,它們兩個是處理相似問題的相互競爭的硬體平台。
實際上,Arduino和樹莓派非常不一樣。對於初學者來說,樹莓派是一台完整功能的計算機,而Arduino只是一個微控制器,它僅僅是組成計算機的一個模塊。
這裡有一些指引來幫助你區分Arduino和樹莓派,然後確定這兩個DIY設備中的哪個更適合你的需求。
概述
樹莓派和Arduino最開始都被設計成教育工具,這也是它們現在這麼流行的原因,它們兩個都非常容易學習使用。
樹莓派來自英國。開始的時候,發明者Eben Upton和他在劍橋大學計算機實驗室的同事對學生數量的逐漸減少和差勁的技能感到非常懊惱,於是想辦法解決這個問題。他們設計的樹莓派是一台便宜的方便修改的計算機,目的是提高動手能力。Upton在2006年設計了樹莓派的原型,在2012年4月的時候第一次可以在市場上買到。
另一個,Arduino誕生於義大利。它是根據發明者Massimo Banzi和合伙人想到這個點子的一個酒吧的名字命名的。Banzi是伊夫雷亞互動設計學院的一名教師,他想為他學設計的學生做一個簡單的硬體原型製作工具。
作為教育工具,Arduino和樹莓派都適合初學者。而在了解了它們的硬體和軟體特點之後,很明顯它們會應用到完全不同的項目中。
硬體和軟體
這裡大概列出了兩者規格上的最大差異
Arduino Uno | 樹莓派Model B | |
價格 | $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 |
集成網路介面 | 沒有 | 10/100M乙太網RJ45 |
多任務支持 | 沒有 | 有 |
輸入電壓 | 7到12伏 | 5伏 |
Flash存儲 | 32KB | SD卡(2到16G) |
USB | 一個,僅做為輸入 | 兩個,可擴展外圍設備 |
操作系統 | 沒有 | Linux發行版 |
集成開發環境 | Arduino | Scratch, IDLE, Linux支持的任何環境 |
它們兩個的價格和體積都差不多,我們已經知道樹莓派和Arduino都很小巧很便宜,只是它們所包含的東西決定了它們的不同。樹莓派在時鐘速度上比Arduino快40倍。而更打擊Arduino的是,樹莓派擁有其128,000倍的內存。樹莓派是一台獨立的計算機,可以運行實際的Linux操作系統,支持多任務,支持兩個USB埠,還可以無線連接到網際網路。總之,它足夠強勁,完全可以作為個人電腦(但是還不足以與Mac或PC比較)。
也許看起來樹莓派比Arduino高級,但那僅僅是軟體應用。Arduino的簡單讓它在單純的硬體項目中表現更好。
我採訪了Limor Fried,她是Adafruit的創辦者,Adafruit是一個DIY電子商店,提供Arduino和樹莓派的部件和工具,詢問了她關於這兩者之間不同的專業意見。作為一個從MIT畢業的工程師,立志要教所有級別的電子技術的高手,Fried比其他人更懂這兩個平台。
「Arduino有處理'實時'和'模擬電路'的能力,這是樹莓派沒有的,這種靈活性讓它可以匹配各種感測器或晶元」Fried這樣說,「樹莓派就沒有這樣靈活,比如,要讀取模擬感測器就需要額外的硬體協助。有成千上萬的教程教你把Arduino掛到幾乎所有的設備上。另一方面,樹莓派可以受益於多年的Linux軟體積累,所以它們兩個都是很棒的選擇!」
Arduino的集成開發環境明顯比Linux容易太多了。比如,如果你在樹莓派上想寫個程序讓LED閃爍,你需要安裝一個操作系統以及各種代碼庫,而這還僅僅只是開始。而在Arduino上,你可以用僅僅8行代碼來讓LED閃爍。而且,Arduino並沒有設計成運行操作系統或是大量軟體,你可以僅僅把它插到板子上,它就開始工作了。
樹莓派可以支持多個任務進程,它可以在後台運行多個程序。比如,我有一台樹莓派同時用作列印伺服器和VPN伺服器。
另一方面,你可以讓Arduino插在板子上去長時間執行單一的任務,而當你想停止的時候把它拔出來就好了。這也是為什麼Fried建議初學者在玩樹莓派之前先玩Arduino:
「Arduino更簡單,更難'變磚'或'損壞',而且有更多的適合初學者的學習資源。」Fried這樣說,「而要玩樹莓派,你不但要學習編程比如Python,還要學習Linux。Arduino可以在任意電腦上工作,而且可以用電池供電,你可以任意時候隨時開關都很安全。而樹莓派在沒有合適關機的情況下斷電可能會損壞。」
樹莓派在軟體應用上大放光芒,而Arduino讓硬體項目變得更簡單。所以問題變成你先確定你想做什麼。
一起使用
選擇樹莓派或是Arduino的終極答案是:「為什麼要選擇?」如果你想學習一些電子知識,它們中任意一個可以教你不同的內容。
按照Fried的意見,樹莓派和Arduino是互補的。她提供了一種場景,Arduino是感測器工場,而樹莓派負責分髮指令:
「它們在一起工作會更好」Fried說,「Arduino非常適合驅動馬達,讀取感測器數據,控制LED,等等。而同時你可以用一個連接到網際網路的樹莓派來驅動Arduino,一台迷你電腦可以輕鬆地用來播放視頻,音樂或是發送郵件。」
作者Simon Monk,他曾經寫過大量關於樹莓派和Arduino的書,在博客里寫了篇教程用一點點代碼就可以連接樹莓派和Arduino。它用到了Python的庫,PySerial,這也是Arduino基地推薦的連接電腦和Arduino的最容易的方式。
只要你做到了這個,那幾乎就有無限可能了。你可以自製啤酒,用Arduino控制感測器,而用樹莓派來處理主要流程。你還可以建立一個製造機器人的平台,比單獨的Arduino或是樹莓派機器人強大多了。
社區
不管樹莓派還是Arduino,都有很多大型的、活躍的社區。這些論壇不僅僅是在學校和大學裡使用,世界範圍的極客們也都在裡面。
下面這些地方你可以去看看,裡面會有樹莓派的支持和一些項目創意:
- The Raspberry Pi Foundation — FAQs
- The Raspberry Pi Foundation — Project Forums
- Learn Raspberry Pi with Adafruit
- Element 14 (Pi』s manufacturer) Raspberry Pi Community
- The Raspberry Pi Wiki
下面是關於Arduino的:
- Arduino』s Official Getting Started Guide
- Arduino Playground
- Arduino Official Forums
- Learn Arduino with Adafruit
- r/arduino on Reddit
圖片來源:Simon Monk
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive