- 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 | Русский
Asistentes de IA: Lea primero README.ai.md para obtener una descripción general concisa y amigable para IA de IoT DC3.
IoT DC3 — plataforma de IoT industrial multiprotocolo, nativa de la nube y de código abierto.
Con IA — de la conectividad de dispositivos a los agentes industriales
🔌 Conectividad multiprotocolo · 🤖 AI Agentic Center · ☁️ Microservicios nativos de la nube
📸 Vista previa del producto
🏗️ Resumen de arquitectura
Arquitectura de un vistazo
Arquitectura de microservicios en seis capas de un vistazo: clientes → puerta de enlace → cuatro servicios centrales → bus de mensajes → 36 controladores de protocolo → dispositivos de campo. PostgreSQL (TimescaleDB + pgvector + AGE) para persistencia y stack de observabilidad opcional (ELK + Prometheus + Grafana) presentados en una sola vista.
🧱 Principios de diseño — Las llamadas entre servicios siempre se realizan a través de interfaces Facade; el modelo de tres niveles DO/BO/VO mantiene estrictamente separadas la persistencia, la lógica de negocio y las formas de API; y el aislamiento de inquilinos se aplica de extremo a extremo en las rutas de base de datos, caché y API. Límites claros que escalan entre servicios y equipos.
📖 Para la documentación completa de la arquitectura, consulte Descripción general de la arquitectura del sistema.
✨ Características principales
🔌 Conectividad de dispositivos multiprotocolo
IoT DC3 incluye 36 módulos de controladores de acceso para automatización industrial, comunicaciones IoT, puenteo de datos, comunicaciones básicas y escenarios de simulación/depuración, reduciendo el costo de conectar dispositivos y fuentes de datos comunes:
| Categoría | Módulos de controladores |
|---|---|
| 🏭 Protocolos industriales | 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 |
| 📡 Protocolos IoT | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee · LoRaWAN |
| 🗄️ Puenteo de datos | MySQL · PostgreSQL · Oracle · SQL Server · Redis |
| 🔧 Comunicaciones básicas y gestión de red | TCP/UDP · Serial · SNMP · CAN · Kafka |
| 🧪 Simulación y depuración | Virtual · Listening Virtual |
El Driver SDK permite el desarrollo rápido de controladores de protocolo personalizados y su registro en la plataforma de ejecución.
🤖 Integración de capacidades de IA
El centro de agentes inteligentes está construido sobre Spring AI y conecta modelos de lenguaje de gran tamaño en los flujos de trabajo de operaciones de IoT:
- Operaciones asistidas por lenguaje natural — a través de Tool Calling y bajo control de acceso, los LLM pueden consultar dispositivos, leer/escribir puntos de datos y ayudar con la ejecución de comandos
- Análisis inteligente de alarmas — la IA ayuda con el análisis de causa raíz y sugerencias de respuesta
- Perspectivas de datos — consulta de datos de dispositivos en lenguaje natural y generación de gráficos de visualización
- Soporte multi-modelo — compatible con proveedores estilo API de OpenAI y modelos principales como GPT, Claude, DeepSeek y Qwen
- Memoria de conversación — conversaciones de múltiples turnos y memoria de contexto persistida en la base de datos
🏗️ Microservicios nativos de la nube
Arquitectura de microservicios distribuida basada en Spring Boot 4 + Spring Cloud 2025:
- Gobernanza de servicios — Spring Cloud Gateway como punto de entrada unificado, con enrutamiento estático y variables de entorno flexibles
- Comunicación eficiente — llamadas entre servicios mediante gRPC con serialización Protobuf
- Escalado horizontal — diseño sin estado para escalar servicios individuales según la carga de trabajo
- Resiliencia — nodos de servicio reemplazables y aislamiento de fallos
📊 Motor de datos en tiempo real
- Recopilación de datos — los controladores recopilan telemetría de dispositivos y la envían de forma asíncrona a través de RabbitMQ
- Almacenamiento de series temporales — consultas eficientes para datos en tiempo real e históricos
- Motor de reglas — reglas de alarma flexibles con alarmas multinivel y notificaciones
- Trazabilidad de eventos — historial completo de comandos y eventos
🔐 Seguridad empresarial y multiinquilinos
- Aislamiento de inquilinos — aislamiento a nivel de inquilinos en las rutas de base de datos, caché y API
- Autenticación y autorización — JWT + Spring Security con modelo RBAC
- Cifrado en tránsito — soporte para comunicación TLS/SSL
- Seguimiento de auditoría — registros de operaciones de usuarios y eventos del sistema
🧩 Amigable para desarrolladores
- Driver SDK — un kit de herramientas completo para el desarrollo de controladores. Consulte la Guía de creación de controladores
- Frontend y backend separados — frontend Vue 3 + TypeScript, APIs RESTful y gRPC
- Despliegue contenedorizado — inicio con un comando mediante Podman / Docker Compose, con camino hacia Kubernetes y otras plataformas contenedorizadas
- Documentación completa — documentación en línea, guía de inicio rápido y guía de solución de problemas
⚡ Inicio rápido
Para el desarrollo local basado en fuente, inicie PostgreSQL y RabbitMQ, cargue las variables de entorno locales y luego compile:
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package
Use make up-db-cn si prefiere el registro de Alibaba Cloud en China continental.
📖 Para el orden de inicio de servicios, configuración de IDE, comandos de verificación y problemas comunes, consulte el Inicio rápido completo.
🛠️ Stack tecnológico
IoT DC3 está construido sobre Java 21, Spring Boot 4, Spring Cloud 2025, Spring AI 2, PostgreSQL, RabbitMQ, gRPC, Vue 3, TypeScript y Vite.
Consulte Stack tecnológico para obtener detalles de los componentes y dónde se utiliza cada tecnología.
📖 Documentación y comunidad
| Recurso | Enlace |
|---|---|
| 📚 Documentación en línea | docs.dc3.site |
| 🚀 Inicio rápido | Guía de inicio rápido |
| 🛠️ Stack tecnológico | Technology Stack |
| 🏗️ Arquitectura | Módulos y dependencias |
| 🔧 Desarrollo de controladores | Guía de creación de controladores |
| 🐛 Solución de problemas | Solución de problemas |
| 📋 Registro de cambios | Registro de cambios de versión |
| 🐛 Reporte de problemas | GitHub Issues |
| 🇨🇳 Espejo de Gitee | Proyecto GVP de Gitee |
🌍 Casos de uso
| 🏭 | Fábrica inteligente | Monitoreo de equipos en líneas de producción, recopilación de parámetros de proceso, mantenimiento predictivo y análisis OEE |
| ⚡ | Monitoreo de energía | Medición remota de electricidad, agua y gas; análisis de tendencias energéticas; alarmas anómalas |
| 🌾 | Agricultura inteligente | Monitoreo ambiental de invernaderos, control automático de riego, alertas de plagas y enfermedades, pronóstico de rendimiento |
| 🏙️ | Ciudad inteligente | Gestión de alumbrado público, monitoreo de calidad ambiental, operación de instalaciones municipales, monitoreo de seguridad |
🤝 Contribuir
Se da la bienvenida a todo tipo de contribuciones. Siga este flujo de trabajo:
- Fork y rama — Cree una rama desde
main, usando el formatofeature/your_name/feature_description(por ejemplo:feature/pnoker/mqtt_driver) - Desarrollar y confirmar — Complete sus cambios en la nueva rama y siga la especificación Conventional Commits
- Abrir un PR — Envíe un Pull Request a la rama
developpara revisión y fusión por parte de los mantenedores
📄 Licencia
IoT DC3 es de código abierto bajo la licencia AGPL 3.0.
- ✅ Aprendizaje personal, investigación y uso interno — Gratis
- ✅ Modificar el código y publicar sus cambios como código abierto — Bienvenido
- ⚠️ Ofrecerlo como servicio comercial a terceros sin publicar las modificaciones como código abierto — Requiere licencia comercial
Para detalles de licenciamiento comercial, consulte LICENSE.txt.




