基本信息
《愛上RaspberryPi》譯書全面地講解了RaspberryPi硬體組合和作業系統的使用,從主機板的介紹到作業系統語法的講解,再到如何與Arduino互動套用,圖文並茂、由淺入深地引導開發者,逐步深入剖析當下熱門套用案例,具有很強的實操性,還有大量珍貴程式代碼。配上愛上RaspberryPi套件來學習,可以輕鬆快速掌握電路設計、程式編寫,順利地讓你實現從開始策劃到完成項目的全過程。本書適合電子專業、互交設計專業、新媒體技術專業學生閱讀,也是電子愛好者開展電子製作項目的必備參考手冊。
內容概述:
RaspberryPi是一台價格不到300元的卡片式電腦,它的體積雖然只有信用卡般大小,但具備強大的功能。本書將從在RaspberryPi上安裝、配置和開機啟動Linux作業系統開始,深入淺出地介紹RaspberryPi的各種特性。不僅介紹RaspberryPi自身的底層GPIO接口編程技術,還將指導你把RaspberryPi與Arduino結合在一起,設計出可以通過絡遠程控制的電子作品。此外,你還將學習Pygame多媒體編程,並用Scratch完成一個簡單的小遊戲。本書適合RaspberryPi愛好者閱讀,也可作為高等院校電子信息、計算機等相關專業的師生參考用書。
用一台信用卡大小且僅售35美元的電腦能做些什麼?別看他體格嬌小,但是它能夠運行像《雷神之錘三:競技場》這樣的遊戲和進行1080p視頻的播放。RaspberryPi可以做任何你能想到的事!你可以用它編寫程式,也可以用它當做電子積木。《愛上RaspberryPi》教材會手把手的教會你如何去發掘這個體積雖小卻功能強大的平台的內在價值。
作者簡介
作者[美]MattRichardson著
MattRichardson:Brooklyn的一名創意技術專家和製片人。他是MAKE雜誌和Makezine.com網站的撰稿人。他也是AwesomeButtonStudio技術諮詢公司的所有者。他的DescriptiveCamera作品非常出名,這個是一個可以輸出對於所拍照片場景的文字描述而不是照片本身的“照相機”。他還開發了EnoughAlready,這個作品能在當台詞中出現某個關鍵字時自動把電視機靜音一段時間。Matt的作品受到了紐約時報、連線、NewYorkMagazine的關注並在內華達藝術博物館和SantoriniBienniele展出。他現在是紐約大學InteractiveTelecommunicationsProgram的研究生。
ShawnWallace:O'Reilly編輯,家住羅得島州的普羅維登斯。他是Fluxama工作室的成員之一,負責新型的iOS樂器開發,比如Noisemusick和DoctorOm。他在ModernDevice設計了一些開源硬體套件並在普羅維登斯FabLab進行FabAcademy教學。他曾任AS220藝術空間的董事總經理一職並且是SMTComputingSociety的創始人之一。
譯者李凡希
李凡希:軟體工程師,熱愛GNU/Linux與自由軟體,GNU官方網站中文翻譯組成員,南京Linux用戶組聯合發起人。勤於創造,樂於分享。現就職於阿里巴巴,從事搜尋引擎後端離線計算與大數據處理相關的研發工作。
出版信息
書名《愛上RaspberryPi》
標準書號ISBN978-7-03-(待修改)
編目分類TP368.1
作者[美]MattRichardson著
譯者李凡希
開本AS(89*1240)
印張71/4
字數170000
頁數209頁
裝幀平裝
版次第1版
初版時間2013年9月
本印次2013年9月
首印數1-3000冊
定價39.80元
推薦序
剛看到“樹莓派”這個詞,你會不會認為它是一款好吃的蛋糕呢?想當然你會問“度娘”,結果有將近30700條相關信息。RaspberryPi(中文名為“樹莓派”,簡寫為RPi)是一款信用卡大小的卡片式電腦,是為學生計算機編程教育而設計的。自2012年問世以來,客群多計算機發燒友和創客的追捧,曾經一“派”難求。別看其外表“嬌小”,內“心”卻很強大,視頻、音頻、網路等功能通通皆有,可謂是“麻雀雖小,五臟俱全”。這么棒的東西能用來做什麼呢?《愛上RaspberryPi》將會告訴你答案。
2008年我開始接觸Arduino,這位能征善戰的“故友”大家都很熟悉。如今在這“嵌入式”的天下,8位微控制器在功能套用方面略顯單薄,RaspberryPi的問世不僅能解決此類問題,與Arduino的結合還會發揮非凡的創造力。目前關於RaspberryPi的技術論壇和相關資料不少,但雜亂無章,初學者無法系統學習。《愛上RaspberryPi》的出版將會給廣大電子愛好者帶來莫大的幫助。同時也會促使這股“樹莓”風席捲中國。
本書全面講解了RaspberryPi硬體組合和作業系統的使用,還有與Arduino如何互動,深入剖析當下熱門套用案例,具有很強的實操性,還有大量珍貴代碼。為與廣大“派”友交流互動研習本書,本人也將開通“RaspberryPi”大製作網站(http://www.iraspberrypi.cn),將書中教學案例拍成視頻與大家分享。預祝每一位認真閱讀本書的人早日成為有“派”一族,未來電子領域的佼佼者!
致中國讀者
當我們剛開始編寫《愛上RaspberryPi》這本書時,我們並不只是希望通過這本書教會讀者如何把RaspberryPi運行起來,而是希望能引導讀者用它做出更多好玩、實用的東西。所以在這本書中,我們設計了很多實例,通過一步步地講解,讓讀者可以在實踐中逐步了解整個系統中的每個部分。希望通過這些實例,在讀者面前展現出RaspberryPi的潛力並激發讀者的創造力,在RaspberryPi上開發出更多創新的作品。本書的英文版出版後,我們很高興收到了很多讀者的反饋。有人告訴我們,他修改了書中介紹的“Web檯燈”實例,並以此為基礎做出了一個可以通過網路來控制的咖啡機!我們被RaspberryPi的巨大潛力深深打動,並把我們的激動之情傾注到了這本書中。我們希望能通過本書的中文版,與中國讀者一起分享我們的激情。希望大家能從本書中學到一些知識,並獲得一些新的啟示。
MattRichardson2013年4月15日於紐約譯者序
2005年時,尼葛洛龐帝(NicholasNegroponte)教授與麻省理工學院多媒體實驗室所提出的OneLaptopperChild(OLPC)100美元筆記本電腦構想深深地吸引了我,雖然100美元的電腦在當時似乎只是一個美好的夢想。然而,僅僅過去了短短的七年時間,我們就看到了信用卡大小的RaspberryPi以35美元的售價在很短時間內風靡全球,截止2013年3月份,已經售出了超過100萬台的RaspberryPi。
RaspberryPi不僅僅是一台便宜的微型電腦,也不僅僅是創客們手中的創新玩具——如果只是用這樣的標準去要求它,市面上還能找到更具性價比的產品。RaspberryPi從設計之初就承載了“教育”這一重要的理念,通過這樣一台便宜的設備,能鼓勵學生在上面大膽嘗試,提高動手能力;通過使用GPIO接口完成電子實驗,也可以更好幫助學生理解電子電路與計算機的一些底層知識,培養編程能力。在這樣的一個設計理念的指引下,一個成熟的RaspberryPi社區很快地在全球範圍內成長起來。這也正是RaspberryPi的成功之處。
這本《愛上RaspberryPi》只是一本薄薄的小冊子,但是“麻雀雖小,五臟俱全”,作者把很多瑣碎的知識點有機地組織在了一起,讓讀者不需要太多背景知識也可以輕鬆地讀完全書。它很好地貫徹了RaspberryPi的“教育”理念,用非常精煉的內容帶領讀者全方位領略了RaspberryPi的魅力,並手把手指導讀者去完成很多有意思的實例,從實踐中學習知識、積累經驗。在每一章的最後,還列出了詳盡的參考資料,指引讀者自己進一步深入學習相關知識。
在全書的翻譯過程中,好友雲漢、賈征幫忙細緻地審閱了全書的內容,並指出了很多可以改進的地方。阿里巴巴集團的“倒立工坊”創客小組的同事也給出了很多有用的建議。在此向他們表示誠摯的謝意。同時也要感謝我的家人對我的支持,能讓我有足夠的時間放在翻譯工作上,保證了在最短的時間內把最高質量的作品奉獻給大家。從事了多年語文教學工作的父親雖然沒有辦法完全理解本書中所介紹的技術細節,但還是幫忙審閱了全書的內容,在辭彙和句子的組織上給出了很多很好的建議。最後還要感謝科學出版社的喻永光編輯,他積極調動了各種資源並行開展工作,讓這本書能更快與廣大讀者見面。
前言
很容易理解為什麼當RaspberryPi計畫宣布時,很多人都對此表示懷疑,因為製造一種售價只需35美元信用卡大小的電腦,這聽起來完全像是在做夢。不過,這也正是造成RaspberryPi開始發售時人們瘋狂追捧它的原因。
RaspberryPi開始發售後,所有的庫存很快就銷售一空,很多人排隊等待發貨。除了低廉的價格以外,到底是什麼原因讓RaspberryPi能吸引這么多人的目光呢?在我們開始探討RaspberryPi各種讓人激動的特性前,讓我們先來了解一下這個產品的目標用戶。
英國劍橋大學的EbenUpon和他的同事們發現,現在計算機專業的學生,不像20世紀90年代初的學生們那樣具備紮實的基本技能。造成這個現象的原因是家用電腦和電腦遊戲的出現,取代了Amigas、BBCMicros、SpectrumZX和Commodore64這些早期的電腦,人們更多的是用電腦來娛樂,而不是開發程式。另一方面,電腦在家庭中發揮著越來越重要的作用,這使得年輕人們也不能在家用電腦上進行各種實驗和探索,因為這樣會有把電腦搞壞的風險。如今,手機和平板電腦的處理器變得越來越便宜,而性能也越來越好,這就為RaspberryPi這種足夠便宜卻功能完整的電腦主機板的誕生指明了方向。正如Linux之父LinusTorvalds在接受BBCNews採訪時所說的那樣:你能承擔得起在使用RaspberryPi時所犯的錯誤。
你能拿它來做什麼
RaspberryPi一個很大的優點就是,它沒有一個固定的使用模式。你可以用它來播放視頻或上網瀏覽網頁,也可以“折騰”它,學習如何用這塊主機板做一些東西,RaspberryPi是一個具有彈性的平台,它既可以當作玩具來玩、也可以當作工具使用或者作為實驗平台。下面是一些RaspberryPi的常見玩法。
普通電腦
你應該意識到,RaspberryPi就是一台電腦,所以你也可以把它“當成”電腦來使用,當你按第1章中所描述的內容讓它正常運行起來後,你可以讓它直接啟動進入圖形化界面,並用它內置的瀏覽器來上網——這就是我們通常使用電腦的方式。除了上網瀏覽網頁,你也可以在上面安裝各種自由軟體,如LibreOffce(http://www.libreoffce.org/)工作套件,在無法接入網路時,可以用它來處理文檔或表格。
學習編程
RaspberryPi的設計初衷是作為一個教學工具,鼓勵青少年開展各種計算機實驗,所以它預裝了各種程式語言的解釋器和編譯器。對於初學者來說,可以使用MIT開發的Scratch圖形化程式語言——我們會在第5章中講述。如果你想直接開始編寫代碼,可以考慮學習使用Python語言——我們會在第3章中講述它的一些基礎知識。除了Scratch和Python以外,你還可以用C、Ruby、Java和Perl等各種語言為RaspberryPi開發程式。
電子項目平台
與普通電腦相比,RaspberryPi除了更小、更便宜外,還有一個重要的特點,那就是可以用它來做一個電子項目實驗平台。從第7章開始,我們會介紹如何使用RaspberryPi來控制LED和其他電器設備,以及讀取按鈕和開關的狀態。
創客與RaspberryPi
作為創客,我們有很多技術開發平台可以選擇。最近一段時間,類似於Arduino的單片機開發板非常流行,因為它們使用起來很方便。但是,像RaspberryPi這樣的片上系統與這些傳統的單片機開發板還是不太一樣。事實上,RaspberryPi跟Arduino相比,它更像是一台電腦,而不是一塊開發板。
這並不是說RaspberryPi就比傳統的單片機要好。比如,你只是想做一個電子溫度計,那使用ArduinoUNO或類似的單片機會更為簡單。但是,如果想通過Web改變這個溫度計的設定或從這個溫度計下載溫度記錄數據檔案的話,你可以考慮用RaspberryPi。
你所要開發的項目的實際需求決定了你應該如何在這兩種方案中進行選擇。但實際上,你也不一定非要做出選擇,在第6章中,我們就介紹了如何將RaspberryPi與Arduino結合起來並在它們之間進行通信。
通過閱讀本書,你可以更好地理解RaspberryPi的優勢,使它成為你工具箱中的又一件有用的工具。
目 錄
第1章安裝與啟動
主 板………………………………………………………3
必備的外設…………………………………………………8
外 殼………………………………………………………11
選擇作業系統………………………………………………12
燒錄SD卡…………………………………………………14
啟動系統……………………………………………………16
配置你的Pi…………………………………………………18
關閉系統……………………………………………………21
故障排除……………………………………………………21
進一步學習…………………………………………………23
第2章初識RaspberryPi上的Linux
使用命令行…………………………………………………29
檔案與檔案系統……………………………………………30
更多Linux命令……………………………………………35
進 程………………………………………………………38
sudo與許可權…………………………………………………39
網 絡………………………………………………………41
/etc目錄……………………………………………………43
設定日期時間………………………………………………43
安裝新軟體…………………………………………………44
進一步學習…………………………………………………45
第3章Pi上的Python
初識,Python………………………………………………49
命令行與IDLE………………………………………………52
進一步學習Python…………………………………………52
對象與模組…………………………………………………55
更多模組……………………………………………………59
錯誤調試……………………………………………………60
進一步學習…………………………………………………61
第4章 用Python實現動畫與多媒體
初識Pygame………………………………………………64
Pygame的Surface………………………………………66
在Surface上繪圖…………………………………………68
處理事件與輸入……………………………………………69
Sprite………………………………………………………73
播放聲音……………………………………………………75
播放視頻……………………………………………………78
進一步學習…………………………………………………79
第5章Pi上的Scratch
初識Scratch………………………………………………82
舞 台………………………………………………………87
有關角色的兩點知識………………………………………88
更複雜的例子:星際入侵者遊戲…………………………90
Scratch與現實世界………………………………………96
分享你的程式………………………………………………97
進一步學習…………………………………………………99
第6章Arduino與Pi
在Raspbian上安裝Arduino……………………………103
定位串口……………………………………………………105
串口通信……………………………………………………106
進一步學習…………………………………………………111
第7章基本輸入輸出
使用輸入輸出接口…………………………………………116
數位訊號輸出:點亮LED…………………………………118
數位訊號輸入:讀取按鈕狀態……………………………122
項目:定時檯燈……………………………………………125
腳本命令……………………………………………………126
連線檯燈……………………………………………………128
用cron設定定時任務……………………………………129
更多有關cron的知識……………………………………130
進一步學習…………………………………………………131
第8章用Python進行輸入/輸出編程
在Python中安裝並測試GPIO…………………………134
讓LED閃爍…………………………………………………137
讀取按鈕狀態………………………………………………140
項目:簡易發音板…………………………………………142
進一步學習…………………………………………………147
第9章使用攝像頭
測試攝像頭…………………………………………………151
安裝並測試SimpleCV……………………………………152
顯示圖片……………………………………………………154
修改圖片……………………………………………………155
操作攝像頭…………………………………………………158
人臉檢測……………………………………………………160
項目:RaspberryPi照相館………………………………162
進一步學習…………………………………………………165
第10章Python與Internet
從Web伺服器下載數據…………………………………168
獲取天氣預報………………………………………………170
用Pi提供服務(做Web伺服器)………………………176
Flask入門…………………………………………………176
把Web與現實世界相連…………………………………181
項目:Web檯燈……………………………………………183
進一步學習…………………………………………………188
附錄A燒錄SD卡鏡像
在OSX中燒錄SD卡……………………………………190
在Windows中燒錄SD卡………………………………191
在Linux中燒錄SD卡……………………………………192
BerryBoct…………………………………………………193
附錄B星際入侵者遊戲完整版
附錄C模擬信號輸入
把模擬信號轉換為數位訊號………………………………202
影響
國內第一本關於RaspberryPi的中文教材,奧松機器人首發
O'Reilly最新樹莓派入門指南,發掘樹莓派的潛力與精彩套用。Maker雜誌技術專家傾情創作。