Edge Box RPi 200 with Node Red and InfluxDB
はじめに
Raspberry PiベースのエッジコントローラーであるEdgebox RPi 200にInfluxDBをデプロイすることで、ネットワークのエッジで堅牢な時系列データ収集と分析が可能になります。このセットアップはIoTアプリケーションに最適で、リアルタイムインサイトと監視機能を提供します。軽量でありながら強力なInfluxDBデータベースを活用することで、Edgebox上で直接センサーデータを効率的に管理・分析できます。以下のガイドでは、Edgebox RPi 200にInfluxDBをインストール、設定、使用する手順を説明し、データインフラストラクチャへのシームレスな統合を確実にします。
ハードウェアの準備
Edge Box RPi 200 |
---|
![]() |
ソフトウェアの準備
Edge Boxは、Raspberry Pi OSがプリインストールされた状態でお手元に届きます。このデバイスを初めて起動する場合は、Getting Started Wikiをお読みください。Node-REDのGetting Startedガイドを用意しています。このwikiに進む前に、このガイドを確認することをお勧めします。このチュートリアルでは、YABE室温シミュレーターを実行するホストPCと、Edge Box上で実行されるNode-REDを接続します。
Edgebox RPi 200へのInfluxDBのインストール
このガイドでは、Edgebox RPi 200エッジコントローラーにInfluxDBをインストールして設定する手順について説明します。
ステップ1: システムの更新
まず、以下のコマンドを実行してシステムが最新の状態であることを確認します:EdgeBoxにSSHで接続し、
sudo apt update
Step 2: Add the InfluxDB Repository
Add the InfluxDB GPG key and repository to your system.
Add the GPG key:
curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null
リポジトリをソースリストに追加します:
echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list
ステップ 3: パッケージリストの更新
InfluxDBリポジトリを含むようにパッケージリストを更新します:
sudo apt update
ステップ 4: InfluxDBをインストールする
InfluxDB バージョン1をインストールする
sudo apt install influxdb
InfluxDBサーバーの開始
InfluxDBサービスを有効化して開始します:
ステップ1. サービスのマスクを解除します:
sudo systemctl unmask influxdb
ステップ2. サービスを有効にします:
sudo systemctl enable influxdb
ステップ 3. サービスを開始します:
sudo systemctl start influxdb
InfluxDBのテスト
InfluxDB CLIツールにアクセスして基本的なデータベース操作を実行します。
ステップ1. ターミナルを開く:
influx
ステップ 2. データベースを作成します:
CREATE DATABASE data
ステップ 3. データベースを使用する:
USE data
ステップ 4. サンプルデータポイントを挿入します:
INSERT room,temperature=30.1 humidity=80.2
ステップ 5. 挿入されたデータをクエリします:
SELECT * FROM room
InfluxDBに認証を追加する
ステップ1. ターミナルを開く:
influx
ステップ 2. すべての権限を持つ管理者ユーザーを作成します(<password>
を安全なパスワードに置き換えてください):
CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES
ステップ 3. InfluxDB CLI を終了します:
exit
ステップ4. 認証を有効にするためにInfluxDBの設定を編集します:
sudo nano /etc/influxdb/influxdb.conf
[HTTP]
セクションの下に、以下の行を追加または修正してください:
auth-enabled = true
pprof-enabled = true
pprof-auth-enabled = true
ping-auth-enabled = true
enabled=true
bind-address=":8086"
ステップ 5. 変更を適用するために InfluxDB サービスを再起動します:
sudo systemctl restart influxdb
Step 6. Connect to InfluxDB with the admin user:
influx -username admin -password <password>
<password>
を管理者ユーザーに設定したパスワードに置き換えてください。
Node-RED経由でInfluxDBにデータを送信する
ステップ 1. ブラウザでNode-REDを開きます(通常は http://<your-edgebox-ip>:1880
)。
ステップ 2. Node-REDのパレット管理を使用して node-red-contrib-influxdb
をインストールします。
ステップ 3. inject
ノード、function
ノード、influxdb out
ノードをフローキャンバスにドラッグ&ドロップし、以下のように接続します:
[Inject Node] -> [Function Node] -> [InfluxDB Out Node]
Function ノード
このノードは、InfluxDBに送信するデータをフォーマットします。
ステップ 1. function
ノードをダブルクリックします。
ステップ 2. 名前を入力します(例:Format Data for InfluxDB
)。
ステップ 3. 関数エディターに以下のコードを入力します:
msg.payload = [
{
temperature: 30.1,
humidity: 80.2
}
];
return msg;
ステップ 4. 「Done」をクリックします。
InfluxDB Out ノード
このノードは、フォーマットされたデータをInfluxDBに送信します。
ステップ 1. influxdb out
ノードをダブルクリックします。
ステップ 2. 以下の詳細を入力します:
- Name: labdata
- Database: data(事前に作成済み)
- Measurement: lab
ステップ 3. 鉛筆アイコンをクリックして、新しいInfluxDBサーバー設定を追加します。
ステップ 4. 以下の詳細を入力します:
- Name: InfluxDB
- Version: 1.8-flux
- URL:
http://localhost:8086
- Username: admin
- Password:
<password>
(作成したパスワード)
ステップ 5. 「Add」をクリックし、次に「Done」をクリックします。
ステップ 6. 「Deploy」をクリックしてフローを保存・デプロイします。
フローのテスト
-
inject
ノードのボタンをクリックして、フローを手動でトリガーします。 -
ターミナルで以下のコマンドを実行して、データがInfluxDBデータベースに正常に書き込まれたかどうかを確認します:
influx -username admin -password <password>
USE data
SELECT * FROM lab
<password>
を管理者ユーザーに設定したパスワードに置き換えてください。
技術サポート & 製品ディスカッション
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。