every remaining document was either a living deployment guide, an active design baseline, or an unimplemented proposal - all retrievable from git history. the open work they carried now lives in issues: #259 r2dbc acceptance gates, #260 comparison adoption candidates, plus the design-direction issues referenced there. all inbound references (agents, contributing, seven multilingual readmes, compose comments, gateway config, module readmes, source comments) updated so nothing points at the removed tree. Co-Authored-By: Claude Code <noreply@anthropic.com>
16 KiB
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
AI アシスタント: IoT DC3 の簡潔な AI 向け概要については、最初に README.ai.md をお読みください。
IoT DC3 — 物理世界と AI をつなぐ
Physical AI ためのオープンソース産業 IoT Runtime
🔌 マルチプロトコル接続 · 🤖 MCP ツールゲートウェイ · ☁️ クラウドネイティブマイクロサービス
IoT DC3 はデバイスとアプリケーションを分離します。ドライバーが正規化したポイントデータを メッセージバスへ送信し、アプリケーションは統一 API でそれを利用します。デバイスを追加・変更してもアプリケーションを変更する必要がなく、アプリケーションを追加してもデバイス側に触れる必要がありません。
📸 プロダクトプレビュー
| 📸 プラットフォーム概要 | 📸 デバイス管理 | 📸 AI エージェント |
|---|---|---|
ホーム / ダッシュボード システム概要 · デバイスオンライン統計 · データトレンドチャート |
デバイス管理 デバイス一覧 · オンライン状態 · 検索とフィルタ |
AI エージェントアシスタント 自然言語によるデバイス照会 · データインサイト · 制御された実行 |
🏗️ アーキテクチャ概要
製品アーキテクチャ全景
6層マイクロサービスアーキテクチャの全体像:クライアント → ゲートウェイ → 4つのセンターサービス → メッセージバス → 36 プロトコルドライバー → フィールドデバイス。PostgreSQL(TimescaleDB + pgvector + AGE)永続層とオプションの可観測性スタック(ELK + Prometheus + Grafana)を一望できます。
🧱 設計原則 — サービス間呼び出しは常に Facade インターフェース経由;DO/BO/VO の三層モデルで永続化・ビジネス・API の形を厳密に分離;テナント分離をデータベース・キャッシュ・API パスまで一貫して適用。境界が明確で、サービスとチームの規模拡大に強い設計です。
📖 完全なアーキテクチャドキュメントについては、 システムアーキテクチャ概要を参照してください。
✨ 主な機能
🔌 マルチプロトコルデバイス接続
IoT DC3 は 36 個の接続ドライバーモジュールを内蔵し、産業オートメーション、IoT 通信、データブリッジ、基本通信、シミュレーションとデバッグのシナリオをカバーします。一般的なデバイスやデータソースの接続コストを下げます。
| 分類 | ドライバーモジュール |
|---|---|
| 🏭 産業プロトコル | Modbus TCP · Modbus RTU · OPC UA · OPC DA · Siemens S7 · BACnet/IP · EtherNet/IP · Omron FINS · Mitsubishi MELSEC · IEC 60870-5-104 · IEC 61850 · DNP3 · DLMS · DLT645 · KNX · M-Bus · SL651 |
| 📡 IoT プロトコル | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee · LoRaWAN |
| 🗄️ データブリッジ | MySQL · PostgreSQL · Oracle · SQL Server · Redis |
| 🔧 基本通信とネットワーク管理 | TCP/UDP · Serial · SNMP · CAN · Kafka |
| 🧪 シミュレーションとデバッグ | Virtual · Listening Virtual |
Driver SDK により、カスタムプロトコルドライバーをすばやく開発し、実行中のプラットフォームへ登録できます。
🤖 デバイスデータから Physical AI へ
Agentic Center は Spring AI ベースで構築され、プラットフォームは MCP ツールゲートウェイを通じて AI エージェントにデバイス能力を開放し、安全・制御可能・追跡可能なループで物理世界への作用を実現します。
- MCP ツールゲートウェイ — 外部の AI エージェントは Model Context Protocol で接続します。OAuth クライアント登録、ツール単位の認可、すべてのツール呼び出しの完全な監査証跡を提供します
- 自然言語による運用支援 - LLM が Tool Calling を通じて、権限管理のもとでデバイス照会、ポイント読み書き、コマンド実行を支援します
- インテリジェントなアラーム分析 - AI が原因分析と対応提案を支援します
- データインサイト - 自然言語でデバイスデータを照会し、可視化チャートを生成します
- 複数モデル対応 - OpenAI API 互換プロバイダーや GPT、Claude、DeepSeek、Qwen などの主要モデルに対応します
- 会話メモリ - 複数ターンの会話とコンテキストメモリをデータベースへ永続化します
🏗️ クラウドネイティブマイクロサービス
Spring Boot 4 + Spring Cloud 2025 を基盤とする分散マイクロサービスアーキテクチャです。
- サービスガバナンス - Spring Cloud Gateway を統一入口とし、静的ルーティングと環境変数で柔軟に設定できます
- 効率的な通信 - gRPC によるサービス間呼び出しと Protobuf シリアライズ
- 水平スケール - ステートレス設計により、業務負荷に応じてサービスを個別にスケールできます
- レジリエンス - 交換可能なサービスノードと障害分離
📊 リアルタイムデータエンジン
- データ収集 - ドライバー層がデバイステレメトリを収集し、内部メッセージブローカーで非同期転送します。デプロイごとに選択可能:RabbitMQ(デフォルト)、Kafka、Pulsar、任意の MQTT 5 ブローカー
- 時系列ストレージ - リアルタイムデータと履歴データを効率的にクエリできます
- ルールエンジン - 柔軟なアラームルール、多段階アラーム、通知をサポートします
- イベント追跡 - コマンドとイベントの履歴を保持します
🔐 エンタープライズセキュリティとマルチテナンシー
- テナント分離 - データベース、キャッシュ、API パスでテナント単位の分離を行います
- 認証と認可 - JWT + Spring Security、RBAC 権限モデル
- 通信暗号化 - TLS/SSL 通信をサポートします
- 監査追跡 - ユーザー操作とシステムイベントのログを保持します
🧩 開発者フレンドリー
- Driver SDK - 充実したドライバー開発ツールキットです。ドライバー開発ガイド を参照してください
- フロントエンド / バックエンド分離 - Vue 3 + TypeScript フロントエンド、RESTful + gRPC API
- コンテナ化デプロイ - Podman / Docker Compose でワンコマンド起動でき、Kubernetes などのコンテナプラットフォームへ移行しやすい構成です
- ドキュメント整備 - オンラインドキュメント、クイックスタート、トラブルシューティングガイド
⚡ クイックスタート
ソースからローカル開発する場合は、PostgreSQL と RabbitMQ を起動し、ローカル環境変数を読み込んでからビルドします。
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package
中国大陸向けの Alibaba Cloud レジストリを使う場合は make up-db-cn を利用してください。
📖 サービスの起動順序、IDE 設定、検証コマンド、よくある落とし穴については、 完全なクイックスタートを参照してください。
🛠️ 技術スタック
IoT DC3 は Java 21、Spring Boot 4、Spring Cloud 2025、Spring AI 2、PostgreSQL、プラグ可能なメッセージブローカー(RabbitMQ、Kafka、Pulsar または MQTT 5)、gRPC、Vue 3、TypeScript、Vite を基盤に構築されています。
各コンポーネントの役割と詳細は Technology Stack を参照してください。
📖 ドキュメントとコミュニティ
| リソース | リンク |
|---|---|
| 📚 オンラインドキュメント | docs.dc3.site |
| 🎬 ライブデモ | demo.dc3.site |
| 🏭 業界デモ | dc3.site/en/demo |
| 🚀 クイックスタート | クイックスタートガイド |
| 🛠️ 技術スタック | Technology Stack |
| 🏗️ アーキテクチャ | モジュールと依存関係 |
| 🔧 ドライバー開発 | ドライバー開発ガイド |
| 🐛 トラブルシューティング | よくある問題と解決策 |
| 📋 変更履歴 | リリース変更履歴 |
| 💰 価格とライセンス | プランと商用ライセンス |
| 🐛 問題報告 | GitHub Issues |
| 🇨🇳 Gitee ミラー | Gitee GVP プロジェクト |
🌍 ユースケース
IoT DC3 で構築された 12 の業界デモダッシュボード(モックデータ)が、各シナリオでのプラットフォームの活用方法を示します。すべてのデモを見る。
| 🏭 スマートファクトリー — OEE 監視 | 💧 水道ネットワーク — デジタルツイン | ⚡ マイクログリッド — 光蓄連携 |
| 🌾 精密農業 — ハウス微気候 | 🏢 スマートビル — 空調と在室管理 | 🚦 スマート交通 — 渋滞と信号 |
| 🛢️ 油ガスパイプライン — 管圧監視 | ⛏️ スマートマイン — ガス換気警報 | ❄️ コールドチェーン — 温度追跡 |
| 🌿 環境モニタリング — 大気水質 | ⚓ スマートポート — バース配船 | 🔌 EV 充電 — 負荷と蓄電連携 |
🤝 コントリビューション
あらゆる形のコントリビューションを歓迎します。以下の流れに従ってください。
- Fork とブランチ作成 -
mainからブランチを作成し、feature/your_name/feature_description形式で命名します (例:feature/pnoker/mqtt_driver) - 開発とコミット - 新しいブランチで変更を完了し、Conventional Commits 仕様に従います
- PR 作成 -
developブランチへ Pull Request を提出し、メンテナーのレビューとマージを受けます
📄 ライセンス
IoT DC3 は AGPL 3.0 ライセンスの下でオープンソースとして公開されています。
- ✅ 個人学習、研究、内部利用 - 無料
- ✅ コードを変更し、その変更をオープンソース化すること - 歓迎します
- ⚠️ 変更を公開せず第三者向け商用サービスとして提供する場合 - 商用ライセンスが必要です
商用ライセンスの詳細は LICENSE.txt を参照してください。




