2013年2月21日 星期四

Raspberry Pi 第一次接觸


Raspberry Pi是最近一年很熱門的一項產品,維基百科這麼寫著: Raspberry Pi(樹莓派)是一款基於Linux系統...它由英國的樹莓派基金會所開發,目的是以低價硬體及自由軟體刺激在學校的基本的電腦科學教育。
目前網路上已經有人將Raspberry Pi做成家庭劇院媒體播放系統、文書處理機、架設各種網路站台、檔案(NAS)或IP分享器、遊戲機或是智慧家庭系統控制等。
因此,跟著趕流行也在網路上買了一套來玩玩,Raspberry Pi 在台灣有零售代理商網站叫做Raspberry Pi台灣樹莓派,如果是想要比較有保障(保固)的話可以在零售代理商網站上購得(NTD$1833),別忘了連同附屬相關例如SD卡、USB無線網卡、...一併購買可省去麻煩。
除此之外網拍也可以購得,價格大約落在NTD$1500-1600左右,如果連同壓克力盒子及電源供應器、傳輸線等台幣2000元有找(大陸製的)。
另外還需要購買其他相關配件例如:SD記憶卡建議找 class10 4G以上;無線網路建議找EDIMAX EW-7811Un無線網卡(順X約NTD$300),其他如鍵盤、滑鼠、藍牙...等等在RPi VerifiedPeripherals官網都有列出相容清單,購買前最好先做足功課免得買回來不相容。
其他部分別忘了附屬配件如讀卡機、HDMI線、...之類的就不在詳加說明了。


關於Raspberry Pi,硬體規格概略為 Broadcom BCM2835 (700 MHz ARM1176JZF-S , 512Mb, HDMI, 10/100 Ethernet, SD card slot,...)。

作業系統部分,目前有相當多的系統已經移植到Raspberry Pi,例如Android、Linux、FreeBSD、Chrome OS、WebOS、...不過在Raspberry Pi官網目前可以下載到的有:
Raspbian “wheezy” -- 官方目前建議使用的發行套件(2013年6月改New Out Of Box Software),一般剛開始接觸Raspberry Pi建議使用,可以執行X視窗。
Soft-float Debian “wheezy” -- 適合安裝有些對硬體浮點運算不相容的軟體使用,例如Java會用到的JDK。
Arch Linux ARM -- 一個精簡小巧的系統,只有命令列使用。
RISC OS -- 如果要在ARM上面寫組合語言,這個系統唯一選擇。

上述稍為的介紹了一下Raspberry Pi,接著當然是實作一下如何安裝及設定作業系統:
實作環境:
Win8 專業版
Raspberry Pi rev 2 Model B 512MB
SanDisk Ultra 16GB Class10 SD card

步驟:
A.將作業系統燒入SD
1. 由於官網上在下載Raspbian第一句說明就是If you’re just starting out, this is the image we recommend you use..
所以我們就來玩玩這個入門系統,首先下載 Raspbian “wheezy” 映像檔:

下載完成後解壓所可以得到一個名為 : 發行年月日-wheezy-raspbian.img 映像檔

2.官網上在下載網頁中建議燒錄映像檔的軟體為Win32DiskImager。
可以在 http://sourceforge.net/projects/win32diskimager/ 網頁中下載 win32diskimager-v0.7-binary.zip (目前最新版為0.7)
將下載的檔案解壓縮後執行Win32DiskImager.exe會出現下面畫面:
3.選擇步驟1的映像檔(Image);選擇SD卡後按下write開始寫入動作。

4.當燒寫完畢,將SD卡插入Raspberry Pi;接上電源、螢幕、鍵盤滑鼠等開始進行環境設定。

B.作業系統第一次開機設定
當上述燒錄好的記憶卡裝進Raspberry Pi第一次開機會停在Raspi-config畫面,這個畫面主要有12個選項畫面:

expand_root,主要是預設安裝使用空間約為1.5G,假如你使用的是16G容量的SD卡的話,透過執行這個項目可以完整使用到所有SD卡空間。
overscan ,主要針對在比較老舊的電視畫面會出現邊框變形的調整,我是使用HDMI作為輸出這裡我設定為Disable。(也可以忽略不設定)
configure-keyboard , 這個選項非常重要由於Raspberry Pi是英國所設計出來的,系統在鍵盤佈局設定上預設為English(UK)鍵盤這與我們所使用的English(US)鍵盤設定是不相同的,所以必須要重新設定鍵盤:
這個選項按下Enter鍵後,要等一下接著選擇Generic 105-key (intl) PC,當然如果你的鍵盤型號是在清單內就直接選擇即可:

按下Enter鍵後,接著設定鍵盤佈局,這裡先選擇Other --> English(US) --> English(US) --> No AltGr key --> No compose key

接著設定當同時按下 Ctrl+Alt_Backspace 鍵離開 X Window畫面,通常為了在執行X視窗時不小心同時按到這三個鍵而造成程式中斷離開X視窗都是將它取消掉(設定No)

按下Enter後會執行前面所設定的參數儲存然後回到Raspi-config主畫面。

change_pass , 系統預設除了管理者root外還會有一個 pi 的預設使用者帳號,這個帳號也就是我們登入的帳號,預設密碼是 raspberry ,如果要改這個預設使用者的密碼使用這個選項既可。
change_locale , 這是重要選項之一主要用來設定顯示在螢幕上的字元或符號。預設是設定en_GB.UTF-8 ,同樣我們常使用的是en_US.UTF-8 UTF-8及中文,按照下面步驟來設定:
這個選項按下Enter鍵稍等一下進入Configuring locales畫面,用上下鍵找到 en_GB.UTF-8 UTF-8 會看到前面有一個*號接著按下空白鍵取消*號,然後往下找可以看到en_US.UTF-8 UTF-8 同樣按下空白鍵設定上*號;

接著,同一畫面往下找在最後倒數項目中可以選擇中文項目,在台灣當然選擇zh_TW.UTF-8 UTF-8項目,另外如果需要Big5、簡體中文等(通常遇到一些網頁、文字檔案等顯示時會用到)視個人情況來設定。

按下Enter鍵後接著來到剛所選擇的項目中預設顯示字元,為避免進入命令列(command line)畫面執行指令時出現亂碼這裡當然選擇預設為英文字元顯示,要不然所有回應的訊息會出現亂碼。

按下Enter後會執行前面所設定的參數儲存然後回到Raspi-config主畫面。

change_timezone ,這不用多說了吧!當然進入選項中選擇台北囉。(Raspberry Pi不像電腦它沒有時鐘及電池記憶時間,時間設定部分靠著開機後的網路同步或指令設定)

memory_split ,這是設定GPU所使用的記憶體,預設為64Mb 通常取決在如果是用來跑多媒體時記憶體就給多一點,如果是做應用服務就給少一點。

overclock , 這就不用多說了吧!記得如果是因為超頻而導致系統損壞Raspberry Pi是不保固的。

ssh , 這也是重要選項之一遠端連線就靠它了,選擇Enable。

boot_behaviour , 設定一開機時是否直接進入X視窗畫面。(視個人情況來設定)

update , 接上網路升級Raspi-config。

完成上述設定後,用Tab鍵選擇按下Enter鍵會確定是否要重新啟動,按下Enter系統就重新啟動:

C.系統開機
下面是設定完成後重新開機畫面(開機約30s完成):

如果上述設定有需要修改的話,打開終端機或進入命令列執行 sudo raspi-config 就可以修改系統相關的設定。

接下來就是網路的設定,這部分就留在下一篇在整理分享了。

最後,因為Raspberry Pi是ARM11家族的嵌入式系統,所以別指望他會有如PC般的執行效能,例如你可能用它的網頁瀏覽器來開這個部落格,CPU可會是滿載的。
Raspberry Pi的價值及定位就是一片如同信用卡般大小的嵌入式系統,經我量測過平均耗電量約2瓦而且CPU根本沒啥熱量,好用的地方在於它跟Ubuntu的使用方式一樣,需要的套件只要用apt-get上網抓就行了根本不用做交叉編譯的移植可以省去相當多的步驟及時間,況且才一年多的產品網路資源已經相當豐富這對於剛入門嵌入式是個很好學習的路徑,有興趣試試看吧。

後記:
目前網路上有幾個前輩的部落個寫得不錯,在這裡推一下:
1.葉難
http://yehnan.blogspot.tw/

2.Raspberry Pi 的奇幻漂流
http://life-of-raspberrypi.blogspot.tw/

3.ㄆㄜ ㄊㄧㄡ ㄙˋ
http://ruten-proteus.blogspot.tw/

參考:
1.Raspberry Pi -- 維基百科
http://zh.wikipedia.org/wiki/%E6%A0%91%E8%8E%93%E6%B4%BE

2.Raspberry Pi 能做什麼
http://life-of-raspberrypi.blogspot.tw/2012/12/raspberry-pi-16.html

3.Raspberry Pi - Installing the Edimax EW-7811Un USB WiFi Adapter (WiFiPi)
http://www.savagehomeautomation.com/projects/raspberry-pi-installing-the-edimax-ew-7811un-usb-wifi-adapte.html

3.RPi VerifiedPeripherals
http://elinux.org/RPi_VerifiedPeripherals

4.Raspberry Pi台灣樹莓派
http://www.raspberrypi.com.tw/

5.Android 4.0 is coming!
http://www.raspberrypi.org/archives/1700

6.RPi Beginners
http://elinux.org/RPi_Beginners

7.RPi raspi-config
http://elinux.org/RPi_raspi-config


==============延伸閱讀=====================
1. Raspberry Pi 第一次接觸
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi.html

2.Raspberry Pi 網路設定
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi_23.html

3.Raspberry Pi 應用之Windows檔案伺服器
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi-windows.html

4.Raspberry Pi 應用之DLNA影音伺服器
http://cheng-min-i-taiwan.blogspot.tw/2013/02/raspberry-pi-dlna.html

5.Raspberry Pi 硬體控制-- Python 語言篇
http://cheng-min-i-taiwan.blogspot.tw/2013/04/raspberry-pi-python.html

6.Raspberry Pi 硬體控制-- C 語言篇
http://cheng-min-i-taiwan.blogspot.tw/2013/04/raspberry-pi-c.html

7.Raspberry Pi 2 Model B 使用心得
http://www.cheng-min-i-taiwan.blogspot.tw/2015/02/raspberry-pi-2-model-b.html

8.Raspberry Pi 藍牙4.0應用之iBeacon 發射器
http://www.cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pi-40ibeacon.html

9.Raspberry Pi安裝MQTT之應用 -- Android訊息推播
http://www.cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pimqtt-android.html

10. Raspberry Pi安裝MQTT之IoT應用 -- Android示範
http://cheng-min-i-taiwan.blogspot.tw/2015/03/raspberry-pimqttiot-android.html#more

6 則留言:

  1. 您好,我想請問您耗電量是如何測得的(是用功耗計?),謝謝

    回覆刪除
    回覆
    1. 用電壓電流表,請參考:http://www.cheng-min-i-taiwan.blogspot.tw/2015/02/raspberry-pi-2-model-b.html

      刪除
    2. 另外也用變電家: http://www.eclife.com.tw/ups/moreinfo_24140.htm

      刪除
    3. 您好
      我也想瞭解一下測量方式,不曉得有沒有可以測量pi電流電壓功耗狀態的設備
      並且可以產生log 到電腦做記錄
      謝謝

      刪除
    4. 我的測量方式就是用電壓電流表加上目視而得到,如果你要產生Log紀錄到PC上的話,我的建議你可以用arduino加上類似下面的模組應該可以達到,至於能達到的精準度的部分我就不清楚了。 http://goods.ruten.com.tw/item/show?21443537493982

      刪除