- add the canonical AGPL header to the six agentic application yml files and the two python scripts that lacked one - add the header to all 79 kustomize, helm, and grafana yaml files, including the k8s driver template which regenerates the 36 driver manifests - verified: the k8s yaml files parse (multi-document aware), the python scripts compile, and the regenerated drivers differ only by the header
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
AI assistants: Read README.ai.md first for a concise, AI-friendly overview of IoT DC3.
IoT DC3 — the multi-protocol, cloud-native, open-source industrial IoT platform.
AI-powered — from device connectivity to industrial agents
🔌 Multi-protocol connectivity · 🤖 AI Agentic Center · ☁️ Cloud-native microservices
📸 Product Preview
🏗️ Architecture Overview
Architecture at a Glance
Six-layer microservice architecture at a glance: clients → gateway → four center services → message bus → 36 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.
✨ Core Features
🔌 Multi-Protocol Device Connectivity
IoT DC3 includes 36 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 · IEC 61850 · DNP3 · DLMS · DLT645 · KNX · M-Bus · SL651 |
| 📡 IoT protocols | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee · LoRaWAN |
| 🗄️ Data bridging | MySQL · PostgreSQL · Oracle · SQL Server · Redis |
| 🔧 Basic communication, messaging and NMS | TCP/UDP · Serial · SNMP · CAN · Kafka |
| 🧪 Simulation and debugging | Virtual · Listening Virtual |
The Driver SDK supports fast development of custom protocol drivers and registration into the runtime platform.
🤖 AI Capability Integration
The agentic center is built on Spring AI and connects large language models into IoT operations workflows:
- Natural-language assisted operations - through Tool Calling and under access control, LLMs can query devices, read/write points, and assist with command execution
- Intelligent alarm analysis - AI assists with root-cause analysis and response suggestions
- Data insights - Query device data in natural language and generate visual charts
- Multi-model support - Compatible with OpenAI API-style providers and mainstream models such as GPT, Claude, DeepSeek, and Qwen
- Conversation memory - Multi-turn conversations and context memory persisted to the database
🏗️ Cloud-Native Microservices
Distributed microservice architecture based on Spring Boot 4 + Spring Cloud 2025:
- Service governance - Spring Cloud Gateway as the unified entrypoint, with static routes and flexible environment variables
- Efficient communication - gRPC service calls with Protobuf serialization
- Horizontal scaling - Stateless design for scaling individual services by workload
- Resilience - Replaceable service nodes and fault isolation
📊 Real-Time Data Engine
- Data collection - Drivers collect device telemetry and send it asynchronously through the internal message broker — pluggable per deployment: RabbitMQ (default), Kafka, RocketMQ, Pulsar, ActiveMQ or any MQTT 5 broker (broker guide)
- Time-series storage - Efficient queries for real-time and historical data
- Rule engine - Flexible alarm rules with multi-level alarms and notifications
- Event traceability - Full command and event history
🔐 Enterprise Security and Multi-Tenancy
- Tenant isolation - Tenant-level isolation across database, cache, and API paths
- Authentication and authorization - JWT + Spring Security with RBAC
- Transport encryption - TLS/SSL communication support
- Audit tracking - User operation and system event logs
🧩 Developer Friendly
- Driver SDK - A complete driver development toolkit. See the Driver Authoring Guide
- Separated frontend and backend - Vue 3 + TypeScript frontend, RESTful and gRPC APIs
- Containerized deployment - One-command startup with Podman / Docker Compose, plus compose scaling, Docker Swarm, Kubernetes and Helm deployment configs. See the Deployment Guide.
- Complete documentation - Online docs, quickstart guide, and troubleshooting guide
⚡ Quick Start
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.
🛠️ Technology Stack
IoT DC3 is built on Java 21, Spring Boot 4, Spring Cloud 2025, Spring AI 2, PostgreSQL, a pluggable message broker (RabbitMQ, Kafka, RocketMQ, Pulsar, ActiveMQ or MQTT 5 — selection guide), gRPC, Vue 3, TypeScript, and Vite.
See Technology Stack for component details and where each technology is used.
📖 Documentation and Community
| 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 |
🌍 Use Cases
| 🏭 | Smart Factory | Production-line device monitoring, process parameter collection, predictive maintenance, and OEE analysis |
| ⚡ | Energy Monitoring | Remote metering for power, water, and gas; energy trend analysis; anomaly alarms |
| 🌾 | Smart Agriculture | Greenhouse monitoring, automatic irrigation control, pest and disease warnings, yield forecasting |
| 🏙️ | Smart City | Streetlight management, environmental monitoring, municipal facility operations, safety monitoring |
🤝 Contributing
Contributions of all kinds are welcome. Please follow this workflow:
- Fork and branch - Create a branch from
main, using the formatfeature/your_name/feature_description(for example:feature/pnoker/mqtt_driver) - Develop and commit - Complete your changes on the new branch and follow the Conventional Commits specification
- Open a PR - Submit a Pull Request to the
developbranch for maintainer review and merge
📄 License
IoT DC3 is open source under the AGPL 3.0 license.
- ✅ Personal learning, research, and internal use - Free
- ✅ Modify the code and open source your changes - Welcome
- ⚠️ Offering it as a commercial service to third parties without open-sourcing modifications - Requires a commercial license
For commercial licensing details, see LICENSE.txt.




