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 など任意 |
QoS | 0(標準) |
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への通信が確立できました。
コメント