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)

操作

エンドポイント

用途

デバイス作成

POST /api/device

プロビジョニングサービスがデバイスを作成

デバイス取得

GET /api/device/{id}

DeviceAdminからのクエリ

属性の保存

POST /api/plugins/telemetry/{id}/attributes

デバイスメタデータの設定

テレメトリのクエリ

GET /api/plugins/telemetry/{id}/values/timeseries

履歴データ

RPC送信

POST /api/rpc/oneway/{id}

デバイスコマンド

テナント管理

POST /api/tenant

アカウントオンボーディング

Kafka(ThingsBoard → プラットフォーム)

トピック

ペイロード

利用者

tb.telemetry.raw

生テレメトリイベント

StreamPipes

tb.rule-engine.notifications

ルールエンジンアラート

プラットフォームアラート

tb.device.lifecycle

接続/切断/プロビジョニングイベント

プロビジョニング、モニタリング

責務の境界

ThingsBoardが担当する範囲:

  • デバイス接続とプロトコル変換

  • テレメトリの取り込みと保存

  • 基本的なルールベースのイベントルーティングとアラート

  • デバイスクレデンシャル管理(IoTプロトコル用)

ThingsBoardが担当しない範囲:

  • プラットフォームレベルのアイデンティティと認可 → DotID

  • 複雑なストリーム分析とダッシュボード → StreamPipes(ThingIO経由)

  • OTAアップデートとアーティファクト配信 → hawkBit(OTAForge経由)

  • デバイスプロビジョニングワークフロー → DeviceAdmin(プロビジョニングサービス経由)

  • ビジネスAPI認証 → DotID(Keycloak M2Mトークン)

重要: ThingsBoardの組み込みダッシュボードエンジンは開発者やオペレーターに公開されません。すべてのビジュアライゼーションはThingIOを経由します。