ThingsBoard CE¶
レイヤー: IoTレイヤー
目的¶
ThingsBoard Community EditionはFlexGalaxy.AIのコアIoTプラットフォームであり、デバイス管理とアラート監視のためにDeviceAdminによってラップされています。ThingsBoardはデバイス登録、マルチプロトコル接続、テレメトリの取り込みと保存、およびイベントルーティング用のルールエンジンを提供します。テレメトリデータはKafkaを介してThingIOに送られ、高度な分析とダッシュボードの可視化に使用されます。
ThingsBoardは開発者やオペレーターに直接公開されることはありません — すべてのアクセスはDeviceAdmin(登録、アラート、OTAステータス)とThingIO(ダッシュボード、分析)を経由します。
ThingsBoard CEを選定した理由¶
基準 |
ThingsBoard CE |
|---|---|
ライセンス |
Apache 2.0 — ベンダーロックインなし |
プロトコルサポート |
MQTT, HTTP, CoAP, LwM2M, SNMP |
マルチテナンシー |
ネイティブテナント分離(FlexGalaxyアカウントにマッピング) |
デプロイメント |
公式Helmチャートによるマイクロサービスモード |
成熟度 |
9年以上、GitHub星18,000以上、大規模での本番実績あり |
ルールエンジン |
設定可能なイベントルーティング、変換、アラート |
ダッシュボード |
デバイス監視用の組み込みビジュアライゼーション |
API |
デバイスおよびテレメトリの完全管理用REST API |
プラットフォームマッピング¶
データプレーンサービス |
ThingsBoard機能 |
|---|---|
DeviceAdmin — デバイスレジストリ |
デバイス管理(作成、更新、削除) |
DeviceAdmin — デバイスタイプ |
デバイスプロファイル |
DeviceAdmin — デバイスクレデンシャル |
デバイスクレデンシャル(アクセストークン、X.509、MQTT基本認証) |
DeviceAdmin — アラート監視 |
ルールエンジンアラート(バッテリー、接続性、閾値) |
ThingIO — データ取り込み |
トランスポートレイヤー(MQTT, HTTP, CoAP, LwM2M) |
ThingIO — 時系列ストレージ |
時系列データベース(CassandraまたはTimescaleDB) |
ThingIO — リアルタイムストリーミング |
WebSocketサブスクリプション |
ThingIO — 履歴クエリ |
時間範囲フィルタリング付きREST API |
マルチテナンシーモデル¶
ThingsBoardのネイティブテナンシーはFlexGalaxyアカウントモデルに直接マッピングされます:
ThingsBoard FlexGalaxy
───────────── ──────────
System Admin ───► Platform operator
Tenant ───► Account (from Org Service)
Customer ───► Sub-account or end-user
Device ───► Registered IoT device
プロビジョニングサービスは、新しいアカウントがオンボーディングされる際にThingsBoardテナントを作成し、登録時にデバイスを正しいテナントに割り当てます。
デバイス接続¶
サポートされるプロトコル¶
プロトコル |
ポート |
ユースケース |
|---|---|---|
MQTT |
1883 / 8883 (TLS) |
主要なデバイス・ツー・クラウド通信 — AMR、清掃ロボット |
CoAP |
5683 / 5684 (DTLS) |
制約のあるセンサー、バッテリー駆動デバイス |
HTTP |
443 |
ゲートウェイ、シミュレーター、バッチ取り込み |
LwM2M |
5685 / 5686 |
制約のあるIoT向けOMA標準デバイス管理 |
クレデンシャルタイプ¶
タイプ |
ユースケース |
プロビジョニング |
|---|---|---|
アクセストークン |
シンプルなセンサー、開発用 |
プロビジョニング時に生成 |
X.509証明書 |
ロボット、本番デバイス |
製造元ごとの下位CA |
MQTT基本認証 |
レガシーデバイス統合 |
ユーザー名/パスワードペア |
ルールエンジン統合¶
ThingsBoardのルールエンジンは、テレメトリとイベントをプラットフォームサービスにルーティングします:
Device telemetry
│
▼
┌──────────────┐
│ Rule Engine │
├──────────────┤
│ Filter │──► Drop noise / validate schema
│ Transform │──► Normalize units, enrich metadata
│ Route │──► Kafka topics for downstream consumers
│ Alert │──► Basic threshold alerts (battery low, offline)
│ RPC │──► Device commands (reboot, configure)
└──────────────┘
│
├──► Kafka: tb.telemetry.* ──► StreamPipes (analytics)
├──► Kafka: tb.events.* ──► Platform services
└──► Internal storage ──► Time-series DB
ルールエンジンは基本的なイベントルーティングと閾値アラートを処理します。DeviceAdminはこれらのアラートをオペレーターに表示します。複雑な分析(パターン検出、ML推論、マルチソース相関)はKafkaを経由してStreamPipesに流れ、ThingIOを通じて公開されます。
デプロイメントアーキテクチャ¶
ThingsBoardは共有EKSクラスター上でマイクロサービスモードで稼働します:
コンポーネント |
レプリカ数 |
リソース |
|---|---|---|
tb-core |
2+ |
コアAPI、ルールエンジン調整 |
tb-rule-engine |
2+ |
ルールチェーン実行 |
tb-transport-mqtt |
2+ |
MQTTエンドポイント |
tb-transport-http |
1+ |
HTTPエンドポイント |
tb-transport-coap |
1+ |
CoAPエンドポイント |
tb-js-executor |
2+ |
JavaScriptルールノード実行 |
ストレージ¶
ストア |
テクノロジー |
目的 |
|---|---|---|
エンティティDB |
PostgreSQL (RDS) |
デバイス、テナント、ダッシュボード、ルールチェーン |
時系列DB |
TimescaleDB (RDS)またはCassandra |
テレメトリデータポイント |
メッセージキュー |
Kafka (MSK) |
内部マイクロサービス間通信 |
キャッシュ |
Redis (ElastiCache) |
セッションキャッシュ、レート制限 |
サイジングガイドライン¶
規模 |
デバイス数 |
メッセージ数/秒 |
TBコア数 |
TBルールエンジン数 |
|---|---|---|---|---|
小規模(開発用) |
< 1,000 |
< 1,000 |
1 |
1 |
中規模 |
1,000–10,000 |
1,000–10,000 |
2 |
2 |
大規模 |
10,000–100,000 |
10,000–50,000 |
3+ |
3+ |
API統合ポイント¶
REST API(プラットフォーム → ThingsBoard)¶
操作 |
エンドポイント |
用途 |
|---|---|---|
デバイス作成 |
|
プロビジョニングサービスがデバイスを作成 |
デバイス取得 |
|
DeviceAdminからのクエリ |
属性の保存 |
|
デバイスメタデータの設定 |
テレメトリのクエリ |
|
履歴データ |
RPC送信 |
|
デバイスコマンド |
テナント管理 |
|
アカウントオンボーディング |
Kafka(ThingsBoard → プラットフォーム)¶
トピック |
ペイロード |
利用者 |
|---|---|---|
|
生テレメトリイベント |
StreamPipes |
|
ルールエンジンアラート |
プラットフォームアラート |
|
接続/切断/プロビジョニングイベント |
プロビジョニング、モニタリング |
責務の境界¶
ThingsBoardが担当する範囲:
デバイス接続とプロトコル変換
テレメトリの取り込みと保存
基本的なルールベースのイベントルーティングとアラート
デバイスクレデンシャル管理(IoTプロトコル用)
ThingsBoardが担当しない範囲:
プラットフォームレベルのアイデンティティと認可 → DotID
複雑なストリーム分析とダッシュボード → StreamPipes(ThingIO経由)
OTAアップデートとアーティファクト配信 → hawkBit(OTAForge経由)
デバイスプロビジョニングワークフロー → DeviceAdmin(プロビジョニングサービス経由)
ビジネスAPI認証 → DotID(Keycloak M2Mトークン)
重要: ThingsBoardの組み込みダッシュボードエンジンは開発者やオペレーターに公開されません。すべてのビジュアライゼーションはThingIOを経由します。