[TOC]
[玩轉樹莓派] 歡迎來到樹莓派的世界
Welcome to Raspberry Pi world
0x00 初衷
之前加入的一個樹莓派群最近突然活躍起來,經過觀察發現是新版的樹莓派發布了 —— Raspberry Pi 3。很高興的是,各位小伙伴的活躍有些超出我的意料。
觀察一段時間之后發現,很多小伙伴在問一些很基礎的問題,開始嘗試去幫他們解答,后來發現根本回答不過來,剛回答完又有小伙伴來問,因此決定嘗試著做一些基礎總結,給各位剛入門的小伙伴提供一些參考。
為什么買樹莓派呢?很早就聽說過樹莓派,Arduino這些小板子,但是決定入手樹莓派還是因為知乎的一個回答:樹莓派 (Raspberry Pi) 是什么?普通人怎么玩? 看完后很興奮,這個小板還可以這樣玩,遂入手。算起來從入手到現在已經半年左右。簡單的入門操作都折騰了一遍,還買了一大堆硬件,但是很遺憾,不少硬件沒有折騰成功。期間學了一些python基礎知識,做了一些簡單的服務在上面跑,然后就讓他靜靜的躺在了角落里,沒有再折騰。但有一件事讓我非常的興奮,這個小板子最長一次50多天沒關機!!!這大大的出乎我的意料
為什么會說非常興奮呢?跑了50多天后是我主動關機的。一個普通的用戶,無論你是Windows,Linux還是Mac,作為日常使用的設備,還是會經常重啟的,特別是Windows系統。一塊放在床頭的小板子,可以穩定的跑上幾天,幾周,幾個月,有這么穩定的一個系統,還有那些GPIO,是不是給我們更多的折騰提供了非常好的基礎!
決定寫這些入門文章,我會本著直接告訴你一個結果
的原則,循序漸進的把你正面對或者將會遇到的問題展現出來。如果講的太粗,各位可以直接提問,我再補充。最后希望我會堅持把這些東西寫下去。
0x01 什么是樹莓派(Raspberry Pi)
樹莓派(Raspberry Pi) 是什么,來看看維基百科的介紹:
樹莓派(英語:Raspberry Pi),是一款基于Linux的單板機電腦。它由英國的樹莓派基金會所開發,目的是以低價硬件及自由軟件刺激在學校的基本計算機科學教育。
樹莓派的生產是通過有生產許可的兩家公司:Element 14/Premier Farnell和RS Components。這兩家公司都在網上出售樹莓派。
樹莓派配備一枚博通(Broadcom)出產的ARM架構700MHz BCM2835處理器,256MB內存(B型已升級到512MB內存),使用SD卡當作存儲媒體,且擁有一個Ethernet、兩個USB接口、以及HDMI(支持聲音輸出)和RCA端子輸出支持。樹莓派只有一張信用卡大小,體積大概是一個火柴盒大小,可以運行像《雷神之錘III競技場》的游戲和進行1080p視頻的播放。操作系統采用開源的Linux系統如Debian、ArchLinux,自帶的Iceweasel、KOffice等軟件,能夠滿足基本的網絡瀏覽、文字處理以及電腦學習的需要。分A、B兩種型號,售價分別是A型25美元、B型35美元。樹莓派基金會從2012年2月29日開始接受B型的訂貨。
樹莓派基金會提供了基于ARM架構的Debian、Arch Linux和Fedora等的發行版供大眾下載,還計劃提供支持Python作為主要編程語言,支持BBC BASIC(通過RISC OS映像或者Linux的"Brandy Basic"克隆)、C語言和Perl等編程語言。
樹莓派基金會于2016年2月發布了樹莓派3,較前一代樹莓派2,樹莓派3的處理器升級為了64位的博通BCM2837,并首次加入了Wi-Fi無線網絡及藍牙功能,而售價仍然是35美元。
簡單來說,他就是一臺ARM架構的電腦,信用卡大小,他有usb接口,有hdmi接口,有音頻接口,有以太網接口等等。我們再來看看他的配置(From:維基百科):
最新的Raspberry Pi 3 B型CPU有提升,增加了板載WIFI和藍牙。但是,這樣的配置,和我們普通的PC機比的話還是差的很遠。那么,我們為什么還要使用樹莓派呢?這里簡單說說我的看法:
- 體積小:小到完全可以隨身攜帶
- 省電:我的是2代B型,配置的電源5V 2A,最大功率也才10W
-
GPIO
:這個是最吸引我的,通過它可以控制一些開關等 - 便宜:200多塊錢的價格,少吃一頓飯少看兩場電影就剩下來了
- ...
其實既然你已經決定或者已經入手樹莓派,我們就不過多的介紹他的優缺點了。反正就是你買了用起來
,不會后悔的。接下來我會把更多的精力放在我們要做的事情上,而不是糾結具體在某個版本上,因為相同的OS他們差別不是很大。我用的是樹莓派2代B型,和最新的3代比少了WIFI和Bluetooth,不過我自己準備了一個usb接口的WIFI和Bluetooth,最后我的基本配置如下:
- 樹莓派主機:2代B型
- 電源適配器:2A,看掛的負載選擇
- 存儲卡:32G Sandisk,推薦這個牌子
- 無線網卡:RTL8192CU,可選
- USB藍牙:可選
- 攝像頭:網上50快錢買的,可選
- 其他一堆硬件,如HC-SR501、LCD12864、LCD1602、MQ-135、MQ-2、DHT11等等,目前已知在用的是DHT11,檢查房間溫濕度。
~ $ lsusb
Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
0x02 網絡環境
我用的是上海電信的30MB寬帶,電信光貓下面接一個TP-Link路由器,路由器下面接上網設備。如下圖:
起初,很多人會遇到和我一樣的問題:光貓加電后就可以上網了,但是我們沒辦法通過公網訪問我路由器下的設備。解決這個問題,我們會很自然的想到對光貓進行設置。經過各種google之后,確定了一個最簡單的思路:破解光貓,從中獲取我們撥號用的用戶名和密碼,然后把光貓設置成僅僅作為貓使用,用拿到的用戶名密碼到我們的路由器中進行撥號。聽起來是不是還挺復雜的,那這里告訴你一個簡單辦法:隨便找一個理由報修寬帶,比如網速比較慢,等維修的師傅上門后告訴他你想用自己的路由器撥號上網,他就會幫你設置的。設置好這些之后我們就有了一個有公網IP的路由器。
0x03 花生殼
雖然完美有了公網的IP,但是遺憾的是,這個公網IP在每次撥號時都會變。這個問題我們可以用花生殼來解決。花生殼可以免費給我們提供DDNS服務,將我們動態的IP映射到一個域名上。這樣我們就可以在公網通過這個域名來訪問家里的樹莓派,而不用擔心自己的公網IP變來變去找不到了。所以,我們需要先注冊一個花生殼的賬號,再花5塊錢注冊一個花生殼域名,拿著這個賬號到我們的寬帶路由器上登錄即可:
很多時候事情并沒有那么完美,比如某天你會發現我們寬帶的某些端口(比如80端口)無法使用(被電信運營商封掉),這時候我們就需要使用花生殼的另一個服務:花生殼內網版 來解決。這個我會在接下來的文章中講到。
0x04 工具
俗話說工欲善其事必先利其器,在正式開始之前,給大家推薦幾個工具:
-
一個android系統的SSH客戶端工具,可以通過它直接與樹莓派相連。
-
一個客戶端工具,支持android系統,連接樹莓派后直接可以對樹莓派的GPIO進行操作。
-
這個是用來畫電路原理圖的,很Cool,非常好用。
-
iOS系統的SSH客戶端工具。
如果你有更好的工具,歡迎分享。
說了這么多,接下來正式進入樹莓派的世界,提前祝大家玩的開心~~
