樹莓派:開機使用

作者:Vamei 出處:http://www.cnblogs.com/vamei 嚴禁任何形式轉載。

樹莓派是一款信用卡大小的超小型電腦,由英國的樹莓派基金會研發。由於超小的體積,樹莓派從2012年發行起就風靡全球。別看樹莓派身板小,它可是一臺功能完整的電腦。連接上顯示器、鼠標和鍵盤後,你可以像使用一般臺式機那樣使用樹莓派。對於樹莓派3來說,還內置了WiFi和藍牙的無線支持,可以更方便地進行無線連接。在許多硬件創新項目中,都可以看到樹莓派的身影。我將在一系列文章中,介紹樹莓派的基本用法。

硬件介紹

下圖中是一臺樹莓派3。可以看到,它提供了豐富的接口。

圖中標出了樹莓派的主要接口。第一次啓動樹莓派,你需要接入USB接口的鼠標和鍵盤,以及常見的HDMI顯示器。此外,你還需要一個輸出電壓爲5V的電源。這個電源線的輸出端是Micro USB,與樹莓派連接。樹莓派官方的電源插座可以直接插到家用的220V電壓插座上。或者,你也可以買一根USB轉Micro USB的連接線,把USB那一端插入到PC或其他提供電源的USB端口。一旦接上,樹莓派就會自動啓動。

我們可以順便看一下樹莓派上的其他硬件。樹莓派正中是博通的ARM CPU,也就是ARM的心臟。除此之外,正面還有一個GPU芯片,主要用於圖像處理。芯片背面的方形芯片,是樹莓派的內存。樹莓派主要靠這三個芯片進行最重要的控制和運算工作。此外,樹莓派還提供了很多通往外部世界的接口。圖中最右側有4個USB口和1個以太網口。在以太網接口插入網線,就可以有線地連接到互聯網。下側除了電源接口、連接顯示器的HDMI輸出口和音頻口,還有一個用於連接專用攝像頭的排線口。需要注意的是,樹莓派只有在開機時檢查到顯示設備時,纔會向HDMI端口輸出,所以必須在開機前就連好HDMI接口的顯示器。左側的上面有一個顯示的排線口。考慮到HDMI的廣泛使用,該插口出場機會不是很高。左側的下面有一個Micro SD卡的插口。這張SD卡取代了一般電腦中的硬盤。樹莓派的上側還有一排針腳,構成了通用編程接口(GPIO)。GPIO可以用於和很多原始的硬件外設進行底層連接。

系統安裝和啓動

樹莓派只是硬件,我們還需要軟件來讓樹莓派跑起來。樹莓派上最基礎的軟件就是它的操作系統。由於樹莓派用一張Micro SD卡來作爲它的存儲空間,所以操作系統也是安裝在這張SD卡上。樹莓派官網提供了Raspbian的鏡像文件,只需要把這個鏡像文件燒錄到SD卡上,就可以把這張SD卡插入到樹莓派中使用了。Raspbian是繼承自Debian操作系統。Debian是Linux的一個發行版本,而Linux又遵從Unix的規範。因此,假如你熟悉Unix家族的任何一款操作系統,都能很快上手樹莓派。反過來說,當你熟悉了Raspbian,那麼也能熟練運用蘋果OS X這樣的Unix系統。

Raspbian系統的操作界面

對於樹莓派來說,所有的軟件都安裝在一張小型SD卡上,操作系統也不例外。缺了這張SD卡,樹莓派就根本沒法使用。我們需要另外一臺電腦來把操作系統的程序存入到這張SD卡中。不用說,這臺電腦必須有SD卡的讀寫口。很多筆記本電腦都自帶SD卡插口。即使沒有,一個USB接口的讀卡器也可以很便宜地買到。此外,你還要到樹莓派官網去下載操作系統的源文件。由於操作系統不時會更新,所以文件的名字也會有差異。我在下文中統稱文件名爲raspbian.image。

1)Unix系統

如果你的電腦是Unix系統,如Linux和Mac OSX,我們可以用現成的工具來爲樹莓派製作操作系統。把SD卡插入電腦的讀卡槽後,我們首先要找到SD卡掛載的路徑。

如果是在Mac OSX下,那麼輸入下面命令,可以列出掛載的所有存儲設備:

diskutil list

從中找到對應SD卡大小的設備,並記下它的路徑,如/dev/disk3。如果是Linux系統下,那麼可以用如下命令來找出路徑:

sudo fdisk -l

然後,可以使用UNIX系統下共通的dd工具,把鏡像文件寫入SD卡:

sudo dd if=/dev/disk3 of=./raspian.image

2)Windows系統

在Windows下,有現成的圖形化軟件來完成上述鏡像燒錄工作,比如樹莓派官網推薦的Win32DiskImager。整個操作過程比UNIX系統更加簡單,這裏不再贅述。

寫入完成後,把SD卡插入到樹莓派的卡槽中,爲樹莓派連通電源,就可以從屏幕上看到樹莓派的啓動畫面了。

桌面

開機完成後,就可以進入到Rapbian的圖形化桌面了。圖形化桌面提供的主要功能,都包含在上方的導航欄中:

 Raspbian系統的操作界面

導航欄左上角的菜單(Menu) 包含了很多應用軟件。菜單中提供了很多功能軟件:

  • Programming:編程工具,如動態編程語言Python,用於數學運算的Mathematica,以及用於編程教育的Scratch等。
  • Office:辦公軟件,即開源的LibreOffice套裝。
  • Internet:互聯網軟件,如電子郵件客戶端和瀏覽器。
  • Games:遊戲。這裏有點失望,除了Minecraft,就是用於遊戲編程的Python Games。
  • Accessories:工具軟件,如文件管理器File Manager、終端Terminal、文本編輯器等。
  • Sound & Videos:VLC播放器。

此外,菜單終端Preferences用於系統設置,你可以在裏面設置時間、語言、顯示等選項。最下方的Shutdown按鈕用於關機或重啓。

緊鄰着菜單的是來自菜單的五個常用軟件,依次是瀏覽器、文件管理器、終端、以及進行科學運算的Mathematica和Wolfgram。在我們的教程中,最常用的就是其中的終端。右側的幾個按鈕中,從左到右依次是藍牙、Wifi、聲音控制、CPU使用監控、時間。你可以通過Wifi按鈕來連接無線網。最右端列出了所有的可插拔設備,如USB存儲器。桌面上除了碩大的樹莓派標誌,就是一個回收箱Wastebasket。

樹莓派的圖形化桌面確實可以讓人探索一段時間。但這個桌面可以說有一些簡陋。“畫面精美”從來都不是Linux的長處。如果你真的想用這樣的桌面系統進行辦公的話,恐怕要更加失望。那樹莓派的瀏覽器打開網站上的視頻,你很可能會遭遇緩慢的頁面加載的緩慢和卡頓的視頻播放。你要是想開多個窗口工作的話,桌面很容易就會崩潰。畢竟,樹莓派的配置很低端,而計算機圖形的呈現都相當消耗資源。幸好,Linux提供了更好的與樹莓派的方式:Shell。

打開終端(Terminal),桌面上就會出現一個黑色背景的窗口。窗口上顯示着:

pi@raspberrypi:~ $

這裏的pi是你的用戶名,raspberrypi是計算機的名字。$是命令提示符。如果你敲擊鍵盤,會發現字符會顯示在$提示符的後面,形成一串文本形式的命令。所謂的Shell,就是運行在終端中的程序。它會分析你的文本輸入,然後把文本活動轉換成相應的計算機活動,不多也不少。

比如說輸入date命令:

date

敲擊回車鍵Enter後,會顯示出系統當前的時間。

Shell看起來簡陋,但實際上比圖形化桌面強大得多。Linux操作系統繼承自Unix操作系統。無論是Linux,還是Unix操作系統,最初都只提供了Shell這一種用戶操作界面。後來發展起來的圖形化的桌面沒法提供Shell的所有功能。如果你習慣了這個文本操作界面,還會發現它不但比桌面強大,還比桌面好用得多。現在,我將介紹一些命令,一方面讓你更加了解樹莓派,另一方面也讓你體驗一下Shell。

瞭解你的樹莓派

1)Linux通用命令

Linux系統提供了各種各樣的命令。在Shell中輸入這些命令,就可以實現許多功能。我在這裏介紹一些命令,幫助你來了解自己的樹莓派。首先用lscpu的命令來查詢CPU的信息:

lscpu

終端窗口中就打印出CPU的信息:

Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1200.0000
CPU min MHz:           600.0000

可以看到,我的樹莓派用的是4核的ARM處理器,最高頻率可以達到1200MHz。

然後,可以用free命令來了解內存使用狀況:

free -h

在使用上面的命令時,增加了-h的選項。這裏的字母h是human readable的意思,即把原本以字節爲單位的結果,轉換成更適合顯示的單位。結果如下:

             total       used       free     shared    buffers     cached
Mem:          862M       739M       122M        14M        44M       397M
-/+ buffers/cache:       298M       563M
Swap:          99M         0B        99M

可以看到,內存總量是862M,在接下來的列中,還可以看到已用和自由的內存空間。

然後,我們可以看看SD卡的存儲情況,用命令fdisk: 

sudo fdisk -l

命令fdisk用於顯示磁盤信息。選項-l表示列出所有磁盤。我們又看到命令前面增加了sudo。因爲fdisk命令的執行需要超級管理員的權限,sudo正是以超級管理員的身份來執行fdisk。結果的最後兩行如下:

Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        8192   131071   122880   60M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      131072 30318591 30187520 14.4G 83 Linux

整個SD卡被分成了兩個分區。一個分區有60M大小,專門用於樹莓派的開機啓動。另一個分區用於儲存其他的所有數據。

使用lsusb,可以找到所有的USB外設:

Bus 001 Device 005: ID 0e8f:2517 GreenAsia Inc. 
Bus 001 Device 006: ID 045e:0750 Microsoft Corp. Wired Keyboard 600
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

使用uname -a,可以完整地顯示出操作系統的信息:

Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux

我的系統使用的內核是Linux4.1.19版本。還能從輸出結果中看到內核的發佈時間是2016年3月15號。

最後,你可以用ifconfig命令來查看網絡接口。命令運行結果如下:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:d8:ed:f4  
          inet6 addr: fe80::9b8b:c0de:d083:6ddd/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:243 errors:0 dropped:0 overruns:0 frame:0
          TX packets:243 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19020 (18.5 KiB)  TX bytes:19020 (18.5 KiB)

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:8d:b8:a1  
          inet addr:192.168.0.108  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe8d:b8a1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45926 errors:0 dropped:4268 overruns:0 frame:0
          TX packets:10469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:26867855 (25.6 MiB)  TX bytes:1360267 (1.2 MiB)

其中eth0代表了以太網接口,wlan0代表了Wifi接口。而lo是虛擬出來的本地接口,用來表示本機。在連接上網的接口中,我們可以看到該接口的IP地址等信息。例如說wlan0的IP地址是192.168.0.108。由於我沒有插網線,所以eth0並沒有IP地址。

2)樹莓派專用命令

除了通用的Linux命令,樹莓派還提供了vcgencmd命令,用於和樹莓派硬件直接互動。比如在Shell中執行:

vcgencmd measure_temp

上面命令中,第二段的measure_temp稱爲命令的參數。參數是選項之外另一種給命令提供額外信息的方式。上面的命令將返回CPU的溫度:

temp=51.5'C

用下面命令測量樹莓派的核心電壓:

vcgencmd measure_volts core

返回電壓值:

volt=1.2000V

vcgencmd提供的功能還有很多。除了顯示硬件信息,你還能用這個命令來控制硬件。它的用法不再一一列舉,具體可參考vcgencmd

這一篇介紹了樹莓派的硬件和基本操作,並由此開啓樹莓派之旅。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章