《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史
本節(jié)書摘來自華章出版社《Python樹莓派編程》一書中的第1章,第1.1節(jié),作者:[美]沃爾弗拉姆·多納特(Wolfram Donat)著?韓德強(qiáng) 等譯,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“華章計(jì)算機(jī)”公眾號(hào)查看。
第1章
樹莓派簡(jiǎn)介
如果你現(xiàn)在有一臺(tái)樹莓派,你會(huì)用它來做什么呢?也許你已經(jīng)熟悉了樹莓派的基本結(jié)構(gòu),正在考慮可以拿它來做些什么;也許你之前使用過計(jì)算機(jī)但并不熟悉Linux或樹莓派默認(rèn)的Raspbian操作系統(tǒng);也許你已經(jīng)是一位Linux系統(tǒng)的愛好者,但卻不知道如何用Python進(jìn)行編程,而且正準(zhǔn)備好好學(xué)一學(xué);也許你根本就不了解計(jì)算機(jī),僅僅停留在點(diǎn)擊“開始”菜單,轉(zhuǎn)發(fā)電子郵件,上網(wǎng)等操作,但是聽說過“樹莓派”這么個(gè)新奇的東西,想了解一下它到底是什么。
無論是何原因,歡迎你的到來!你即將加入我們的大家庭—這個(gè)家庭專業(yè)性并不是很強(qiáng),因?yàn)槟阒恍杌ㄙM(fèi)35美金及必要的郵費(fèi),無需其他,便可成為我們的一員。作為一名會(huì)員,你將會(huì)和所有想聽你分享經(jīng)驗(yàn)的人們討論你對(duì)軟件包管理器、ARM11處理器,或是.config文件的一些見解,會(huì)了解關(guān)于驅(qū)動(dòng)器和API的一些信息,會(huì)熟悉關(guān)于舵機(jī)、LED燈、板載攝像頭的內(nèi)容,最重要的是,你可以與微型計(jì)算機(jī)進(jìn)行通信,用任何一門編程語言(本書主要使用的是Python語言)進(jìn)行編程,構(gòu)建項(xiàng)目,在樹莓派上實(shí)現(xiàn)這些項(xiàng)目,這樣樹莓派便可與真實(shí)世界進(jìn)行交互,并做出一些非常酷的東西。
通過閱讀本書,我將引導(dǎo)你進(jìn)入樹莓派的俱樂部。在這里,你之前的經(jīng)驗(yàn)并不重要,因?yàn)槲覍⒁徊讲綆е銓?duì)樹莓派進(jìn)行配置,這樣你就可以輕松地使用它了。我會(huì)盡量將Linux的環(huán)境介紹得詳細(xì)透徹,以便你可以理解屏幕背后所發(fā)生的一切。同時(shí)我會(huì)用比較長(zhǎng)的篇幅來介紹Python語言,這是當(dāng)前極客們熱衷的腳本語言。谷歌使用Python,NASA使用Python,Facebook也使用Python。Perl的時(shí)代已經(jīng)過去,讓我們好好探究Python這種語言。我還會(huì)在書中介紹一些構(gòu)建電子項(xiàng)目的基本常識(shí)—這是一些技術(shù)或編程書籍僅作簡(jiǎn)單介紹,甚至完全忽略的部分。在構(gòu)建好的項(xiàng)目同時(shí),也還有一些安全因素需要考慮(例如,我曾經(jīng)因?yàn)閷㈦姵囟探佣鹨淮涡⌒捅?#xff09;。例如,你會(huì)學(xué)到如何焊出一個(gè)好的焊點(diǎn),如何避免被刀片劃傷食指,以及怎樣區(qū)別40和40K的電阻。
當(dāng)然,如果你已經(jīng)熟悉了以上這些事情,可以跳過前面的介紹直接進(jìn)入后面關(guān)于項(xiàng)目的部分。所有的項(xiàng)目都是用Python語言編寫的,并且它們都可在一個(gè)周末(或一兩個(gè)月,當(dāng)然,這取決于你的積極性以及其他你需要做的事情)搭建完成。我會(huì)在每個(gè)項(xiàng)目之前為你準(zhǔn)備一份購物清單,以及買到這些部件的地址,之后便直入主題。這些項(xiàng)目彼此之間并無依賴關(guān)系,在復(fù)雜程度上彼此也沒有特定的順序,這就意味著如果你想跳過家庭媒體服務(wù)器項(xiàng)目直接進(jìn)入貓玩具項(xiàng)目也是沒問題的。
那樹莓派到底可以用來完成什么樣的項(xiàng)目呢?你會(huì)驚訝地發(fā)現(xiàn),樹莓派小巧的尺寸并不能掩蓋它強(qiáng)大的計(jì)算能力。它的應(yīng)用范圍很廣,從網(wǎng)絡(luò)服務(wù)器、車載電腦(carputer),到集群計(jì)算都可以看到它的身影。我希望當(dāng)你讀完本書之后,不僅可以發(fā)現(xiàn)一些新奇的想法,學(xué)到一些技術(shù),最主要的是通過所學(xué)到的知識(shí)將你的想法變?yōu)楝F(xiàn)實(shí)。
無論你為何選擇本書,你的主要目的就是快樂地學(xué)習(xí)并且學(xué)到一些東西!我會(huì)盡我所能去幫助你。
1.1 樹莓派的歷史
對(duì)外人而言,樹莓派的確是很新穎的東西,在博客中有許多人也這樣認(rèn)為,還有一部分人甚至完全不知道樹莓派是什么。大量樹莓派的文章仍舊會(huì)以“樹莓派是一個(gè)小型的、信用卡大小的計(jì)算機(jī),愛好者們可以用其……”作為開始。但不同于樹莓派,當(dāng)人們談及Arduino時(shí),即便大多數(shù)人不知道Arduino是什么或是做什么用的,但至少都聽說過。因?yàn)樵缭?005年,Arduino就在全球范圍內(nèi)的愛好者們、極客們和喜愛DIY的人們中贏得了很好的口碑。
Arduino
Arduino是一個(gè)微控制器平臺(tái),它安裝在可以輕松插入絕大多數(shù)計(jì)算機(jī)的芯板上。這使得用戶可以通過類似C的編程語言對(duì)板上的Atmega芯片進(jìn)行編程,以實(shí)現(xiàn)各種需求。這種程序稱為Sketch。一個(gè)典型的Arduino Sketch程序如下所示:
?
?
?
以上代碼的作用是控制一個(gè)和Arduino相連的舵機(jī)(一個(gè)可以通過軟件精確控制轉(zhuǎn)動(dòng)角度的小型馬達(dá))持續(xù)進(jìn)行前后轉(zhuǎn)動(dòng),每次轉(zhuǎn)動(dòng)間隔1秒。
盡管其功能不像樹莓派那樣強(qiáng)大,但Arduino已經(jīng)可以完成很多事情,這使得公眾對(duì)一般的電子項(xiàng)目(尤其是微控制器)更加熟知。我們將在第14章對(duì)Arduino和樹莓派如何相互完善進(jìn)行更深入的介紹。
樹莓派已經(jīng)問世很多年了,早已不是什么新的詞匯。它的創(chuàng)始人—Eben Upton、Rob Mullins、Jack Lang和Alan Mycroft—在2006年第一次提出了廉價(jià)PC機(jī)的想法。在英國劍橋大學(xué)的時(shí)候,他們就意識(shí)到:隨著像Commodore 64、Amiga和Spectrum這種廉價(jià)的個(gè)人計(jì)算機(jī)逐步退出市場(chǎng),取而代之的臺(tái)式機(jī)和筆記本電腦的價(jià)格又十分高昂(若不是幾千美元的話,也需要幾百美元),年輕人無法隨意地在這種家庭主要的電子產(chǎn)品上練習(xí)編程,而這一定會(huì)嚴(yán)重影響年輕人的編程能力。
與此同時(shí),這些創(chuàng)始人意識(shí)到當(dāng)前許多大學(xué)的計(jì)算機(jī)科學(xué)課程已經(jīng)被縮減為教授“微軟Word 101”和“如何創(chuàng)建網(wǎng)頁”。4位創(chuàng)始人希望幫助新生提高編程知識(shí),或許以后計(jì)算機(jī)科學(xué)和工程類的課程會(huì)變得更加有意義。
很明顯,為實(shí)現(xiàn)以上目的,需要一臺(tái)便宜的計(jì)算機(jī)。為此他們嘗試過許多微控制器、各種芯片、面包板、PCB板,等等,直到2008年,這個(gè)想法才得以實(shí)現(xiàn)。隨著移動(dòng)設(shè)備的爆炸式增長(zhǎng),芯片變得更小,更便宜,性能也更加強(qiáng)大。他們使用這些芯片設(shè)計(jì)了一臺(tái)支持多媒體的設(shè)備,而不是僅支持命令行編程,做到這一點(diǎn)他們認(rèn)為很重要(見圖1-1)。年輕人似乎更喜歡具備媒體功能的設(shè)備,因此也就更有可能用此設(shè)備去編程。
2008年,4位創(chuàng)始人,和Pete Lomas和David Braben一起,創(chuàng)立了樹莓派基金會(huì),3年后,該基金會(huì)成為第一個(gè)大規(guī)模生產(chǎn)樹莓派的生產(chǎn)線。
樹莓派(Raspberry Pi)這個(gè)名字同早期微機(jī)根據(jù)水果命名的規(guī)則一樣,如早期的蘋果(Apple)和橘子(Tangerine),而派(Pi)則來源于Python這個(gè)腳本語言。
一年內(nèi),基金會(huì)賣出了100多萬臺(tái)設(shè)備。基金會(huì)成員多次表示他們對(duì)這種爆炸式的熱情感到十分震驚。最初的目的僅僅是推出一種廉價(jià)的、可編程的設(shè)備,使教育工作者和學(xué)生獲益,顯然現(xiàn)在這個(gè)目的已經(jīng)達(dá)成了。不僅如此,現(xiàn)在的成果比最初設(shè)想的要大得多。很明顯,他們并不是唯一希望擁有廉價(jià)可編程設(shè)備的一類人,世界各地的愛好者,連同element14、Premier Farnell和RS Electronics都迫切需要訂單,以至于那些預(yù)訂了樹莓派的人不得不等待半年的時(shí)間,隨后產(chǎn)量才滿足需求量。許多消費(fèi)者現(xiàn)在或之前都是程序員,現(xiàn)如今都渴望一覽這臺(tái)新的體積小性能強(qiáng)的計(jì)算機(jī)。(我第一次學(xué)習(xí)編程是在Commodore VIC-20上,這臺(tái)設(shè)備僅有20KB的內(nèi)存,當(dāng)時(shí)用的還是BASIC語言……好吧!這都是很久以前的事了。)
?
(image但無論是之前還是現(xiàn)在,人們?cè)诟黝I(lǐng)域內(nèi)都使用樹莓派。就像美國樹莓派基金會(huì)網(wǎng)頁上寫的那樣:
我們已經(jīng)收到來自教育機(jī)構(gòu)數(shù)不盡的熱情、支持和幫助。在看到來自機(jī)構(gòu)大量的咨詢時(shí),我們十分激動(dòng),而當(dāng)人們對(duì)設(shè)備的使用目的與我們的初衷相差甚遠(yuǎn)時(shí),我們又感到有些羞愧。在發(fā)展中國家,由于部分地區(qū)的電力無法為傳統(tǒng)的桌面PC設(shè)備提供所需要的功率和硬件設(shè)備,因此他們對(duì)樹莓派很感興趣。醫(yī)院和博物館已經(jīng)聯(lián)系我們,希望樹莓派能夠驅(qū)動(dòng)顯示設(shè)備。一些重度殘疾孩子的父母也跟我們聯(lián)系,談?wù)撽P(guān)于監(jiān)控和可溝通應(yīng)用的事情;與此同時(shí),似乎還有數(shù)以百萬的人正拿著電烙鐵準(zhǔn)備制作機(jī)器人呢。
幸運(yùn)的是,供應(yīng)及時(shí)滿足了需求。現(xiàn)在買樹莓派便無需等待了,而且每位用戶也不再限購了。樹莓派基金會(huì)正策劃一個(gè)“買一贈(zèng)一”的活動(dòng),即每賣出一臺(tái)樹莓派便向教育機(jī)構(gòu)捐贈(zèng)一臺(tái)樹莓派。最近發(fā)行的樹莓派板載攝像頭是一臺(tái)小型芯片集成攝像頭,可直接插入樹莓派,用戶可以用它拍攝靜態(tài)照片,也可拍攝視頻。基金會(huì)保證將會(huì)為這臺(tái)小型計(jì)算機(jī)開發(fā)更多的外部設(shè)備。如今創(chuàng)始人正在積極說服其他公司復(fù)制他們的模式,接下來會(huì)發(fā)生的事情,讓我們拭目以待吧。
總結(jié)
以上是生活随笔為你收集整理的《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Angular从零到一》导读
- 下一篇: 《大咖讲Wireshark网络分析》目录