Edge Box RPi 200 と Node-RED および InfluxDB
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
はじめに
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 の入門ガイド も用意しています。このガイドを進める前に、こちらを確認することをお勧めします。このチュートリアルでは、YABE 室温シミュレーターを実行しているホスト PC を、Edge Box 上で実行されている Node-RED に接続します。
Edgebox RPi 200 に InfluxDB をインストールする
このガイドでは、Edgebox RPi 200 エッジコントローラーに InfluxDB をインストールして設定する手順を説明します。
ステップ 1: システムを更新する
まず、以下のコマンドを実行してシステムを最新の状態にします。EdgeBox に SSH 接続して以下を実行します。
sudo apt update
ステップ 2: InfluxDB リポジトリを追加する
InfluxDB の GPG キーとリポジトリをシステムに追加します。
GPG キーを追加:
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
ステップ 6. 管理者ユーザーで InfluxDB に接続します:
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>
を管理者ユーザーのパスワードに置き換えてください。
技術サポートと製品ディスカッション
弊社の製品をお選びいただき、ありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。