樹莓派 4 新手入門開發紀錄

紀錄入手樹莓派後的開發(踩雷)紀錄

Lai
UnaLai
9 min readMay 15, 2020

--

筆者是從不知道樹莓派是什麼,也不懂電路開始的😅 光是用程式碼讓一顆燈泡亮起來,就折騰了一陣子了😅

此篇文章主要紀錄拿到樹莓派後,做的一系列事情,這篇文章適合跟筆者一樣新手的孩子們。目標是讓 Express.js 框架建構的專案,在樹莓派開機時自動 Run 起來,專案內容主要是監控、控制 GPIO。專案內容非本文章重點,本文先以樹莓派為主。

好低,我們開始吧!

➤ 什麼是樹莓派?

樹莓派是基於 Linux 系統的小型電腦,由英國樹莓派基金會開發,麻雀雖小,五臟俱全。一般電腦能夠做的事情,樹莓派幾乎都能夠運作。以樹莓派4 為例,具備有 WIFI、USB2/3、HDMI 等。

官網產品圖片(https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)

樹莓派除了可當作一般電腦操作外(玩遊戲、看影片等),因具備 GPIO ,可另外串接其他設備, 用於開發智能家電監控系統或其他有創意的應用。價格也十分親民,滿推薦大家入手一塊玩玩看。

💡提醒:樹莓派插電後即開機。如果不是特殊狀況(ex:死當到失控了),請正確關機,且無綠燈閃爍才能拔掉插頭。如果希望開關機按鈕,可以買附有電源控制的電源線(點我查看賣場商品資訊)。

💡提醒:樹莓派4 HDMI 為 Micro HDMI,購買時可以連轉接頭一起購買。

➤ 安裝作業系統

如果想省略這個步驟,有些廠商直接販賣燒錄好的 SD card。如果要自己燒錄的話,請繼續往下看。

STEP1:下載官方推薦的 Raspberry Pi Imager 燒錄軟體(點我去下載)

STEP2:將 SD card 插入讀卡機

STEP3:選擇欲燒錄的作業系統、SD Card,點擊 WRITE 開始燒錄

STEP4:將 SD card 從讀卡機退出,並插入樹莓派

STEP5:重新啟動樹莓派,進行初始化設置

✔︎ set Country
✔︎ Change Password
✔︎ Set UP Screen
✔︎ Select WiFi Network(此步驟可以Skip 跳過,稍後再設定)
✔︎ Update Software(如果上一步驟的網路尚未設置,則此步驟跳過)

➤ 專案環境建置

打開 SSH 功能

首先,先開啟樹莓派的 SSH 功能,就可以回到熟悉的電腦操作了!打開 SSH 功能有兩種方式,從 terminal 指令操作或是從 UI 介面設定。

STEP1:開啟樹莓派的 SSH 功能

● 方式一:打開 terminal,輸入指令 sudo raspi-config 看見以下畫面,接著選擇 Interfacinng Options > P2 SSH > 選擇開啟

● 方式二: UI 介面設定

點選左上方樹莓派 icon > 偏好設定 > Raspberry Pi 設定>介面>啟用SSH

STEP2:嘗試 SSH 遠端登入樹莓派

於樹莓派 terminal 輸入 ifconfig 查看樹莓派 IP 資訊。此範例 IP 為 192.168.1.123

回到自己的電腦,打開 terminal,輸入指令 ssh pi@192.168.X.XXX,並按照提示輸入樹莓派密碼,即可登入。

💡小提醒:自己的電腦與樹莓派需要使用同一個 WIFI 唷!

💡小提醒:開啟 SSH 功能以後,重新開機皆會收到 SSH 警告訊息,點選確定即可。

安裝 Node.js

STEP1:首先確認是否擁有 Node.js,打開 terminal,輸入指令安裝 node -v

STEP2:如果沒有的話,打開 terminal,輸入指令安裝

STEP3:再次查看版本,確認安裝完成

有了 Node.js 以後,專案就可以運行了 🎉

安裝 PM2,讓樹莓派自動 Run 專案

PM2 為 Node.js 應用管理工具。可透過 PM2 監控、控制流程。

STEP1:安裝 PM2。打開 terminal,輸入指令安裝。

STEP2:進到專案資料夾,啟動服務,並為你的專案命名(專案顯示於 PM2 的名稱,即下方指令中的 xxx )

STEP3:設定為開機自動啟動

如看到以下提示指令,請依照指令複製貼上

STEP4:儲存此設定

💡常用指令

  1. 顯示 log
    pm2 logs
  2. 重新運行專案
    pm2 restart project_name
  3. 停止運行專案
    pm2 stop project_name

安裝 pm2-logrotate,控制 PM2 產生的 log 檔案

運行 PM2 時,會產生許多 log 紀錄,因此我們需要控制這些 log 檔案。可以設置檔案大小(max_size)、retain(log 檔案數量)、compress(壓縮 log 檔案)、workerInterval()

STEP1:安裝 pm2-logrotate。打開 terminal,輸入指令安裝

STEP2:設置(以下為筆者的設定,其他保持預設值,更多設置可以參考文件 點我看連結)

➤ 那些需要額外處理的事情!!

使用樹莓派時,筆者遇到一些問題,紀錄以下:

❓轉接至 HDMI 後,無法正常輸出聲音

參考官方設定:Audio configuration 進行設定吧。

  • 方式一:改變聲音輸出
  1. 右鍵點選畫面右上聲音 icon,將聲音輸出設定為 HDMI
  2. 打開 terminal ,輸入指令 amixer cset numid=3 2
    其中數字 2 代表為 HDMI 輸出,若想使用耳機,則可設置為 1
  3. 打開 terminal,輸入指令 sudo raspi-config 看見以下畫面,接著選擇 Advanced Options > Audio > HDMI

以上三點擇一設置即可,筆者為了確保三點都有設置。

  • 方式二:
    如果方式一設置完成後,仍無法正確輸出聲音,接著需將聲音以強制設定的方式,設定為 HDMI 輸出。
    於 terminal 輸入 sudo nano /boot/config.txt ,將 hdmi_drive 設置為2。記得將 # 拿掉唷,#代表註解。
  • 方式三:
    如果方式一、二設置完成後,仍無法正確輸出聲音。接著試試看都市傳說吧!樹莓派4 有兩個 micro HDMI 孔,傳說接近電源的那一孔,才能起作用… 以上訊息來自討論區,無法確定是否屬實。不過筆者還是確保安心的,使用了接近電源的那一孔了。

❓每過十分鐘,我的樹莓派總是會自己暗掉

好吧,其實這點不能算是怪怪的事情,而是解法讓筆者覺得怪怪的 😅總共有三種解法,僅第三種對筆者是起作用的,不確定大家狀況是否一致,先一律奉上。

  • 方式一:
    打開 terminal,輸入指令 nano /etc/lightdm/lightdm.conf ,新增 xserver-command=X -s 0 -dpms ,重新開機
  • 方式二:
    打開 terminal,輸入指令

於檔案中寫入,接著重新開機。

  • 方式三:安裝 xscreensaver 介面
    1. 打開 terminal,輸入指令 sudo apt-get install xscreensaver
    2. 左上點擊樹莓派icon > 偏好設定 > 螢幕保護程式
    3. 將 Mode 改為 Disable Screen Saver

❓無法開機,卡在四顆樹莓的開機畫面

目前試過四台樹莓派,其中一台遇過一次無法開機的狀況,目前參考這個討論串(點我查看),重新燒錄記憶卡後解決,為暫時可行的解法,如果較為正規正確的解法,歡迎分享💯

➤ 後記

關於樹莓派還有許多可以深入研究的議題、好用的工具。目前筆者僅將它應用 Express.js 專案,主要是為了利用 GPIO 控制、接收電路變化。如果有更深入的認識或應用再紀錄分享🤩,如果你有其他應用,也歡迎跟我分享🎉

以上是今天的小分享,有任何問題都歡迎留言指教,謝謝 😊

--

--

Lai
UnaLai

我是一名前端工程師,我熱愛學習與分享 ❤︎