Skip to main content

reComputer R1xでのOpenRemoteデプロイ エッジでのIoTデバイス管理

はじめに

OpenRemoteは、ネットワーク接続されたデバイスの接続と管理を簡素化するために設計されたオープンソースのIoTプラットフォームです。システムの中核となるのはManagerで、これはIoTコンテキストブローカーとして機能するヘッドレスJavaアプリケーションであり、アセットの状態をリアルタイムでキャプチャし管理します。動的アセットモデリングにより、建物、部屋、センサーなど、環境のさまざまなコンポーネントを表現でき、特定のニーズに合わせてカスタマイズできます。Groovy、JavaScript、またはJSONで記述されたルールは、アセット状態の変化やイベントシーケンスに基づいてアクションをトリガーします。これらのルールは、例えば部屋の湿度が上昇したときなど、特定の閾値に達したときにユーザーに通知することができます。プラットフォームは、サードパーティAPIやサービスプロトコルとインターフェースするAgentを介してネットワークデバイスをサポートし、マネージャーと同じ場所に配置することも、エッジゲートウェイにインストールすることもできます。Raspberry Pi搭載のRecomputer R1000およびR1100デバイスにOpenRemoteをデプロイすることで、エッジでIoTエコシステムを管理し、デバイスの効率的でローカライズされた制御を提供できます。

pir

DockerとDocker-Composeのインストール

UbuntuシステムにDockerとDocker-Composeをインストールするには、以下の手順に従ってください:

1. システムパッケージの更新

まず、パッケージリストを更新し、インストール済みパッケージをアップグレードして、システムが最新の状態であることを確認します。

sudo apt update
sudo apt upgrade

2. Dockerのインストール

次に、公式インストールスクリプトを使用してDockerをダウンロードしてインストールします。これにより、Dockerとそのすべての依存関係が自動的にインストールされます。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

3. ユーザーをDockerグループに追加

デフォルトでは、Dockerはroot権限を必要とします。sudoなしでDockerコマンドを実行するには、ユーザーをDockerグループに追加します:

sudo usermod -aG docker ${USER}

このコマンドを実行した後、ログアウトして再度ログインするか、システムを再起動して変更を有効にしてください。

4. システムの再起動

変更を有効にし、ユーザーがDockerグループに追加されるように、システムを再起動します。

sudo reboot

5. Dockerインストールのテスト

再起動後、hello-worldイメージを実行してDockerインストールを確認します。これにより、Dockerが正しく動作していることが確認されます。

docker run hello-world

6. Docker-Composeのインストール

最後に、マルチコンテナDockerアプリケーションを定義・実行するためのツールであるDocker-Composeをインストールします。インストールするには、以下を実行してください:

sudo apt install docker-compose

Recomputer R1000 / R1100でのOpenRemoteインストール

1. Docker Composeファイルのダウンロード

OpenRemoteリポジトリから公式のdocker-compose.ymlファイルを直接取得します:

wget https://raw.githubusercontent.com/openremote/openremote/master/docker-compose.yml

2. ディレクトリへの移動

YAMLファイルが配置されているディレクトリに移動します:

cd /path/to/yaml

3. Dockerイメージのプル

必要なDockerイメージをダウンロードします:

docker-compose pull

4. OpenRemoteの起動

Docker Composeを使用してOpenRemoteを実行します:

docker-compose -p openremote up

これにより、OpenRemote Managerとサポートサービスが起動します。

5. OpenRemoteへのアクセス

起動後、デフォルトの認証情報でOpenRemote Managerにログインできます:

  • ユーザー名: admin
  • パスワード: secret

これで、Recomputer R1000 / R1100上でOpenRemoteがエッジIoTプラットフォームとして動作し、接続されたデバイスを管理・制御できるようになりました。

HTTPプロトコルでの作業

Recomputer R1000 / R1100上のOpenRemoteにOpenWeatherMap APIを統合するには、以下の手順に従ってください。このガイドでは、天気データ用のAgentの作成、アセットへのリンク、設定の方法について説明します。

OpenWeatherMap APIキーの取得

OpenWeatherMap APIを使用するには、無料のAPIキーが必要です。OpenWeatherMapで無料アカウントを登録し、APIキーを取得してください。

Agentの作成

HTTP API Agentの作成

  • Assetsページに移動します。
  • 左側のアセットリストの上部にある**+アイコンをクリックして、新しいAgentまたはAsset**を追加します。
  • 表示されるダイアログで、リストからHTTP Agentを選択します。
  • 名前: HTTP API Agent
  • Addをクリックします。

pir

エージェントが事前設定された属性で作成されました。OpenWeatherMap APIに接続するように設定する必要があります。

HTTP API Agentの設定

HTTP API Agentが作成されたので、以下の詳細で設定します:

  • Base URI: https://api.openweathermap.org/data/2.5/
    (右側の送信ボタンをクリックするか、Enterキーを押して値を送信することを忘れないでください。)

  • Request Query Parameters:
    OpenWeatherMapアカウントからAPIキーを入力し、以下のようにパラメータを設定します:

{
"appid": ["YOUR_API_KEY"],
"q": ["Rotterdam,nl"],
"units": ["metric"]
}

Saveをクリックして設定を確認します。

pir

Weather Assetの作成

新しいWeather Assetの追加

  • **+**アイコンをクリックしてアセットを追加します。
  • リストからWeather Assetを選択します。
  • 名前: Weather Rotterdam
  • Addをクリックします。

天気アセットがHTTP API Agentの子としてリストに表示されます。必要に応じて親を変更できます。

pir

Agent Linkの追加

アセット設定の変更 アセットページ上部のトグルをクリックしてModify Modeに移行します。このモードでは、アセットの属性を変更し、設定を構成できます。

Humidity属性の設定

  • humidity属性を展開します。

  • Add configuration itemをクリックし、Agent linkを選択します。

  • HTTP API Agentを選択します。

  • 以下のパラメータを追加します:

    • Polling millis: 60000 (毎分ポーリング)
    • Path: weather
    • Value filters: JsonPathFilter-2
    • Path (JSON): $.main.humidity

pir

Temperature属性の設定:

  • temperature属性を展開します。

  • Add configuration itemをクリックし、Agent linkを選択します。

  • HTTP API Agentを選択します。

  • 以下のパラメータを追加します:

    • Polling millis: 60000 (毎分ポーリング)
    • Path: weather
    • Value filters: JsonPathFilter-2
    • Path (JSON): $.main.temp

右上のSaveをクリックして、これらの変更を適用します。

ライブ天気データの表示

属性を追加したら、View Modeに切り替えてライブ天気データを確認します。これで、天気アセットにリンクされたロッテルダムの現在の気温と湿度が表示されます。

pir

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

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

Loading Comments...