- expand single-line Javadocs to multi-line blocks, rewrap Markdown prose, and reflow POM, YAML, and TypeScript formatting - formatting only: no Java code lines changed, no build-file semantics changed - verified: backend compile and check_documentation.py pass, pnpm check and pnpm lint:check pass, and the dc3 YAML files parse
14 KiB
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
AI アシスタント: IoT DC3 の簡潔な AI 向け概要については、最初に README.ai.md をお読みください。
IoT DC3 — マルチプロトコル接続・クラウドネイティブ・オープンソースの産業 IoT プラットフォーム
AI 活用 — デバイス接続から産業エージェントへ
🔌 マルチプロトコル接続 · 🤖 AI Agentic Center · ☁️ クラウドネイティブマイクロサービス
📸 プロダクトプレビュー
| 📸 プラットフォーム概要 | 📸 デバイス管理 | 📸 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 により、カスタムプロトコルドライバーをすばやく開発し、実行中のプラットフォームへ登録できます。
🤖 AI 機能統合
Spring AI ベースの Agentic Center により、大規模言語モデルを IoT 運用ワークフローへ接続します。
- 自然言語による運用支援 - LLM が Tool Calling を通じて、権限管理のもとでデバイス照会、ポイント読み書き、コマンド実行を支援します
- インテリジェントなアラーム分析 - AI が原因分析と対応提案を支援します
- データインサイト - 自然言語でデバイスデータを照会し、可視化チャートを生成します
- 複数モデル対応 - OpenAI API 互換プロバイダーや GPT、Claude、DeepSeek、Qwen などの主要モデルに対応します
- 会話メモリ - 複数ターンの会話とコンテキストメモリをデータベースへ永続化します
🏗️ クラウドネイティブマイクロサービス
Spring Boot 4 + Spring Cloud 2025 を基盤とする分散マイクロサービスアーキテクチャです。
- サービスガバナンス - Spring Cloud Gateway を統一入口とし、静的ルーティングと環境変数で柔軟に設定できます
- 効率的な通信 - gRPC によるサービス間呼び出しと Protobuf シリアライズ
- 水平スケール - ステートレス設計により、業務負荷に応じてサービスを個別にスケールできます
- レジリエンス - 交換可能なサービスノードと障害分離
📊 リアルタイムデータエンジン
- データ収集 - ドライバー層がデバイステレメトリを収集し、RabbitMQ 経由で非同期に転送します
- 時系列ストレージ - リアルタイムデータと履歴データを効率的にクエリできます
- ルールエンジン - 柔軟なアラームルール、多段階アラーム、通知をサポートします
- イベント追跡 - コマンドとイベントの履歴を保持します
🔐 エンタープライズセキュリティとマルチテナンシー
- テナント分離 - データベース、キャッシュ、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、gRPC、Vue 3、TypeScript、Vite を基盤に構築されています。
各コンポーネントの役割と詳細は Technology Stack を参照してください。
📖 ドキュメントとコミュニティ
| リソース | リンク |
|---|---|
| 📚 オンラインドキュメント | docs.dc3.site |
| 🚀 クイックスタート | クイックスタートガイド |
| 🛠️ 技術スタック | Technology Stack |
| 🏗️ アーキテクチャ | モジュールと依存関係 |
| 🔧 ドライバー開発 | ドライバー開発ガイド |
| 🐛 トラブルシューティング | よくある問題と解決策 |
| 📋 変更履歴 | リリース変更履歴 |
| 🐛 問題報告 | GitHub Issues |
| 🇨🇳 Gitee ミラー | Gitee GVP プロジェクト |
🌍 ユースケース
| 🏭 | スマートファクトリー | 生産ライン設備の状態監視、工程パラメータ収集、予知保全、OEE 分析 |
| ⚡ | エネルギー監視 | 電力 / 水道 / ガスの遠隔検針、エネルギー傾向分析、異常アラーム |
| 🌾 | スマート農業 | 温室環境監視、自動灌漑制御、病害虫警告、収量予測 |
| 🏙️ | スマートシティ | 街路灯管理、環境品質監視、公共施設運用、安全監視 |
🤝 コントリビューション
あらゆる形のコントリビューションを歓迎します。以下の流れに従ってください。
- Fork とブランチ作成 -
mainからブランチを作成し、feature/your_name/feature_description形式で命名します (例:feature/pnoker/mqtt_driver) - 開発とコミット - 新しいブランチで変更を完了し、Conventional Commits 仕様に従います
- PR 作成 -
developブランチへ Pull Request を提出し、メンテナーのレビューとマージを受けます
📄 ライセンス
IoT DC3 は AGPL 3.0 ライセンスの下でオープンソースとして公開されています。
- ✅ 個人学習、研究、内部利用 - 無料
- ✅ コードを変更し、その変更をオープンソース化すること - 歓迎します
- ⚠️ 変更を公開せず第三者向け商用サービスとして提供する場合 - 商用ライセンスが必要です
商用ライセンスの詳細は LICENSE.txt を参照してください。




