第一次玩樹莓派就上手 – Raspberry PI 3 model B 新手上路

樹莓派 Raspberry PI 3 Raspbian Desktop

此篇文章 獻給 所有第一次把玩樹莓派的新手、以及樹莓派的愛好者。

 

Raspberry Pi 3 Model B.png
By HerbfargusOwn work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47497384

 

目標

建立一個省電的家用伺服器

 

小弟選用樹莓派作為家用伺服器,一來考量到節能 (待機 1 ~ 2 瓦),

二來考量到 Raspberry PI 3 效能不錯,約略 2011 – 2012 年旗艦等級的智慧型手機規格。

其實家中有沒在使用的智慧型手機都可以來改造成家用伺服器。

小弟非企業級用戶、沒有效能的需求。

硬體準備

  1. Raspberry PI 3 (樹莓派) Model B ARMv8 1GB RAM
  2. 原廠透明殼 – 簡單防塵、手摸靜電、隔絕外面可能會破壞電路板的因子
  3. Micro SD 卡 – 因為要安裝作業系統 至少 2GB 以上
  4. HDMI 線
  5. 準備一個支援 HDMI 輸入的螢幕 注 [1] 
  6. Micro USB 線 跟 5V / 2A 的電源供應器
  7. USB 滑鼠 與 鍵盤 注 [2]
  8. Micro SD 卡讀卡機,建議準備一塊 SD Adapter 注 [3]

注 [1] : 如果像小弟一樣沒有 HDMI 螢幕 只有11年前很舊的螢幕,還要自備 HDMI 轉 VGA / DVI 的線。
注 [2] : 有些舊滑鼠 / 舊鍵盤 的接頭 是 PS/2 參考 , 就需自備 PS/2 轉 USB,也可以使用無線藍牙 滑鼠 / 鍵盤。
注 [3] : 小弟測試不同的平台,發現 SD Adapter 支援的裝置,比很多讀卡機好。
注 [4]: 小弟我使用的 HDMI 轉 VGA 的線是用 這條。  

樹莓派硬體 Raspberry PI Suite

 

不才小弟是從天瓏書局購入此組合包,組合包沒附贈的東西就得自行購入、準備。

樹莓派 組合包

 

作業系統安裝

  1. Raspberry PI 官網 下載 NOOBS 壓縮檔。
  2. 將 Micro SD 卡 置入 SD Adapter,按造此 官方文件 格式化。注 [4]
  3. 將 NOOBS 壓縮檔裡所有檔案解壓縮放進 SD 卡裡。
  4. 把 Micro SD 卡拔出 Adapter,並插入樹莓派插槽。
  5. 裝上樹莓派外殼 (如果有的話),插上鍵盤滑鼠、插上 HDMI與外接螢幕、Ethernet 網路線 (如果有的話)、Micro USB 線。
  6. 開機並等待安裝畫面,如果無法正常進入安裝畫面回到第一步測試。
  7. 如果需要其他作業系統、可以設定 有線 或 無線 網路來下載作業系統安裝。

注 [4] : 假設你是用 Windows 平台,首先必須用 SD Formatter 刪除格式化 SD 卡 (開啟自動調整尺寸)、
使用 guiformat.exe 來格式化 SD 卡為 FAT 32 格式。

如果文字說明不太清楚,讀者可以參考官方文件的教學影片。

連結: https://www.raspberrypi.org/help/videos/

Setting up your Raspberry Pi from Raspberry Pi Foundation on Vimeo.

Getting started with NOOBS from Raspberry Pi Foundation on Vimeo.

 

安裝完的桌面環境

樹莓派 Raspbian 桌面

 

螢幕輸出問題

如果讀者不幸發生像小弟一樣的問題,就是只有一台很舊 (2005年) 的 VGA 外接螢幕可以用。( HDMI 都拿去看電視了 ) 

然後因為 HDMI 輸出無法直接插上 VGA 外接螢幕,所以需要一條 HDMI 轉 VGA 的線,而且即使接上去螢幕畫面還是黑的、或出現螢幕超出範圍的訊息。

這時候就必須修改 GPU 設定檔。  

  1. 首先你至少要先借一台 HDMI 螢幕可以看到作業系統 桌面 或者 終端機
  2. 然後使用 sudo  -i 進入 root 帳號
  3. 備份設定檔 cp  /boot/config.txt  /home/pi/config.txt.bak 
  4. 根據手邊有的螢幕做設定修改設定檔 vi /boot/config.txt  
  5. 以小弟為例 設定檔 在這裡 (強制 VGA 輸出、HDMI 安全模式)
  6. 修改完儲存,重新開機。

Raspberry PI 3 Model B for VGA 設定檔:

https://github.com/duraraxbaccano/gist/blob/master/raspberrypi/raspberry-pi-config-for-vga.txt

 

修改結果

樹莓派桌面 VGA 輸出

 

軟體準備

安裝完作業系統,會有預設的管理者帳號 pi ,密碼是 raspberry。

強烈十分建議把預設密碼改掉,從左上角 Menu / 偏好設定 / Raspberry PI 設定 裡可以更改密碼。

或者

打開 LX Terminal ,執行 passwd 更改密碼。

How to change password in Raspberry PI

 

更改密碼讓你的主機在公開網路上不會被人輕易取得系統管理者帳號。

 

新增 / 刪除 使用者

Raspbian 作業系統是基於開源 Linux 作業系統修改、維護,
支援多人多工同時連線作業。所以可以開帳號讓使用者登入使用。

在 終端機 或 LX Terminal 底下,以下 <username> 代表你可以任意一個名字、新帳號名。

新增使用者:

sudo useradd <username>

或者

sudo adduser <username>

然後輸入新密碼、其他資訊完成創建帳號。

 

刪除使用者:

sudo userdel -r <username>

給予使用者管理權限:

sudo usermod -a -G sudo <username>

或者

sudo visudo

(可以參考這裡、盡量小心使用此指令)

 

列出系統上有哪些使用者:

compgen -u

 

架設 SSH、HTTP、Remote Desktop 伺服器

在終端機安裝任意套件時,請先確保所有套件已經更新,避免遇到不能安裝的情形。

在安裝下列任意套件以前,請先執行 :

sudo apt-get update

 

SSH 伺服器

先架設 SSH Server 使用 port 22。

SSH 是用終端機來遠端登入主機或伺服器、然後操作控制電腦的服務。

安裝:

sudo apt-get install openssh-server

然後啟動 SSH 服務

sudo service ssh restart

之後你可以設定 /etc/ssh/sshd_config/etc/host* 來更改 SSH 設定 或者 拒絕哪些 IP 和 帳號連線。

 

Remote Desktop 伺服器

如果終端機用不習慣,想要遠端桌面像 TeamViewer 一樣,連線看到樹莓派桌面。

遠端桌面使用 3389 port。遠端桌面的帳號密碼就是前面 新增使用者 設定 的 帳號和密碼。

安裝:

sudo apt-get install xrdp

然後啟動 xrdp 服務

sudo service xrdp restart

 

然後 macOS 就可以利用 Microsoft Remote Desktop 遠端桌面進去,

macOS APP 下載連結

Mac Remote Desktop to Raspberry PI 3

 

Windows 直接使用內建的遠端桌面即可。示意圖遠端桌面連線到 Ubuntu 伺服器。

Windows Remote Desktop to Ubuntu

 

 

HTTP 伺服器

HTTP 靜態伺服器有很多種,Simple HTTP Server (Python)、 PHP 7 內建伺服器、Rails Server、Node.js。

那為了之後能夠快速串接各種 PHP 模組、資料庫,比較好擴充各種成熟的模組跟網路元件。我們這裡使用 Apache Server,

全世界最多人使用的伺服器。預設使用 port 80。一個 port 號只能對應一支應用程式。

安裝:
sudo apt-get install apache2

啟動:

sudo service apache2 restart

然後你的靜態網頁檔案可以放在資料夾

/var/www/html

在瀏覽器網址列裡輸入 http://localhost 按 enter 就看得到了。

 

網站伺服器

最後再簡單說明一下如何架一個公開的網站,以 WordPress 為例,

我這邊已經架好一個 樹莓派主機的 WordPress 網站。

網址:

https://www.lin.codes

教學:

官方文件 1: https://www.raspberrypi.org/documentation/remote-access/web-server/apache.md

官方文件 2: https://www.raspberrypi.org/learning/lamp-web-server-with-wordpress/

1. 安裝完 Apache2 之後,接下來使用 sudo apt-get update 和 sudo apt-get dist-upgrade 確保系統到最新版本。

2. 安裝 PHP, Apache PHP模組, MySQL, Apache MySQL 模組 (加上 Raspbian [Linux] 就是所謂的 LAMP 架構 )。

3. 安裝 MySQL 過程當中 會設定帳號密碼。

4. 終端機裡利用 mysql 創建給 wordpress 用的資料庫、帳號、與對應的權限 。

5. 從 wordpress 裡抓取最新的封包,並且解壓縮所有檔案到 /var/www/html 。

6. 重新啟動 Apache2 。

7. 從瀏覽器進入 localhost 安裝 WordPress、設定 MySQL 帳號、WordPress 系統使用者帳號。

8. 完成後應該可以看到區域網路內架起來一個 WordPress 網站。

9. 申請一個 公開 IP 給外面公開網路使用者連線進來。在樹莓派裡設定使用這個公開 IP,並確保樹莓派連上網路。 注 [5]

10. 買一個網址、並在 DNS 代管裡面設定 網址 與 公開 IP 的 A 記錄、MX 記錄 … ( IPv6 就是 AAAA 記錄 )。注 [6]

 

注 [5] : 中華電信 Hinet 用戶,可以免費申請一個固定 IP。可以參考下方文獻。如果使用中華電信光世代、Hinet ADSL ,
樹莓派連線時就用加裝 PPPOE config 模組,輸入 Hinet 帳號密碼連線進入。詳細請參考下方文獻。

 

注 [6]: 設定好新網址的 DNS 記錄之後,原來 WordPress 內網址設定需要更新,可以參考下方文獻,
有兩個地方要改一個是 wp-config.php、跟資料庫裡 wp_options 裡的 siteurl 跟 home 欄位。

可以參考官方文件:
https://codex.wordpress.org/Changing_The_Site_URL

 

能耗表現

Raspberry PI 3 model B

使用 USB 電壓電流偵測器、瓦特計來測量 樹莓派 功耗。

Logitech 無線鍵盤滑鼠 + 接上 HDMI VGA output + 開機待機 -> 5.2V 0.43A

case 1 Vott

case 1 Amp

Logitech 無線鍵盤滑鼠 + 無螢幕輸出 + 待機 -> 5.17V 0.28A

case 2 Amp

無任何外接裝置 + 待機 -> 5.17V 0.22A

純待機電力 1 w 多一些

瓦特器 實際能耗

Logitech 無線鍵盤滑鼠 + 接上 HDMI VGA output + 開機待機 -> 5.2V 0.43A 情況之下 消耗 2.4 W

case 1 watt

Logitech 無線鍵盤滑鼠 + 無螢幕輸出 + 待機 -> 5.17V 0.28A 情況之下消耗 2W

case 3 watt

變壓器轉換效率

原則上輸出越高壓、轉換耗損越低。

平均來看大概 將近 75%。如果對如何用 Linux 指令監測電力、電量、調節系統,

參考文獻裡有一些 Linux 常用的能源監視器指令套件可以參考。

 

以上。

感謝大家的閱讀 ! 下次再見。

預計下次 補完 樹莓派 中文化 跟 HTTPS 的設定。

See you.

參考文獻

Raspberry PI 能源監控:

https://askubuntu.com/questions/73904/how-do-i-monitor-power-consumption

中華電信 固定 IP + PPPOE 連線:

https://0975128810.blogspot.tw/2016/02/raspberry-ip-pppoe.html
https://blog.itist.tw/2015/02/raspberry-pi-pppoe-connection.html

MySQL 資料庫設定:

http://coding.memory-forest.com/用命令列管理mysql使用者.html
http://stackoverflow.com/questions/9887364/create-command-denied-to-user

WordPress 設定:

https://www.raspberrypi.org/learning/lamp-web-server-with-wordpress/worksheet/
https://codex.wordpress.org/Changing_The_Site_URL

SSH

http://www.arthurtoday.com/2010/08/ubuntu-ssh.html

XRDP

http://blog.itist.tw/2015/02/use-xrdp-service-to-remote-controll-x-window-for-raspberry-pi.html

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *