* chore(docs): move docs site to standalone pnoker/iot-dc3-docs repo The VitePress docs site now lives in pnoker/iot-dc3-docs and serves docs.dc3.site from there. Remove the in-repo docs/ and all docs-only build/deploy wiring so nothing dangles. - delete docs/ (source moved to pnoker/iot-dc3-docs) - delete .github/workflows/docs.yml (deploy owned by iot-dc3-docs) - drop npm /docs dependabot block; clean codeql/.gitignore docs paths - remove Makefile docs-* targets - relocate AI testing policy into dc3-web/tests/ so the required Web guardrail test is self-contained (was reading ../docs/...) - rewire README image refs (7 READMEs) and in-repo doc links (README.ai.md, AGENTS.md, dc3/doc/README.md) to https://docs.dc3.site / the new repo dc3/doc/{TITLE,CHANGE,USAGE}.md STAY - release tooling (make changelog, docker-ci) regenerates them; the docs repo snapshots them. * fix(docs): repair pre-existing broken doc links found during migration - 8 READMEs: /en|zh/introduction/technology-stack -> /en|zh/development/technology-stack (page lives under development/, not introduction/) - dc3-web/tests/README.md: ../docs/test-debugging.md (missing) -> https://docs.dc3.site/en/frontend/test-debugging
18 KiB
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
ИИ-ассистенты: Сначала прочитайте README.ai.md для краткого обзора IoT DC3, оптимизированного для ИИ.
IoT DC3 — многопротокольная, ИИ-управляемая, облачная открытая платформа промышленного Интернета вещей.
Облачные микросервисы · Многопротокольное подключение · ИИ-помощь в эксплуатации · 28 готовых драйверов
🔌 Многопротокольное подключение · 🤖 AI Agentic Center · ☁️ Облачные микросервисы
📸 Превью продукта
🏗️ Обзор архитектуры
Архитектура на одном экране
Шестиуровневая микросервисная архитектура: клиенты → шлюз → четыре центральных сервиса → шина сообщений → 28 протокольных драйверов → полевые устройства. PostgreSQL (TimescaleDB + pgvector + AGE) для хранения и опциональный стек наблюдаемости (ELK + Prometheus + Grafana) — всё на одном чертеже.
🧱 Принципы проектирования — межсервисные вызовы всегда через интерфейсы Facade; трёхслойная модель DO/BO/VO строго разделяет хранение, бизнес-логику и API; изоляция арендаторов от базы данных и кэша до API。Чёткие границы, масштабируемые между сервисами и командами.
📖 Подробная документация по архитектуре: Обзор системной архитектуры.
✨ Основные возможности
🔌 Многопротокольное подключение устройств
IoT DC3 включает 28 модулей драйверов доступа для промышленной автоматизации, IoT-коммуникаций, мостовой передачи данных, базовых коммуникаций и сценариев моделирования/отладки, снижая стоимость подключения распространённых устройств и источников данных:
| Категория | Модули драйверов |
|---|---|
| 🏭 Промышленные протоколы | 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-протоколы | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee |
| 🗄️ Мостовая передача данных | MySQL · PostgreSQL · Oracle · SQL Server |
| 🔧 Базовые коммуникации и управление | TCP/UDP · Serial · SNMP · CAN |
| 🧪 Моделирование и отладка | Virtual · Listening Virtual |
Driver SDK поддерживает быструю разработку пользовательских протокольных драйверов и их регистрацию в среде выполнения платформы.
🤖 Интеграция ИИ-возможностей
Центр интеллектуальных агентов построен на Spring AI и подключает большие языковые модели к рабочим процессам эксплуатации IoT:
- Операционная поддержка на естественном языке — LLM через Tool Calling и под контролем доступа может запрашивать устройства, читать/записывать точки данных и помогать с выполнением команд
- Интеллектуальный анализ аварий — ИИ помогает с анализом корневых причин и предложениями по реагированию
- Аналитика данных — запросы данных устройств на естественном языке с генерацией визуальных графиков
- Поддержка нескольких моделей — совместимость с провайдерами в стиле OpenAI API и ведущими моделями, такими как GPT, Claude, DeepSeek и Qwen
- Память диалога — многошаговые диалоги и контекстная память, сохраняемые в базе данных
🏗️ Облачные микросервисы
Распределённая микросервисная архитектура на базе Spring Boot 4 + Spring Cloud 2025:
- Управление сервисами — Spring Cloud Gateway как единая точка входа со статическими маршрутами и гибкой настройкой через переменные окружения
- Эффективная коммуникация — межсервисные вызовы через gRPC с сериализацией Protobuf
- Горизонтальное масштабирование — бездизайновый дизайн для масштабирования отдельных сервисов по нагрузке
- Отказоустойчивость — заменяемые узлы сервисов и изоляция сбоев
📊 Движок данных реального времени
- Сбор данных — драйверы собирают телеметрию устройств и передают асинхронно через RabbitMQ
- Хранение временных рядов — эффективные запросы для данных реального времени и истории
- Движок правил — гибкие правила аварий с многоуровневыми уведомлениями
- Проследимость событий — полная история команд и событий
🔐 Корпоративная безопасность и мультитенантность
- Изоляция арендаторов — изоляция на уровне арендаторов от базы данных и кэша до API
- Аутентификация и авторизация — JWT + Spring Security с моделью RBAC
- Шифрование передачи — поддержка TLS/SSL
- Аудиторский трекинг — журналы операций пользователей и системных событий
🧩 Удобство для разработчиков
- Driver SDK — полный набор инструментов для разработки драйверов. См. Руководство по созданию драйверов
- Разделение фронтенда и бэкенда — фронтенд на Vue 3 + TypeScript, API RESTful и gRPC
- Контейнеризированное развёртывание — запуск одной командой через Podman / Docker Compose, с возможностью миграции на Kubernetes и другие контейнерные платформы
- Полная документация — онлайн-документация, руководство по быстрому старту и руководство по устранению неполадок
⚡ Быстрый старт
Для локальной разработки из исходного кода запустите PostgreSQL и RabbitMQ, загрузите локальные переменные окружения, затем соберите проект:
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package
Если вы находитесь в материковом Китае, используйте make up-db-cn для реестра Alibaba Cloud.
📖 Порядок запуска сервисов, настройка IDE, команды верификации и типичные подводные камни см. в Полное руководство по быстрому старту.
🛠️ Технологический стек
IoT DC3 построен на Java 21, Spring Boot 4, Spring Cloud 2025, Spring AI 2, PostgreSQL, RabbitMQ, gRPC, Vue 3, TypeScript и Vite.
Подробности о компонентах и их использовании см. в Технологический стек.
📖 Документация и сообщество
| Ресурс | Ссылка |
|---|---|
| 📚 Онлайн-документация | docs.dc3.site |
| 🚀 Быстрый старт | Руководство по быстрому старту |
| 🛠️ Технологический стек | Technology Stack |
| 🏗️ Архитектура | Модули и зависимости |
| 🔧 Разработка драйверов | Руководство по созданию драйверов |
| 🐛 Устранение неполадок | Устранение неполадок |
| 📋 Журнал изменений | Журнал релизов |
| 🐛 Сообщить об ошибке | GitHub Issues |
| 🇨🇳 Зеркало Gitee | Gitee GVP проект |
🌍 Сценарии применения
| 🏭 | Умное производство | Мониторинг оборудования на производственных линиях, сбор параметров процесса, предиктивное обслуживание, анализ OEE |
| ⚡ | Мониторинг энергии | Дистанционный учёт электроэнергии, воды и газа; анализ трендов энергопотребления; аномальные оповещения |
| 🌾 | Умное сельское хозяйство | Мониторинг теплиц, автоматическое управление поливом, предупреждение о вредителях и болезнях, прогноз урожайности |
| 🏙️ | Умный город | Управление уличным освещением, мониторинг качества окружающей среды, эксплуатация муниципальных объектов, мониторинг безопасности |
🤝 Участие в разработке
Мы приветствуем вклад в любом виде. Пожалуйста, следуйте этому рабочему процессу:
- Fork и ветка — создайте ветку от
main, используя форматfeature/your_name/feature_description(например:feature/pnoker/mqtt_driver) - Разработка и коммит — завершите изменения на новой ветке и следуйте спецификации Conventional Commits
- Открытие PR —подайте Pull Request в ветку
developдля рецензирования и слияния сопровождающими
📄 Лицензия
IoT DC3 — проект с открытым исходным кодом под лицензией AGPL 3.0.
- ✅ Личное обучение, исследования и внутреннее использование — бесплатно
- ✅ Изменение кода и публикация ваших изменений — приветствуется
- ⚠️ Предоставление в качестве коммерческой услуги третьим лицам без публикации изменений — требуется коммерческая лицензия
Подробности о коммерческой лицензии см. в LICENSE.txt.




