[Node-RED]第3章:Raspberry Piのセットアップ・Node-REDプログラミング

VPS側の最低限の設定が完了したので、次はRaspberry Pi側の設定を進めていきます。

本記事では、Raspberry Pi4 , RaspberyyPi OSを使用しています。

✅ 全体構成イメージ

[Raspberry Pi]
  └─ Node-RED
      └─ mqtt outノード → VPS(Mosquitto)

[さくらのVPS]
  └─ Mosquittoブローカ
      └─ Node-RED(mqtt in → dashboardで表示)

✅ Step 1:ラズパイに Node-RED をインストール

ラズパイにログイン後、以下のコマンドを実行:

sudo apt update
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

自動起動設定(必要な場合)
sudo systemctl enable nodered.service

起動
node-red-start

✅ Step 2:Node-REDエディタにアクセス

ラズパイのブラウザで以下にアクセス:

http://localhost:1880
またはPCから:
http://<ラズパイのIP>:1880

補足・Node-RED自動起動設定

systemd サービスの設定
A. サービスファイルの作成
sudo nano /etc/systemd/system/nodered.service

作成したファイルに以下を記載します。

[Unit]
Description=Node-RED
After=network.target

[Service]
ExecStart=/usr/bin/node-red-pi --max-old-space-size=256
WorkingDirectory=/home/yoshiki
User=yoshiki
Group=yoshiki
Nice=10
SyslogIdentifier=Node-RED
StandardOutput=syslog
StandardError=syslog
Restart=on-failure

[Install]
WantedBy=multi-user.target

ExecStart のパスはインストール方法によって異なる場合があります。
which node-red-pi で確認できます。

User,Group,WorkingDirectoryもユーザーに合わせて適宜変更してください。

サービスのリロード・有効化・起動

sudo systemctl daemon-reload
sudo systemctl enable nodered.service
sudo systemctl start nodered.service
動作確認
systemctl status nodered.service

✅ Step 3:mqtt out ノードを設定してVPSに送信

フロー構成例(簡単なテスト):

[inject] → [function] → [mqtt out]

ノード詳細設定

mqtt outノード

項目設定
サーバVPSのIPアドレス(例:133.167.xxx.xxx
ポート1883
トピックfactory/temp など任意
QoS0(標準)
Retainチェック不要でOK

※サーバ設定は新規作成で Add new mqtt-broker... を選択

functionノードのコード例

msg.payload = {
    value: Math.random() * 10 + 20  // 温度:20〜30のランダム値
};
return msg;

injectノード

フローを「デプロイ」

inject をクリック or 自動送信で値が送られる

VPS側のNode-REDで mqtt in ノードから受信 → debug / dashboard に表示されれば成功!

ここまででラズパイ→VPSへの通信が確立できました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする