樹莓派:開機使用

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

 

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

 

硬件介紹

下圖中是一臺樹莓派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系統。socket

Raspbian系統的操做界面編程語言

 

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

 

1)Unix系統ide

若是你的電腦是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

 

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

 

歡迎閱讀「騎着企鵝採樹莓」系列文章