IoT DC3 — open-source, cloud-native industrial IoT platform. Multi-protocol device access, data collection & management with 28 drivers, Spring Cloud, gRPC, and native LLM integration.
English | 中文 | 日本語 | Tiếng Việt
AI assistants: Read README.ai.md first for a concise, AI-friendly overview of IoT DC3.
IoT DC3 — the multi-protocol, AI-powered, cloud-native open-source industrial IoT platform.
Cloud-native microservices · Multi-protocol connectivity · AI-assisted operations · 28 ready-to-use drivers
🔌 Multi-protocol connectivity · 🤖 AI Agentic Center · ☁️ Cloud-native microservices
📸 Product Preview
| 📸 Platform Overview | 📸 Device Management | 📸 AI Chat |
|---|---|---|
Home / Dashboard System overview · Online device metrics · Data trend charts |
Device Management Device list · Online status · Search and filtering |
AI Chat Natural-language device queries · Data analysis · Intelligent assistance |
🏗️ Architecture Overview
Architecture at a Glance

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.
Four-Layer Reference Architecture Mapping

Industry-standard IoT four-layer reference — Application, Platform, Network, Perception — plus security as a cross-cutting concern.
| Layer | IoT Reference Responsibilities | DC3 Implementation | |-----------------|-------------------------------------------|--------------------------------------------| | Application | Operations · Alarms · Analytics · AIoT | Operations · Agentic Center · MCP | | Platform | Device mgmt · Storage · Rules & compute | Center services · Data plane · TimescaleDB | | Network | Fieldbus · IoT protocols · Wireless / WAN | 28 protocol drivers · Gateway · RabbitMQ | | Perception | Sensing · Auto-ID · Actuators | Profile · Device · Point |
🧱 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 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.
🤖 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,
- 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,
- 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
- 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 RabbitMQ
- 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
- Separated frontend and backend - Vue 3 + TypeScript frontend, RESTful and gRPC APIs
- Containerized deployment - One-command startup with Podman / Docker Compose, with a path toward Kubernetes and
- 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, read the full quickstart guide.
🛠️ Technology Stack
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.
📖 Documentation and Community
| Resource | Link | |-----------------------|-----------------------------------------------------------------------------------------| | 📚 Online docs | pnoker.github.io/iot-dc3 | | 🚀 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/yourname/featuredescription
feature/pnoker/mqtt_driver)
- Develop and commit - Complete your changes on the new branch and follow
- 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
For commercial licensing details, see LICENSE.txt.