Skip to main content

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」をクリックしてフローを保存・デプロイします。

フローのテスト

  1. injectノードのボタンをクリックして、フローを手動でトリガーします。

  2. ターミナルで以下のコマンドを実行して、データがInfluxDBデータベースに正常に書き込まれたかどうかを確認します:

influx -username admin -password <password>
USE data
SELECT * FROM lab

<password> を管理者ユーザーに設定したパスワードに置き換えてください。

技術サポート & 製品ディスカッション

私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...