Raspberry Pi のマネージドインテグレーション Hub SDK Docker コンテナ - のマネージド統合 AWS IoT Device Management

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Raspberry Pi のマネージドインテグレーション Hub SDK Docker コンテナ

注記

Raspberry Pi AWS IoT での Hub SDK のこの実装は、学習とテストのみを目的としており、本番環境での使用を意図していません。このデモでは、開発を容易にするために以下の設定を行います。

AWS 認証情報ストレージ: デモのみを目的として、認証情報と証明書は、テストと開発を容易にするために、アクセス可能な場所に保存されます。本番環境では AWS Secrets Manager、 や Systems Manager Parameter Store などの安全なストレージソリューションを使用する必要があります。保管時の暗号化を実装し、 AWS IoT セキュリティガイドラインに従う必要があります。

コンテナ権限: デモは昇格された権限で実行され、ホストリソースへの無制限アクセスを許可し、開発ワークフローを簡素化します。本番環境では、コンテナは最小限必要な権限で動作する必要があります。

ネットワークブリッジ設定: デモでは、デバッグとモニタリングを容易にするために内部ネットワークトラフィックを公開するネットワークブリッジ設定を使用します。本番環境では、内部ネットワークトラフィックへの不正アクセスを防ぐために、適切なネットワーク分離とセグメンテーションを実装します。

USB デバイスのアクセス許可: 開発周辺機器とテストデバイスの接続を容易にするために、無制限の USB デバイスアクセスが有効になっています。本番環境では、厳格な USB デバイスコントロールと検証を実装して、デバイスのなりすまし攻撃を防止します。

これらの設定により、簡単なテストが可能になり、本番環境で notcbe を使用する必要があります。本番環境にデプロイする場合は、セキュリティのベストプラクティスに従って、ホストシステムの侵害や認証情報への不正アクセスを防止してください。

前提条件

Docker コンテナの には、次の前提条件が必要です。

Raspberry Pi で Managed Integrations Hub SDK Docker コンテナを使用する

  1. マネージド統合 Raspberry Pi Hub SDK Docker をダウンロードします

  2. SCP を使用して Raspberry Pi にファイルをコピーします。

    scp ~/path/to/IotMI-HubSDK-Docker-v1.0.0.tar.gz [username]@raspberrypi.local:~
  3. SSH 経由で Raspberry Pi に接続します。

    ssh hub123456@raspberrypi.local
  4. 存在しない場合は Docker をインストールします。

    # Install Docker cd curl -fsSL https://get.docker.com | sudo sh # Add your user to docker group sudo usermod -aG docker $USER exit # exit ssh # Log in again
  5. 存在しない場合は Docker Compose をインストールします。

    # Install Docker Compose sudo apt-get update sudo apt-get install -y docker-compose-plugin
  6. Hub SDK ファイルを抽出します。

    # Navigate to the home directory cd # Extract the hub-docker.tar.gz file tar -xzf IotMI-HubSDK-Docker-v1.0.0.tar.gz
  7. hub-docker ディレクトリに移動します。

    cd IotMI-HubSDK-Docker
  8. Hub のオンボーディング設定を完了して、認証と設定を設定します。

    注記

    このステップを実行するには、 YULまたは DUB リージョンにいる必要があります。

  9. Docker コンテナを起動します。

    # The first time it's called, it will build the container docker compose up -d docker compose logs -f

予想される出力:

[+] Running 1/1 ✔ Container iotmi-hubsdk-docker-hubsdk-1 Started hubsdk-1 | -\-\-\-\-\-\-Checking USB dongles-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Stopping SDK running processes-\-\- hubsdk-1 | iotmi_mqtt_proxy: no process found hubsdk-1 | ace_eventmgr: no process found hubsdk-1 | ace_zigbee_service: no process found hubsdk-1 | zwave_svc: no process found hubsdk-1 | iotmi_cdmb: no process found hubsdk-1 | iotmi_device_agent: no process found hubsdk-1 | iotmi_lpw_provisioner: no process found hubsdk-1 | iotmi_log_daemon: no process found hubsdk-1 | -\-\-\-\-\-\-Starting Hub SDK-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Creating logs directory-\-\-\-\-\-\-\-\-\- hubsdk-1 | Logs directory created. hubsdk-1 | -\-\-\-\-\-\-Verifying Middleware paths-\-\-\-\-\-\- hubsdk-1 | All middleware libraries exist hubsdk-1 | -\-\-\-\-\-\-Verifying Middleware pre reqs-\-\- hubsdk-1 | AIPC and KVstroage directories exist hubsdk-1 | -\-\-\-\-\-\-Starting HubOnboarding-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting MQTT Proxy-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Staring Log Daemon-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting Event Manager-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting Zigbee Service-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting Zwave Service-\-\-\-\-\-\-\-\-\- hubsdk-1 | /data/aws/iotmi/middleware/AceZwave/bin /data/aws/iotmi hubsdk-1 | /data/aws/iotmi hubsdk-1 | -\-\-\-\-\-\-Starting CDMB-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting Agent-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Starting Provisioner-\-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | -\-\-\-\-\-\-Checking SDK status-\-\-\-\-\-\-\-\-\-\-\-\-\-\- hubsdk-1 | root 105 0.2 0.2 1093488 16608 ? Sl 20:51 0:00 ./iotmi_mqtt_proxy -C /data/aws/iotmi/config/iotmi_config.json hubsdk-1 | Process 'iotmi_mqtt_proxy' is running. hubsdk-1 | root 183 0.0 0.0 236272 3152 ? Sl 20:51 0:00 ./middleware/AceCommon/bin/ace_eventmgr hubsdk-1 | Process 'ace_eventmgr' is running. hubsdk-1 | root 190 12.0 0.1 319264 8352 ? Sl 20:51 0:04 ./middleware/AceZigbee/bin/ace_zigbee_service hubsdk-1 | Process 'ace_zigbee_service' is running. hubsdk-1 | root 200 0.0 0.1 1365792 12480 ? Sl 20:51 0:00 ./zwave_svc hubsdk-1 | Process 'zwave_svc' is running. hubsdk-1 | root 233 0.0 0.0 1198704 5760 ? Sl 20:51 0:00 ./iotmi_cdmb hubsdk-1 | Process 'iotmi_cdmb' is running. hubsdk-1 | root 268 0.2 0.2 2017424 21968 ? Sl 20:51 0:00 ./iotmi_device_agent hubsdk-1 | Process 'iotmi_device_agent' is running. hubsdk-1 | root 311 0.1 0.1 1523072 13008 ? Sl 20:51 0:00 ./iotmi_lpw_provisioner hubsdk-1 | Process 'iotmi_lpw_provisioner' is running. hubsdk-1 | root 132 0.0 0.0 875024 7232 ? Sl 20:51 0:00 ./iotmi_log_daemon hubsdk-1 | Process 'iotmi_log_daemon' is running. hubsdk-1 | -\-\-\-\-\-Successfully Started Hub SDK-\-\-\-

Hub SDK を正常に起動したら、 でデバイスのオンボーディングと管理に進みますデバイスをオンボードして運用するためのユーザーガイドのセットアップ

注記
  • Docker コンテナ bash シェルにアクセスするには、次のコマンドを実行します。

    docker compose exec hubsdk bash
  • 再起動後にコンテナを再起動するには、次のコマンドを実行します。

    docker compose up -d
  • Hub SDK を更新するには、次のフォルダのバイナリを置き換えます。

    hub-docker/iotmi
  • データの保存中にコンテナを安全に再起動するには、次の手順を実行します。

    docker compose down docker compose up -d docker compose logs -f