選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
5 分鐘閱讀時間 (939 個字)

簡單玩樹莓派-(1) 監測樹莓派

rpi-monitor
大家好~我是王麥特,這個主題主要是分享我入手樹莓派後所玩的一些心得、跌過的坑等等。有興趣的,喜歡折騰的可以來玩玩看喔!

基本資訊

Raspberry Pi 4B (4GB) v1.1
SD Card 16 GB
External Disk Driver 1 TB
Case No, Heat Sink Yes
Raspberry Pi OS 64 bit
Docker 20.10.6

遇到的問題 

一般閒置的樹莓派溫度大概在 45 °C 左右,但是當你折騰它一段時間,像是安裝 Docker 和架設 NextCloud 等等,溫度會拉到 60°C 到 70°C,此時開始思考要加強被動散熱,或是添加主動散熱的風扇,而很多人會在意溫度持續這麼高會不會減少壽命、容易損壞等等。

以下為各硬體的適合工作溫度

  • RPI Soc: -40°C ~ 85°C。
  • External Disk Driver: 5°C ~ 50°C。

參考連結: 

需求和期望

想要一個能即時監控樹莓派溫度的程式或服務,能夠繪製監測圖表,還需具備以下條件

  • 監測端與被監測要放在同一台(不需要多開一台機器)。
  • 支援 ARM 架構。
  • 容易安裝和設定。
  • 系統需求低、資源使用量低。
  • 同時監測 CPU, Mem, Network (找出可能的負載)。

解決方案

RPi-Monitor,它是專為 RPI 定做的監控軟體,使用 Perl 作為開發語言,主要組成為兩個部分

  • 輕量級的背景服務 rpimonitord 作為資料收集、處理,並儲存至 RRD。
  • 顯示目前狀態、即時圖表繪製的網頁應用程式。

它具有高度自定義設定、易擴展性和通知功能。

以下使用 Docker 帶大家入門嘗試(或是參考官方直接安裝亦可)。

準備一個 docker-compose.yml 檔案如下

version: '3'
services:
  rpi-monitor:
    image: michaelmiklis/rpi-monitor:latest
    container_name: rpi-monitor
    volumes:
      # Broadcom's libs and utilities
      - /opt/vc:/opt/vc
      # Boot up procs include kernal
      - /boot:/boot
      # Device driver procs info
      - /sys:/dockerhost/sys:ro
      # Runtime sys info
      - /proc:/dockerhost/proc:ro
      # App confs
      - /etc:/dockerhost/etc:ro
      # Usr's libs
      - /usr/lib:/dockerhost/usr/lib:ro
      # Main config
      - ${your_conf_file_path}:/etc/rpimonitor/template/raspbian.conf:ro
      # RRD data mnt
      - ${your_rrd_data_folder}:/var/lib/rpimonitor/stat/
    devices:
      # Video Core related
      - "/dev/vchiq:/dev/vchiq"
      - "/dev/vcsm-cma:/dev/vcsm-cma"
    restart: unless-stopped
    ports:
      - 8888:8888 

接著執行以下指令

mkdir ~/rpi-monitor
nano ~/rpi-monitor/docker-compose.yml
...
...
...
cd ~/rpi-monitor
docker-compose up -d
...
...
...
## Go to your browser and browse http://{rpi_host or ip}:8888 
RPi-Monitor dashboard
Temperature
Temperature (示意選取時間區間)
CPU Loads
Temperature (後面調整樹莓派的擺放位置,溫度下降了大概3~4 °C)
內建多個監測項目 (Storage1 是照官方步驟所新增的外接硬碟監測)

心得與結語

原本在尋找解決方案的時候,有看到很多想跌坑的開源軟體,但是卡在沒有 ARM 版本,或是要搭配的服務很花資源,像是 ElasticSearch,又或是沒找到合適的 docker images 能夠快速建置(容器大小也要考慮),最後找到了 Munin,但是沒有想像中順利,遇到很多坑和不懂的地方,後來在一個填坑的週末找到 RPi-Monitor它能滿足我最主要的需求,執行正常順利,接下來嘗試把多個圖表資訊整合在一起,找出發熱的主因,再評估是否要添購散熱配件。

最後有人可能會問怎麼不買風扇就好了? 實際上我有一顆 3.3V 的小風扇,在散熱上確實很有幫助,大概在 55°C 左右,但缺點是聲音略大,分貝大概在輕聲細語的範圍,在夜深人靜的時候,可以想像風扇聲會更加明顯,所以反覆測試之後決定不使用風扇。對於散熱方案,我會更傾向使用被動散熱機殼,它有不錯的散熱效果,也不會有噪音的問題,大家可以自己考慮看看。 
心靈成長-"思考的框架"摘要分享 #前篇
Pivot/FOR XML PATH 應用

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/30, 週四

Captcha 圖像