Files
iot-dc3/README.ja.md
T
pnoker cba2d54780 docs: align Make command references with new compose shortcuts
Update READMEs, guides, USAGE and the stack-test skill to use the
up-<stack>[-<registry>] targets in place of the removed dev-* commands.
2026-06-18 18:42:28 +08:00

17 KiB
Raw Blame History

English | 中文 | 日本語 | Tiếng Việt

AI assistants: Read README.ai.md first for a concise, AI-friendly overview of IoT DC3.

IoT DC3

GitHub Stars Gitee Star Gitee Fork License Java 21 Spring Boot 4

IoT DC3 は、AI シナリオに向けて進化するオープンソースの分散型 IoT プラットフォームです。
デバイス接続、データ収集、運用管理、インテリジェント分析をカバーし、産業 IoT ソリューションの構築を支援します。

🔌 28 個の接続ドライバーモジュール  ·  🤖 AI 機能統合  ·  ☁️ クラウドネイティブマイクロサービス


📸 プロダクトプレビュー

📸 プラットフォーム概要 📸 デバイス管理 📸 AI チャット
プラットフォームダッシュボード
ホーム / ダッシュボード
システム概要 · デバイスオンライン統計 · データトレンドチャート
デバイス管理ページ
デバイス管理
デバイス一覧 · オンライン状態 · 検索とフィルタ
AI チャットページ
AI チャット
自然言語によるデバイス操作 · データクエリ · インテリジェント分析

主な機能

🔌 マルチプロトコルデバイス接続

IoT DC3 は 28 個の接続ドライバーモジュールを内蔵し、産業オートメーション、IoT 通信、データブリッジ、基本通信、シミュレーションとデバッグのシナリオをカバーします。一般的なデバイスやデータソースの接続コストを下げます。

分類 ドライバーモジュール
🏭 産業プロトコル Modbus TCP · Modbus RTU · OPC UA · OPC DA · Siemens S7 · BACnet/IP · EtherNet/IP · Omron FINS · Mitsubishi MELSEC · IEC 60870-5-104 · SL651 · DLMS
📡 IoT プロトコル MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee
🗄️ データブリッジ MySQL · PostgreSQL · Oracle · SQL Server
🔧 基本通信とネットワーク管理 TCP/UDP · Serial · SNMP · CAN
🧪 シミュレーションとデバッグ 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 などのコンテナプラットフォームへ移行しやすい構成です
  • ドキュメント整備 - オンラインドキュメント、クイックスタート、トラブルシューティングガイド

クイックスタート

前提条件

依存関係 バージョン
Java (JDK) 21+
Maven 3.9+
Podman または Docker 最新安定版

3 ステップで起動

① リポジトリをクローン

git clone https://github.com/pnoker/iot-dc3.git
cd iot-dc3

② 基本依存関係を起動PostgreSQL + RabbitMQ

# グローバルレジストリ
make up-db

# 中国大陸のユーザー向け(Alibaba Cloud レジストリ)
make up-db-cn

③ ローカル環境変数を読み込み、ビルドして起動

source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package

dc3/env/dev.env.sh は、ローカル Java プロセスを localhost に公開された PostgreSQL、RabbitMQ、gRPC ポートへ接続します。 以降の java -jar コマンドは同じターミナルセッションで実行してください。

順番にサービスを起動します。

java -jar dc3-gateway/target/dc3-gateway.jar                          # API ゲートウェイ
java -jar dc3-center/dc3-center-auth/target/dc3-center-auth.jar        # 認証センター
java -jar dc3-center/dc3-center-manager/target/dc3-center-manager.jar  # 管理センター
java -jar dc3-center/dc3-center-data/target/dc3-center-data.jar        # データセンター
java -jar dc3-center/dc3-center-agentic/target/dc3-center-agentic.jar  # AI Agentic Center
java -jar dc3-driver/dc3-driver-virtual/target/dc3-driver-virtual.jar  # デモ用仮想ドライバー

📖 詳細なローカル環境構築については、クイックスタート環境変数を参照してください。

🔧 その他の起動オプション(任意依存関係、単一サービス起動、環境変数)

任意のインフラを起動EMQX、ELK/APM、Prometheus、Grafana など):

make up-optional-cn              # 任意依存関係を起動
make up-db-cn && make up-optional-cn && make up-dev-cn  # すべての依存関係を起動

必要なサービスだけ起動(フロントエンド / API テスト向け):

make up SERVICES=agentic REGISTRY=cn               # 単一サービス
make up SERVICES="gateway agentic" REGISTRY=cn      # 複数サービス
make up GROUP=core REGISTRY=cn                      # コアサービスグループ
make up GROUP=drivers REGISTRY=cn                   # ドライバーサービスグループ
make logs SERVICES="gateway agentic"                # ログを確認

Compose 環境変数の上書き:

cp .env.example .env    # テンプレートをコピー

ルート .env は、イメージレジストリ、イメージタグ、公開ポートなど Compose の変数展開に使われます。 アプリケーション実行時の変数は dc3/env/dev.env で設定します。詳しくは環境変数ドキュメントを参照してください。

🏗️ アーキテクチャ概要

IoT DC3 Architecture

役割
ドライバー層 SDK によるドライバー開発、標準 / 独自プロトコルのデバイス接続、南向きデータ収集とコマンド実行
データ層 デバイスデータの収集、保存、クエリ。リアルタイムデータと履歴データサービスを支えます
管理層 マイクロサービス連携の中核。サービス登録、デバイス / ドライバー管理、コマンド編成、設定管理
アプリケーション層 データ公開、タスクスケジューリング、アラーム、ログ管理、サードパーティ統合、AI 自動化

📖

詳細なモジュール依存関係とランタイムフローについては、モジュールと依存関係

を参照してください。

🛠️ 技術スタック

分類 技術
言語とフレームワーク Java 21 · Spring Boot 4 · Spring Cloud 2025 · Spring AI 2.0
データ、キャッシュ、スケジューリング PostgreSQL · Caffeine · MyBatis-Plus · Quartz
メッセージングと通信 RabbitMQ · gRPC · MQTT (Paho + EMQX) · Protobuf
セキュリティと認証 Spring Security · JWT · BouncyCastle
可観測性 Micrometer · Prometheus · Grafana · ELK
フロントエンド Vue 3 · TypeScript 6 · Vite 8 · Element Plus · AntV G2/G6
デスクトップ Tauri 2
デプロイ Podman · Docker Compose

💡 フロントエンドのソースコードは iot-dc3-web リポジトリにあります。

📖 ドキュメントとコミュニティ

リソース リンク
📚 オンラインドキュメント pnoker.github.io/iot-dc3
🚀 クイックスタート クイックスタートガイド
🏗️ アーキテクチャ モジュールと依存関係
🔧 ドライバー開発 ドライバー開発ガイド
🐛 トラブルシューティング よくある問題と解決策
📋 変更履歴 リリース変更履歴
🐛 問題報告 GitHub Issues
🇨🇳 Gitee ミラー Gitee GVP プロジェクト

🌍 ユースケース

🏭 スマートファクトリー 生産ライン設備の状態監視、工程パラメータ収集、予知保全、OEE 分析
エネルギー監視 電力 / 水道 / ガスの遠隔検針、エネルギー傾向分析、異常アラーム
🌾 スマート農業 温室環境監視、自動灌漑制御、病害虫警告、収量予測
🏙️ スマートシティ 街路灯管理、環境品質監視、公共施設運用、安全監視

🤝 コントリビューション

あらゆる形のコントリビューションを歓迎します。以下の流れに従ってください。

  1. Fork とブランチ作成 - main からブランチを作成し、feature/your_name/feature_description 形式で命名します (例: feature/pnoker/mqtt_driver
  2. 開発とコミット - 新しいブランチで変更を完了し、Conventional Commits 仕様に従います
  3. PR 作成 - develop ブランチへ Pull Request を提出し、メンテナーのレビューとマージを受けます

📄 ライセンス

IoT DC3 は AGPL 3.0 ライセンスの下でオープンソースとして公開されています。

  • 個人学習、研究、内部利用 - 無料
  • コードを変更し、その変更をオープンソース化すること - 歓迎します
  • ⚠️ 変更を公開せず第三者向け商用サービスとして提供する場合 - 商用ライセンスが必要です

商用ライセンスの詳細は LICENSE.txt を参照してください。

Star 履歴

Star History Chart