Loading repository data…
Loading repository data…
pnoker / repository
IoT DC3 is a fully open-source, distributed industrial IoT platform built on Spring Cloud and evolving for AI scenarios. It enables rapid IoT project development and connected-device management as a complete IoT system solution.
AI assistants: Read README.ai.md first for a concise, AI-friendly overview of IoT DC3.
Six-layer microservice architecture at a glance: clients → gateway → four center services → message bus → 28 protocol drivers → field devices. PostgreSQL (TimescaleDB + pgvector + AGE) persistence and optional observability stack (ELK + Prometheus + Grafana) laid out in one view.
🧱 Design principles — cross-service calls always go through Facade interfaces; the DO/BO/VO three-tier model keeps persistence, business, and API shapes strictly separated; and tenant isolation runs end to end across database, cache, and API paths. Clear boundaries that scale across services and teams.
📖 For the full architecture documentation, see System Architecture Overview.
IoT DC3 includes 28 access driver modules for industrial automation, IoT communication, data bridging, basic communication, and simulation/debugging scenarios, reducing the cost of connecting common devices and data sources:
| Category | Driver Modules |
|---|---|
| 🏭 Industrial protocols | 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 protocols | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee |
| 🗄️ Data bridging | MySQL · PostgreSQL · Oracle · SQL Server |
| 🔧 Basic communication and NMS | TCP/UDP · Serial · SNMP · CAN |
| 🧪 Simulation and debugging | Virtual · Listening Virtual |
The Driver SDK supports fast development of custom protocol drivers and registration into the runtime platform.
The agentic center is built on Spring AI and connects large language models into IoT operations workflows:
Distributed microservice architecture based on Spring Boot 4 + Spring Cloud 2025:
For source-based local development, start PostgreSQL and RabbitMQ, load local environment variables, then build:
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package
Use make up-db-cn if you prefer the Alibaba Cloud registry in Mainland China.
📖 For service startup order, IDE setup, verification commands, and common pitfalls, see the full Quickstart.
IoT DC3 is built on Java 21, Spring Boot 4, Spring Cloud 2025, Spring AI 2, PostgreSQL, RabbitMQ, gRPC, Vue 3, TypeScript, and Vite.
See Technology Stack for component details and where each technology is used.
| Resource | Link |
|---|---|
| 📚 Online docs | docs.dc3.site |
| 🚀 Quickstart | Quickstart Guide |
| 🛠️ Technology stack | Technology Stack |
| 🏗️ Architecture | Modules and Dependencies |
| 🔧 Driver development | Driver Authoring Guide |
| 🐛 Troubleshooting | Troubleshooting |
| 📋 Changelog | Release Changelog |
| 🐛 Issue feedback | GitHub Issues |
| 🇨🇳 Gitee mirror | Gitee GVP Project |
Contributions of all kinds are welcome. Please follow this workflow:
main, using the format feature/your_name/feature_description
(for example: feature/pnoker/mqtt_driver)develop branch for maintainer review and mergeIoT DC3 is open source under the AGPL 3.0 license.
For commercial licensing details, see LICENSE.txt.