- 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
18 KiB
English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
ИИ-ассистенты: Сначала прочитайте README.ai.md для краткого обзора IoT DC3, оптимизированного для ИИ.
IoT DC3 — мультипротокольная, облачно-нативная открытая платформа промышленного Интернета вещей.
С ИИ — от подключения устройств к промышленным агентам
🔌 Многопротокольное подключение · 🤖 AI Agentic Center · ☁️ Облачные микросервисы
📸 Превью продукта
🏗️ Обзор архитектуры
Архитектура на одном экране
Шестиуровневая микросервисная архитектура: клиенты → шлюз → четыре центральных сервиса → шина сообщений → 36 протокольных драйверов → полевые устройства. PostgreSQL (TimescaleDB + pgvector + AGE) для хранения и опциональный стек наблюдаемости (ELK + Prometheus + Grafana) — всё на одном чертеже.
🧱 Принципы проектирования — межсервисные вызовы всегда через интерфейсы Facade; трёхслойная модель DO/BO/VO строго разделяет хранение, бизнес-логику и API; изоляция арендаторов от базы данных и кэша до API。Чёткие границы, масштабируемые между сервисами и командами.
📖 Подробная документация по архитектуре: Обзор системной архитектуры.
✨ Основные возможности
🔌 Многопротокольное подключение устройств
IoT DC3 включает 36 модулей драйверов доступа для промышленной автоматизации, IoT-коммуникаций, мостовой передачи данных, базовых коммуникаций и сценариев моделирования/отладки, снижая стоимость подключения распространённых устройств и источников данных:
| Категория | Модули драйверов |
|---|---|
| 🏭 Промышленные протоколы | 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 поддерживает быструю разработку пользовательских протокольных драйверов и их регистрацию в среде выполнения платформы.
🤖 Интеграция ИИ-возможностей
Центр интеллектуальных агентов построен на 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.




