2012年12月30日

Raspberry Pi 新手上路,安裝作業系統、設定無線網路與加裝 Node.js 筆記

Raspberry Pi (Model B)
收到 Raspberry Pi 後,第一步是先安裝作業系統,需要準備兩項東西:
  1. Raspbian “wheezy” (Debian Linux for Raspberry Pi / ARM 架構)
    下載 *-wheezy-raspbian.zip (例如 2012-12-16-wheezy-raspbian.zip)
  2. SD 記憶卡一張(讀寫愈快愈好)
    *關於記憶卡讀寫速度實測請參考「RPi Performance SD Card Test Result」

解壓縮:

unzip 2012-12-16-wheezy-raspbian.zip

解壓縮後會得到 2012-12-16-wheezy-raspbian.img 檔案。

將 SD 卡插入,以下是 Mac OS X 下將 *.img 映像檔寫入 SD 卡的方法(直接複製檔案沒有用喔)!

1) 先卸載 SD 卡

sudo umount /dev/disk3s1


diskutil unmount /dev/disk3s1

2) 利用 dd 指令將映像檔寫入記憶卡

sudo dd bs=1m if=2012-12-16-wheezy-raspbian.img of=/dev/rdisk3

完成後將 SD 卡退出,並插入 Raspberry Pi 的卡槽。

將 Pi 連接 HDMI 線(接到電視或外接螢幕),接上 USB 連接線到  Micro USB 母座(電源),還有 USB 鍵盤,就會進入開機程序。

第一次開機會進入設定畫面,建議在這邊先將 Keyboard 設定好,並且打開 SSH 方便日後遠端連線登入。

從第二次之後的開機,需要帳號密碼登入:

Username: pi
Password: raspberry

關於顯示器

如果小有預算,可以考慮國產的 GeChic 2510M 行動顯示器,它的優點是內建鋰電池、可用 USB 供電,最重要的是提供 HDMI 接線,所以跟 Raspberry Pi 搭配很理想。

無線網路設定

由於 Raspbian 是 Linux 作業系統,並非每張無線網路卡都能正常驅動,有的卡還要加裝驅動程式很麻煩。因為現在的 USB 802.11n 迷你型無線網卡非常便宜(幾百元解決),所以最省事的作法就是先爬文,然後找一張免驅動的網卡,這樣就不用再花時間搞驅動設定。

剛好手邊之前給網樂通(已故?!)用的 EDIMAX USB 網卡相容性極高,插上 Raspberry Pi 開機後就已驅動完成。
  • EDIMAX EW-7711UTn (訊舟) <--經筆者測試免裝驅動可正常使用
  • ... 其他請參考 Raspberry Pi 相容無線網卡列表

要測試驅動是否通過,作法有幾種:

1) 執行 ifconfig 或 iwconfig,看到 wlan0 就代表無線網卡已可用
2) 執行 dmesg | grep usb 指令,找尋類似 usb 1-1.3: Product: 802.11 n WLAN 的訊息

接著使用 iwlist 掃描範圍內可用的基地台訊號:

sudo iwlist wlan0 scan | grep ESSID

接著修改 wlan0 的設定,因為 Rasbian 預設並沒有 vim,這時候 nano 加減用:

sudo nano /etc/network/interfaces

找到 wlan0 的設定區,將設定改成以下:

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid SSID
wpa-psk PASSWORD

其中 SSID / PASSWORD 填入基地台訊號的 SSID 名稱與密碼,將預設的 manual 改為 dhcp(自動取得 IP / DNS);原有一行「wpa-roam」設定可將它移除。

Nano 的簡易操作提示:
  • Ctrl + O 存檔(需要再確認檔名後多按一次 ENTER 才寫入)
  • Ctrl + X 離開

再來重新啟動無線網路介面。

sudo ifdown wlan0
sudo ifup wlan0

等待 DHCP 取得 IP,成功會顯示「bound to 192.168.......」訊息。

輸入「ifconfig」確認 wlan0 取得的 IP 位址。

wlan0     Link encap:Ethernet  HWaddr 00:1f:1f:a8:c6:85
          inet addr:192.168.0.105  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2618 errors:0 dropped:0 overruns:0 frame:0
          TX packets:709 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:566345 (553.0 KiB)  TX bytes:123308 (120.4 KiB)

再用 ping 確認網路已連線。

$ ping google.com
PING google.com (74.125.128.102) 56(84) bytes of data.
64 bytes from hg-in-f102.1e100.net (74.125.128.102): icmp_req=1 ttl=46 time=36.4 ms

到這邊就已經完成無線網路連線設定了,需要了解更多 Pi 的無線網路設定可參考:

Raspberry Pi A Quick-Start Guide
http://media.pragprog.com/titles/msraspi/wifi.pdf

遠端登入

除非想要使用 PI 的 X Window 桌面,否則直接用筆電遠端連線到 Pi 還是比較省時省力的方式,這邊只要用一般的 SSH 連線登入:

ssh pi@192.168.0.100

因為 Raspbian 已經內建 X Window / LXDE 桌面軟體,利用 SSH 的 -X 選項可以建立 X11 Forwarding,也就是讓 Pi 機器上執行的 X 應用程式,遠端傳送到本地的畫面。Linux 桌面系統可以直接執行:

ssh -X pi@192.168.0.100

Mac OS X 的使用者,需要先安裝「XQuartz」這套軟體,才能擁有可執行 X11 桌面的環境。

Mac OS X + Raspberry Pi Using SSH X11 Forwarding
Raspberry Pi X11 Forwarding

安裝套件(以 Node.js 為例)

Raspbian 以 Debian Linux 為基礎,代表著我們有機會用 apt-get 取得資源豐富的軟體套件,而不用再自己動手編譯軟體。畢竟 Raspberry Pi 是 ARM 處理器架構,用習慣高速桌機筆電的開發者,在 Pi 上編譯軟體應該會覺得慢到吐血;一般來說,我們並不會真的在 Pi 這種嵌入式裝置上面編譯軟體,而是透過 GCC Cross-Compiler 在開發端先將軟體編譯打包好,再丟給 Pi 安裝使用。

幸好 Raspbian 的 Package Repositories 已經有豐富的 DEB 套件可用,以安裝 Node.js 來說,只需要下一行指令:

sudo apt-get install nodejs

裝好之後就可以擁有 Node.js 執行環境。

當然其他還有很多常用軟體,也都可以用 apt-cache search 尋找及 apt-get 搞定安裝。

apt-cache search vim
sudo apt-get install vim

到這裡相信讀者應該已經能想到不少 Pi 的應用啦?!讓我們一起來「Raspberry Pi 的奇幻漂流」吧~~

2 則留言:

  1. 太酷了~它可以在哪裡買到阿

    回覆刪除
  2. 欸 可以直接安裝NODEJS嗎 之前方法都好麻煩

    回覆刪除

lyhcode by lyhcode
歡迎轉載,請務必註明出處!