使用 Node.js 製作的樹莓派溫度監控網頁應用

我叫他 pi-pen,一個簡易快速的樹莓派溫度監控程式

目錄

inline table of content only on mobile

前言

這是我所設計的一個簡易網頁應用,我叫他 pi-pen

他是使用 node.js 作為後端,利用樹莓派內建的系統溫度文件或系統命令來獲取溫度

接著透過 javascript 將數據實時每 5 秒更新並顯示在網頁上。

DEMO

⋙ demo website

https://pi-pen.penli.quest

使用方式

程式碼結構

pi-pen
server.js
└ public
  └ index.html

server.js

/public/index.html

實際操作

到你想要存放程式碼的位置,將我的 repo 複製下來 git clone https://github.com/penyt/pi-pen.git

或是複製 server.js/public/index.html 這兩個主要檔案也可以。

接著在 pi-pen 資料夾下,執行

node server.js

若樹莓派沒有 node,先 看這個 安裝

此時,在瀏覽器打上 http://localhost:5472 就可以看到如下的畫面,這就是樹莓派的溫度

10min-bigscreen

右邊有下拉選單可以視需求調整要觀察的時間

關於資料儲存

這個程式主要只是在快速有圖形介面觀察溫度,而不需要監測硬體,主要目的在於方便快速

所以我用來存放資料的 json 檔案(程式執行後會自動生成在 pi-pen 資料夾裡),只會儲存 24小時 的數據!!!

超過 24 小時的會自動被刪除,不要把它當成永久儲存溫度數據的地方喔

如何在背景運行?

我這邊使用 PM2 ,來達成背景運作的功效

若樹莓派上沒有 PM2 那麼就用 npm 來安裝(官方的方式)

npm install pm2 -g

接著進入 pi-pen 資料夾(cd /path/to/pi-pen),執行:

pm2 start server.js

如果有更改 server.js 的檔名,這裡要記得改掉

查看 PM2 狀態:

pm2 status

查看日誌:

pm2 logs

這時就算關閉終端,這個網頁應用還是會繼續運行

也可使用 vcgencmd 命令來獲取溫度

只需要將 server.js 替換成底下這個 server-vcgencmd.js 就可以了

server-vcgencmd.js

by Pen

到這頁的屁股了:3
📬Email:lipen@penli.quest

使用 Hugo 建立
主題 StackJimmy 設計