DeviceAdmin¶
プレーン: データプレーン
目的¶
デバイス登録、ライフサイクル管理、アラート監視、OTA ステータスの可視化。DeviceAdmin は開発者およびオペレーター向けのプラットフォーム統合デバイス管理インターフェースです。デバイスの接続性とテレメトリのために ThingsBoard をラップし、OTA 更新ステータスのために hawkBit から読み取ります——いずれのシステムのネイティブ UI も直接公開しません。
DeviceAdmin はデバイスオーナーに対して3つの問いに答えます:
どのデバイスを持っているか? — 登録、メタデータ、フリート概要
デバイスは正常か? — アラート、接続ステータス、バッテリーレベル
デバイスは最新か? — ファームウェアバージョン、保留中の更新、アップグレード適格性
責務¶
デバイスの登録および登録解除(Provisioning Service に委任)
デバイスメタデータ(タイプ、モデル、ファームウェアバージョン、機能)を維持する
デバイスのリース状況と所有権チェーンを追跡する
アカウント間でデバイスを転送する(Provisioning Service に委任)
デバイスクレデンシャルの発行およびローテーション(Provisioning Service に委任)
ThingsBoard アラートの提示(バッテリー低下、オフライン、閾値違反)
OTA ステータスの可視化を提供する(現在のバージョン、保留中の更新、アップグレード履歴)
他のサービスがクエリできるようにデバイスカタログを公開する
DeviceAdmin が提供しないもの¶
DeviceAdmin は意図的に以下を提供しません:
主要エンティティ¶
エンティティ |
説明 |
|---|---|
デバイス |
一意のプラットフォームIDを持つ登録済み IoT デバイス |
デバイスタイプ |
分類(AMR、清掃ロボット、MHE、PDA、センサー) |
ファームウェア |
バージョン追跡と更新の適格性 |
リース |
所有権とリースチェーン(オーナー → オペレーター → サイト) |
アラート |
ThingsBoard から提示されるデバイスヘルスイベント(バッテリー、接続性、閾値) |
UpdateStatus |
デバイスの OTA 更新状態(現在のバージョン、保留中、履歴) |
Provisioning Service との関係¶
DeviceAdmin はデバイス管理の唯一のエントリポイントです。デバイスが登録、転送、または廃止される場合、DeviceAdmin はクロスシステムのオーケストレーションを Provisioning Service に委任します——ThingsBoard、hawkBit、DotID を調整する独立したマイクロサービスです。
Developer / Operator
│
│ POST /devices/v1/enroll
│ (device identity + metadata)
│
▼
┌──────────────┐ ┌──────────────────────┐
│ DeviceAdmin │──────────►│ Provisioning Service │
│ │ delegate │ /provisioning/v1/ │
│ Device mgmt │◄──────────│ │
│ Alerts │ result │ ├── ThingsBoard │
│ OTA status │ │ ├── hawkBit │
└──────────────┘ │ └── DotID │
└──────────────────────┘
開発者は ThingsBoard、hawkBit、Provisioning Service と直接やり取りすることはありません。DeviceAdmin が開発者に見える唯一のデバイス管理 API です。
Provisioning Service は デバイスプロビジョニング パターンに記載されている通り、複数のプロビジョニングシナリオ(工場、組み立て、フィールド)を処理します。DeviceAdmin は適切なシナリオにマッピングされる簡略化された登録 API を公開します。
アラート監視¶
DeviceAdmin は ThingsBoard のルールエンジンから基本的なデバイスヘルスアラートを提示します。これらはデバイスオーナーが対処する必要がある運用アラートです:
アラートタイプ |
ソース |
例 |
|---|---|---|
バッテリー低下 |
ThingsBoard ルールエンジン |
"AMR-001 battery at 12%" |
デバイスオフライン |
ThingsBoard 接続性 |
"Sensor-042 disconnected for 15 min" |
閾値違反 |
ThingsBoard ルールエンジン |
"Temperature sensor-007 above 45°C" |
登録失敗 |
Provisioning Service |
"Device rejected: unknown manufacturer CA" |
複雑なパターン検出(バッテリー劣化トレンド、ゾーン混雑、マルチデバイス相関)については、ThingIO を参照してください。
OTA ステータスの可視化¶
DeviceAdmin は hawkBit の Management API をクエリすることで OTA 更新ステータスの読み取り専用ビューを提供します。デバイスオーナーは以下を確認できます:
情報 |
ソース |
説明 |
|---|---|---|
現在のバージョン |
hawkBit ターゲット属性 |
インストール済みのソフトウェア/ファームウェア |
保留中の更新 |
hawkBit デプロイメントアクション |
ダウンロード/インストール待ちの更新 |
更新履歴 |
hawkBit アクションステータス |
成功/失敗ステータス付きの過去のデプロイメント |
アップグレード適格性 |
DeviceAdmin ロジック |
デバイスをアップグレードすべきかどうか(タイプ、リース、ポリシーに基づく) |
DeviceAdmin はアーティファクト、ディストリビューションセット、ロールアウトを作成しません ——それは OTAForge の責務です。DeviceAdmin はコンシューマー向けビュー(「自分のデバイスは最新か?」)であり、OTAForge はパブリッシャー向け管理(「このファームウェアをこれらのターゲットにプッシュする」)です。
API サーフェス¶
デバイス管理¶
操作 |
説明 |
|---|---|
|
新しいデバイスを登録する(プロビジョニングを起動) |
|
デバイスの詳細と現在のステータスを取得する |
|
フィルタリングしてデバイスを一覧表示する |
|
デバイスメタデータを更新する |
|
デバイスを廃止する(デプロビジョニングを起動) |
|
全システムにわたってデバイスクレデンシャルをローテーションする |
|
デバイスを別のアカウントに転送する |
|
デバイスを一時停止する |
|
一時停止中のデバイスを再有効化する |
アラート¶
操作 |
説明 |
|---|---|
|
デバイスのアクティブなアラートを取得する |
|
フィルタリングしてアラートを一覧表示する |
|
アラートを確認済みにする |
OTA ステータス¶
操作 |
説明 |
|---|---|
|
現在のソフトウェア/ファームウェアバージョン |
|
保留中および過去の OTA 更新 |
|
更新ステータスの詳細 |
|
フリート全体の更新ステータス |
実装¶
DeviceAdmin は FlexGalaxy カスタムサービスです(既製コンポーネントではありません):
側面 |
技術 |
|---|---|
フレームワーク |
Java 21 (Spring Boot) |
データベース |
PostgreSQL(デバイスメタデータ、リースチェーン、アラート状態) |
ThingsBoard 統合 |
REST API(デバイス CRUD、アラートサブスクリプション) |
hawkBit 統合 |
REST API(読み取り専用:ターゲットステータス、デプロイメントアクション) |
DotID 統合 |
Keycloak Admin API(M2M クライアントライフサイクル) |
依存関係¶
サービス |
関係 |
|---|---|
ThingsBoard |
デバイスレジストリ、接続性、アラート(REST API 経由) |
hawkBit |
OTA 更新ステータス(Management API 経由の読み取り専用) |
DotID |
API 呼び出しを認証し、デバイス M2M クレデンシャルを発行する |
Org Service |
デバイス所有権のアカウント/テナントコンテキストを解決する |
クロスシステムのデバイス登録、転送、廃止をオーケストレーションする |
利用者¶
コンシューマー |
用途 |
|---|---|
ThingIO |
テレメトリ処理のためにデバイスアイデンティティを解決する |
OTAForge |
ロールアウトターゲティングのためにデバイスフリートを参照する |
Scheduler |
デバイスの機能と可用性をクエリする |
Execution Manager |
コントラクトをプッシュする前にデバイスの機能を解決する |
アプリケーション |
デバイスフリートをクエリおよび管理する |
オペレーター |
フリート概要、アラート監視、OTA ステータス |