來將世上第一臺精簡型電腦發揮得淋漓盡致吧!
它的大小跟一張信用卡一樣,充電方式跟智慧型手機一樣,並且執行開放原始碼的Linux系統。而且它可用相當低的成本來撰寫程式還可以玩數以萬計的遊戲。現在您可以跟隨《Raspberry Pi使用者手冊》的作者兼Pi的共同開發者——艾本.厄普頓及共同作者蓋瑞斯.哈菲克一起來學習如何使用這臺驚人的電腦。不管您是個老師、駭客、玩家或者是小朋友都能輕易地了解與使用Raspberry Pi。在此書中,您將學到如何將Pi與其他硬體相連,以及安裝軟體與撰寫基本程式,進而將它應用到控制機器人與當成多媒體娛樂中心等等。
不管您是大人、小孩還是徹頭徹尾的硬體駭客,現在您已經拿到了Raspberry Pi,就跟著這本《Raspberry Pi使用者手冊》一起深入了解它吧!
本書特色
幫助您了解與使用Raspberry Pi這塊信用卡大小的高科技電腦。
幫助老師指導學生們如何撰寫程式。
指導您如何安裝軟體及設定Raspberry Pi的組態值,也讓您了解如何將Pi與其他硬體相連,例如:螢幕與鍵盤。
告訴您如何將Raspberry Pi設置成一臺簡單的開發型電腦,可用來撰寫基本的Python程式,連接伺服機與感測器,以及驅動機器人或當成多媒體娛樂中心使用。
作者簡介:
艾本.厄普頓(Eben Upton)
艾本.厄普頓為樹莓派基金會的創辦人與理事之一,目前擔任基金會的執行監督。他負責Raspberry Pi所有的軟體及硬體架構,並連絡Raspberry Pi主要的供應商與顧客群。
在早些日子,他創辦了兩家製作手機遊戲與中介軟體(middleware)相當成功的公司,分別為Ideaworks 3d與Podfun。
他曾在劍橋的聖約翰大學資工系擔任研究主任,並擁有劍橋大學的學士、管理學碩士與博士學位。目前在Broadcom擔任特殊應用積體電路(ASCI)工程師與搗蛋鬼。
蓋瑞斯.哈菲克(Gareth Halfacree)
蓋瑞斯.哈菲克是一位科技新聞自由工作者,與艾本.厄普頓為Raspberry Pi使用者指南的共同作者。他先前曾在學術單位擔任系統管理員,對於開放式專題的熱情總是伴隨著他到任何一項工作上,由於詳實的記錄,他總能隨時透過這些資源製作下一個不管是GNU/Linux、LibreOffice、Fritzing或Arduino的專題。而他也是Arduino的衍生品Sleepduino與Burnduino的作者。
更多哈菲克的作品:http://freelance.halfacree.co.uk
譯者簡介:
曾吉弘
CAVE教育團隊技術總監,對於Android、機器人與各種合金玩具有狂熱。著有多本Android與機器人相關書籍,為一群活潑近乎躁動的機器人玩家頭目。
官方網站:http://www.cavedu.com
章節試閱
Chapter 1:認識Raspberry Pi
您手邊的這塊Raspberry Pi小板子可真是個微型藝術品,把相當不錯的運算能力放在和一張信用卡差不多的空間裡。它可以做到許多很酷的事,但在您一頭栽進樹莓叢之前,有些事情必須讓您先了解。
小祕訣
如果您已經等不及要開始玩Raspberry Pi的話,請直接跳到後面的頁面找到如何將螢幕、鍵盤與滑鼠接上Raspberry Pi吧。
ARM vs. x86
Raspberry Pi系統的核心處理器,是博通(Broadcom)所生產的BCM2835系統單晶片(SoC,system-on-chip)多媒體處理器。這意味著絕大部分的系統元件,包括中央處理器、圖形處理器以及音源與通訊等硬體,都裝在一顆單一元件中,這顆元件就在板子中央256MB記憶晶片下面。
不僅僅是因為這樣的SoC設計,讓BCM2835不同於您桌上型或筆記型電腦裡的處理器,它還使用一個截然不同的指令集架構(ISA,instruction set architecture)——就是ARM。
時光回到1980年代末,由Acorn Computers公司所發展的ARM架構,在桌上型電腦領域裡並不是主流。然而,它大放異彩的地方是在行動裝置領域:您口袋裡的電話至少有一個ARM基礎的處理核心躲在裡頭。相較於高功耗且使用複雜指令集(CISC,complex instruction set computing)架構的桌上型電腦晶片,它所使用的精簡指令集(RISC,reduced instruction set computing)架構與低功耗,讓它成為一個完美的解決方案。
Raspberry Pi能夠使用板載micro-USB埠所提供的5V∕1A電源進行運作,其中的祕密就是ARM架構的BCM2835晶片。它也是為什麼在這個裝置上找不到任何散熱片的原因——低功耗晶片所產生的廢熱本來就很少,即便在執行複雜的運算工作時也一樣。
然而,這也意味著Raspberry Pi無法使用傳統的PC軟體。原因在於,大多數桌上型與筆記型電腦的軟體,都是依據x86指令集架構所開發的,而AMD、Intel與VIA等的處理器都支援此一架構。如此一來,Raspberry Pi上的ARM架構晶片就不能執行這些軟體。
BCM2835使用了名為ARM11系列的處理器,而這款處理器的架構是以ARMv6指令集為基底。值得一提的是,ARMv6是個輕量化且功能強大的架構,但它有個更高階的競爭對手——ARMv7架構,ARM Cortex系列處理器就是使用ARMv7架構。很不幸地,就像那些為了x86所開發的軟體一樣,Raspberry Pi的BCM2835無法執行為ARMv7所開發的軟體——雖然開發者通常可以將這些軟體進行轉換後使其變得能夠執行。
不過,這並不代表您要為了自己的選擇而處處受限。就如同您稍後會在本書中發現到,為ARMv6指令集開發的軟體還真不少,而且隨著使用Raspberry Pi的人愈來愈多,未來這類的軟體當然只會增不會減。在本書中,即便您從來沒有寫過程式,您還是可以學會自行開發一個可在Pi上執行的程式。
Chapter 1:認識Raspberry Pi
您手邊的這塊Raspberry Pi小板子可真是個微型藝術品,把相當不錯的運算能力放在和一張信用卡差不多的空間裡。它可以做到許多很酷的事,但在您一頭栽進樹莓叢之前,有些事情必須讓您先了解。
小祕訣
如果您已經等不及要開始玩Raspberry Pi的話,請直接跳到後面的頁面找到如何將螢幕、鍵盤與滑鼠接上Raspberry Pi吧。
ARM vs. x86
Raspberry Pi系統的核心處理器,是博通(Broadcom)所生產的BCM2835系統單晶片(SoC,system-on-chip)多媒體處理器。這意味著絕大部分的系統元件,包括中央處理器、圖形處理...
作者序
緒論
去年我在煙火派對與一位不認識的先生聊天,他這麼告訴我:「現在的小孩天生對於數位科技就非常熟悉,而且他們甚至都比我還會操作電腦,我不懂為何你要讓小孩子去學習寫程式呢?」
我反問他,如果小孩子們真的可以寫出程式呢?他反過來回答我:「為什麼他們會想嘗試寫程式?現今的電腦功能如此齊全,甚至可以幫他們把事情處理得好好的,為什麼他們還會想學呢?」
在這件事開始之前,許多小孩對於數位科技還不是非常熟悉。我們不曾看過想像中的野生數位小孩抓著傳輸纜線在Python叢林裡盪來盪去還一邊高聲唱歌。但在樹莓派基金會的推廣教育工作中,我們看到許多小孩可與具有圖形化介面(GUI)的Pi流暢地互動,而他們也懂得利用Pi來播放電影、完成學校作業與打電動。甚至他們還知道如何瀏覽網頁、上傳相片或影片與架設網站(有時候他們甚至比父母親還要會架設衛星電視盒)。由此可知,圖形化介面是套非常好用的工具,但推廣程度上卻是令人出乎意料地不足,甚至在美國還有20%的家庭並沒有電腦用,更何況並不是所有小孩都有機會接觸到使用圖形化介面的硬體。
儘管我在煙火派對認識的新朋友給了我許多熱心的建議,但電腦還是需要人來設計程式才能使用。因此我們需要一個生產工程師的工廠來確保科技的進步,而且也需要不停地注入新血來填補老一輩退休後的空缺。但最重要的是要教導下一代對做事情有想法,而不是不停地產出新一代的工程師與硬體駭客。有能力將複雜的想法付諸實行,而跳躍式的想法能讓學習更輕鬆,這對於不管是歷史學家、設計師,甚至是律師與化學專家都相當有幫助。
緒論
去年我在煙火派對與一位不認識的先生聊天,他這麼告訴我:「現在的小孩天生對於數位科技就非常熟悉,而且他們甚至都比我還會操作電腦,我不懂為何你要讓小孩子去學習寫程式呢?」
我反問他,如果小孩子們真的可以寫出程式呢?他反過來回答我:「為什麼他們會想嘗試寫程式?現今的電腦功能如此齊全,甚至可以幫他們把事情處理得好好的,為什麼他們還會想學呢?」
在這件事開始之前,許多小孩對於數位科技還不是非常熟悉。我們不曾看過想像中的野生數位小孩抓著傳輸纜線在Python叢林裡盪來盪去還一邊高聲唱歌。但在樹莓派基金會的推...
目錄
緒論
第一部分:連接板子
Chapter 1
認識Raspberry Pi
Chapter 2
Linux系統管理
Chapter 3
疑難雜症的排解
Chapter 4
網路組態設定
Chapter 5
磁碟分割管理
Chapter 6
Raspberry Pi的組態設定
第二部分:將Pi當作多媒體中心、有生產力的工具或網頁伺服器
Chapter 7
將Pi當作多媒體中心
Chapter 8
將Pi當作有生產力的工具
Chapter 9
將Pi當作網頁伺服器
第三部分:程式撰寫與駭入硬體
Chapter 10
認識Scratch程式語言
Chapter 11
認識Python程式語言
Chapter 12
駭入硬體
Chapter 13
將Pi與其他板子連接
第四部分:附錄
附錄A
Python秘笈
附錄B
HDMI顯示模式
緒論
第一部分:連接板子
Chapter 1
認識Raspberry Pi
Chapter 2
Linux系統管理
Chapter 3
疑難雜症的排解
Chapter 4
網路組態設定
Chapter 5
磁碟分割管理
Chapter 6
Raspberry Pi的組態設定
第二部分:將Pi當作多媒體中心、有生產力的工具或網頁伺服器
Chapter 7
將Pi當作多媒體中心
Chapter 8
將Pi當作有生產力的工具
Chapter 9
將Pi當作網頁伺服器
第三部分:程式撰寫與駭入硬體
Chapter 10
認識Scratch程式語言
Chapter 11
認識Python程式語言
Chapter 12
駭入硬體
Chapter 13
將Pi與其他板子連接
第四...