every remaining document was either a living deployment guide, an active design baseline, or an unimplemented proposal - all retrievable from git history. the open work they carried now lives in issues: #259 r2dbc acceptance gates, #260 comparison adoption candidates, plus the design-direction issues referenced there. all inbound references (agents, contributing, seven multilingual readmes, compose comments, gateway config, module readmes, source comments) updated so nothing points at the removed tree. Co-Authored-By: Claude Code <noreply@anthropic.com>
15 KiB
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
AI 어시스턴트: IoT DC3의 간결한 AI 친화적 개요를 보려면 먼저 README.ai.md를 읽어주세요.
IoT DC3 — 물리 세계와 AI를 연결
Physical AI를 위한 오픈소스 산업용 IoT Runtime
🔌 멀티 프로토콜 연결 · 🤖 MCP 툴 게이트웨이 · ☁️ 클라우드 네이티브 마이크로서비스
IoT DC3는 디바이스와 애플리케이션을 분리합니다. 드라이버가 표준화된 포인트 데이터를 메시지 버스로 전송하고, 애플리케이션은 하나의 통일된 API로 이를 소비합니다. 디바이스를 추가·교체해도 애플리케이션을 수정할 필요가 없고, 새 애플리케이션을 만들어도 디바이스에 영향을 주지 않습니다.
📸 제품 미리보기
| 📸 플랫폼 개요 | 📸 디바이스 관리 | 📸 AI 에이전트 |
|---|---|---|
홈 / 대시보드 시스템 개요 · 디바이스 온라인 통계 · 데이터 트렌드 차트 |
디바이스 관리 디바이스 목록 · 온라인 상태 · 검색 및 필터링 |
AI 에이전트 어시스턴트 자연어 디바이스 쿼리 · 데이터 인사이트 · 통제된 실행 |
🏗️ 아키텍처 개요
아키텍처 한눈에 보기
6계층 마이크로서비스 아키텍처: 클라이언트 → 게이트웨이 → 4개 센터 서비스 → 메시지 버스 → 36개 프로토콜 드라이버 → 현장 디바이스. PostgreSQL (TimescaleDB + pgvector + AGE) 영속성 계층과 선택적 관찰 가능성 스택 (ELK + Prometheus + Grafana)이 한눈에 보입니다.
🧱 설계 원칙 — 서비스 간 호출은 항상 Facade 인터페이스를 통해 이루어집니다. DO/BO/VO 3계층 모델은 영속성, 비즈니스, API 형태를 엄격히 분리합니다. 테넌트 격리는 데이터베이스, 캐시, API 경로 전체에 걸쳐 적용됩니다. 서비스와 팀 전반에 걸쳐 확장 가능한 명확한 경계입니다.
📖 전체 아키텍처 문서는 시스템 아키텍처 개요를 참조하세요.
✨ 핵심 기능
🔌 멀티 프로토콜 디바이스 연결
IoT DC3는 산업 자동화, IoT 통신, 데이터 브리징, 기본 통신, 시뮬레이션/디버깅 시나리오를 위한 36개의 접근 드라이버 모듈을 포함하여 일반적인 디바이스와 데이터 소스의 연결 비용을 줄입니다:
| 카테고리 | 드라이버 모듈 |
|---|---|
| 🏭 산업 프로토콜 | 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 프로토콜 | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee · LoRaWAN |
| 🗄️ 데이터 브리징 | MySQL · PostgreSQL · Oracle · SQL Server · Redis |
| 🔧 기본 통신 및 네트워크 관리 | TCP/UDP · Serial · SNMP · CAN · Kafka |
| 🧪 시뮬레이션 및 디버깅 | Virtual · Listening Virtual |
Driver SDK를 통해 커스텀 프로토콜 드라이버를 빠르게 개발하고 실행 중인 플랫폼에 등록할 수 있습니다.
🤖 디바이스 데이터에서 Physical AI까지
에이전틱 센터는 Spring AI 기반으로 구축되었으며, 플랫폼은 MCP 툴 게이트웨이를 통해 AI 에이전트에 디바이스 기능을 개방하여 안전·통제 가능·추적 가능한 루프 안에서 물리 세계에 작용하도록 합니다:
- MCP 툴 게이트웨이 — 외부 AI 에이전트가 Model Context Protocol로 연결됩니다. OAuth 클라이언트 등록, 툴 단위 인가, 모든 툴 호출에 대한 전체 감사 로그를 제공합니다
- 자연어 기반 운영 지원 — Tool Calling을 통해 LLM이 권한 관리 하에 디바이스를 쿼리하고, 포인트를 읽/쓰고, 명령 실행을 지원합니다
- 지능형 알람 분석 — AI가 근본 원인 분석과 대응 제안을 지원합니다
- 데이터 인사이트 — 자연어로 디바이스 데이터를 쿼리하고 시각화 차트를 생성합니다
- 멀티 모델 지원 — OpenAI API 스타일 프로바이더와 GPT, Claude, DeepSeek, Qwen 같은 주요 모델을 호환합니다
- 대화 메모리 — 다중 턴 대화와 컨텍스트 메모리를 데이터베이스에 영속화합니다
🏗️ 클라우드 네이티브 마이크로서비스
Spring Boot 4 + Spring Cloud 2025 기반의 분산 마이크로서비스 아키텍처:
- 서비스 거버넌스 — Spring Cloud Gateway를 통합 진입점으로 사용하며, 정적 라우팅과 유연한 환경 변수 설정
- 효율적인 통신 — gRPC 서비스 간 호출과 Protobuf 직렬화
- 수평적 확장 — 무상태 설계로 비즈니스 부하에 따라 개별 서비스를 독립적으로 확장
- 복원력 — 교체 가능한 서비스 노드와 장애 격리
📊 실시간 데이터 엔진
- 데이터 수집 — 드라이버 계층이 디바이스 원격 측정 데이터를 수집하고 내부 메시지 브로커를 통해 비동기로 전송합니다. 배포별 선택 가능: RabbitMQ(기본), Kafka, Pulsar 또는 모든 MQTT 5 브로커
- 시계열 저장 — 실시간 및 이력 데이터의 효율적인 쿼리
- 규칙 엔진 — 유연한 알람 규칙, 다중 수준 알람 및 알림 지원
- 이벤트 추적 — 전체 명령 및 이벤트 이력
🔐 엔터프라이즈 보안 및 멀티테넌시
- 테넌트 격리 — 데이터베이스, 캐시, API 경로 전체에 걸친 테넌트 수준 격리
- 인증 및 인가 — JWT + Spring Security, RBAC 권한 모델
- 전송 암호화 — TLS/SSL 통신 지원
- 감사 추적 — 사용자 작업 및 시스템 이벤트 로그
🧩 개발자 친화적
- Driver SDK — 완비된 드라이버 개발 도구 키트. 드라이버 작성 가이드 참조
- 프론트엔드/백엔드 분리 — Vue 3 + TypeScript 프론트엔드, RESTful + gRPC API
- 컨테이너화된 배포 — Podman / Docker Compose로 원커맨드 시작, Kubernetes 등 컨테이너 플랫폼으로 쉽게 마이그레이션
- 완전한 문서 — 온라인 문서, 퀵스타트 가이드, 문제 해결 가이드
⚡ 퀵스타트
소스 기반 로컬 개발을 위해 PostgreSQL과 RabbitMQ를 시작하고, 로컬 환경 변수를 로드한 뒤 빌드합니다:
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package
중국 본토에서는 Alibaba Cloud 레지스트리를 사용하려면 make up-db-cn을 사용하세요.
📖 서비스 시작 순서, IDE 설정, 검증 명령 및 흔한 주의사항은 전체 퀵스타트를 참조하세요.
🛠️ 기술 스택
IoT DC3는 Java 21, Spring Boot 4, Spring Cloud 2025, Spring AI 2, PostgreSQL, 플러그 가능한 메시지 브로커(RabbitMQ, Kafka, Pulsar 또는 MQTT 5), gRPC, Vue 3, TypeScript, Vite 기반으로 구축되었습니다.
구성 요소 세부 정보와 사용 위치는 기술 스택을 참조하세요.
📖 문서 및 커뮤니티
| 리소스 | 링크 |
|---|---|
| 📚 온라인 문서 | docs.dc3.site |
| 🎬 라이브 데모 | demo.dc3.site |
| 🏭 산업 데모 | dc3.site/en/demo |
| 🚀 퀵스타트 | 퀵스타트 가이드 |
| 🛠️ 기술 스택 | Technology Stack |
| 🏗️ 아키텍처 | 모듈 및 의존성 |
| 🔧 드라이버 개발 | 드라이버 작성 가이드 |
| 🐛 문제 해결 | 문제 해결 |
| 📋 변경 로그 | 릴리스 변경 로그 |
| 💰 가격·라이선스 | 요금제와 상용 라이선스 |
| 🐛 이슈 피드백 | GitHub Issues |
| 🇨🇳 Gitee 미러 | Gitee GVP 프로젝트 |
🌍 사용 사례
IoT DC3로 구축된 12개 산업 데모 대시보드(모의 데이터)가 각 시나리오에서의 활용 방식을 보여줍니다. 모든 데모 보기.
| 🏭 스마트 팩토리 — OEE 모니터링 | 💧 수도 네트워크 — 디지털 트윈 | ⚡ 마이크로그리드 — 태양광·저장 연계 |
| 🌾 정밀 농업 — 온실 미기후 | 🏢 스마트 빌딩 — 공조·점유 관리 | 🚦 스마트 교통 — 혼잡·신호 제어 |
| 🛢️ 유·가스 파이프라인 — 관압 모니터링 | ⛏️ 스마트 광산 — 가스·환기 경보 | ❄️ 콜드체인 — 온도 이력 추적 |
| 🌿 환경 모니터링 — 대기·수질 | ⚓ 스마트 항만 — 접안·야적 스케줄링 | 🔌 EV 충전 — 부하·저장 연계 |
🤝 기여하기
모든 형태의 기여를 환영합니다. 다음 워크플로를 따라주세요:
- Fork 및 브랜치 —
main에서 브랜치를 만들고feature/your_name/feature_description형식으로 이름을 지정하세요 (예:feature/pnoker/mqtt_driver) - 개발 및 커밋 — 새 브랜치에서 변경을 완료하고 Conventional Commits 사양을 따르세요
- PR 열기 —
develop브랜치에 Pull Request를 제출하여 관리자에게 리뷰와 머지를 받으세요
📄 라이선스
IoT DC3는 AGPL 3.0 라이선스 하에 오픈소스로 제공됩니다.
- ✅ 개인 학습, 연구, 내부 사용 — 무료
- ✅ 코드 수정 및 수정 사항 오픈소스화 — 환영합니다
- ⚠️ 수정 사항을 오픈소스화하지 않고 제3자에게 상업 서비스로 제공하는 경우 — 상업 라이선스 필요
상업 라이선스 세부 정보는 LICENSE.txt를 참조하세요.




