#### Платформа Интернета вещей компании 禹霖科技
Административный аккаунт и пароль: admin/admin123
#### Описание
Этот репозиторий представляет собой проект открытой платформы Интернета вещей компании 禹霖科技 (openyl).
Открытая платформа Интернета вещей 禺霖科技 предоставляет общие базовые функции для разработки Интернета вещей и связанных бизнес-процессов, что помогает быстро создать собственную платформу Интернета вещей.
Система включает категории, модели устройств, преобразование сообщений, управление плагинами (плагины MQTT, EMQX, HTTP, TCP, Modbus и т. д. ), управление устройствами, группирование устройств, движок правил, интеграцию с третьими платформами, передачу данных (HTTP, MQTT, Kafka), визуализацию данных, центр уведомлений и другие модули.
### Коммерческая версия
Поддерживает арендаторов, визуализацию на больших экранах Распределенная коммерческая версия протокола, поддерживающая горизонтальное масштабирование компонентов протоколов. Для крупных проектов рекомендуется приобретение этой версии.
#### Возможность подключения до 10 000 устройств на сервере низкого класса
Конфигурация сервера: 1 сервер с 2 ядрами и 2 ГБ (всплеск производительности экземпляра Alibaba Cloud) для основного приложения, 1 сервер с 2 ядрами и 4 ГБ (всплеск производительности экземпляра Alibaba Cloud) для TDengine и RocketMQ
Конфигурация приложения: использование встроенной базы данных H2 и встроенного MQTT
Ситуация подключения устройств: подключение 4 000 шлюзов + 8 000 подчиненных устройств, из которых 4 000 подчиненных устройств отправляют по одной записи каждые 10 секунд
После стабильной работы: устройства подключены и правильно отправляют и получают данные, использование CPU не превышает 50%, интерфейс не подтормаживает
#### Низкий порог входа в обучение
1. Ноль настроек для запуска одним щелчком мыши, даже новички смогут использовать
2. Низкие требования к окружению, не требуется установка дополнительного программного обеспечения
3. Простой код, без формализованного разделения уровней и избыточной обертки, легко понять
4. Полная документация
#### Поддержка основных баз данных Отношения базы данных: теоретически поддерживаются все базы данных, реализующие стандарт SQL, такие как: DB2, H2, HSQLDB, MariaDB, Microsoft SQL Server, MySQL, Oracle, Postgres
Системы хранения временных рядов: Elasticsearch, TDengine
Ключ-значение базы данных: Redis
#### Поддержка шины сообщений
Vert.x event-bus (встроенная), RocketMQ, с помощью расширяемых модулей можно подключить любую другую шину сообщений.
#### Системная экосистема
**Проекты фронтенда:**
[! [OPENIITA/iita-iot-web-admin](https://gitee. com/open-iita/iita-iot-web-admin/widgets/widget_card. svg? colors=393222,ebdfc1,fffae5,d8ca9f,393222,a28b40)](https://gitee. com/open-iita/iita-iot-web-admin)
**Демонстрационный адрес:** [Нажмите для доступа](https://open-iita. feishu. cn/wiki/Km67wBKNNiFMrMkldCJcxa6vnLe)
**Скриншоты системы**
! [Введите описание изображения](doc/screenshot. png)
#### Структура программного обеспечения
Описание структуры программного обеспечения
В этой системе используются фреймворки и сторонние программы, такие как Spring Boot, JPA, Vert.x, Redis, H2, MySQL, Elasticsearch, TDengine, RocketMQ, Sa-token. Мидлвари интегрированы модульно без вторжения, что делает систему легко расширяемой и заменяемой.
По умолчанию используется встроенная Redis, база данных H2, временная база данных Elasticsearch, шина сообщений Vert.x и OSS для уменьшения сложности запуска, что позволяет достичь **нулевого конфигурирования и однокнопочного запуска**. При первом запуске программа использует примерные данные из каталога data/init для инициализации.
**Примечание:** версия Elasticsearch — 7.15.2, версия MySQL — 8.0+
##### Метод переключения базы данных H2 на MySQL (для других баз данных аналогично)
https://open-iita. feishu. cn/wiki/IhIGwZSnsiMaDdkT98Xcvtb4nGh
##### Метод переключения Elasticsearch на TDengine (версия: 3.x)
https://open-iita. feishu. cn/wiki/IhIGwZSnsiMaDdkT98Xcvtb4nGh
##### Метод переключения шины сообщений на RocketMQ
1. Откомментировать iot-message-event-bus в iot-starter/pom.xml и открыть комментарий для iot-message-rocketmq
2. Открыть конфигурацию RocketMQ в application.xml
#### Запуск Docker
Docker-образы включают более старые версии, поэтому рекомендуется использовать Dockerfile для самостоятельной сборки. Можно добавить ускорение загрузки изображений из китайских источников.
После запуска доступен по адресу http://localhost:8082/
#### Шаги запуска исходного кода
Онлайн-документация: [Знаниевая база](https://open-iita. feishu. cn/wiki/Km67wBKNNiFMrMkldCJcxa6vnLe)
После настройки соответствующей среды JDK 11 рекомендуется использовать IntelliJ IDEA для загрузки кода. После завершения загрузки проекта в терминале выполните mvn clean install, затем обновите Maven в IDEA.

Затем нажмите кнопку запуска, и если вы видите следующий лог, это означает успешный запуск:

#### Частые проблемы на сервере и способы их решения
1. Неудачная инициализация данных
Удалите следующие выделенные файлы и папки, а затем повторите шаги запуска проекта:
При смене внешнего промежуточного базового данных также убедитесь, что удалены соответствующие библиотеки и данные.##### 2. Предупреждение о несуществующем классе QTbxxxxx
Выполните `mvn clean install` в терминале, затем обновите проект. Причина появления этого предупреждения заключается в использовании плагина `querydsl`, который генерирует соответствующие классы при сборке. Возможно, IDEA не обнаруживает эти классы вовремя.

3. Предупреждение о повторном определении bean класса xxMapperxxx
Решение аналогично предыдущему, причина также связана с использованием плагина mapstruct plus
, который генерирует соответствующие классы при сборке. Возможно, IDEA не обнаруживает эти классы вовремя.
Развертывание на сервере
Выполните сборку Maven в модуле iot-starter
и загрузите сгенерированный iot-starter.xx.zip
на сервер. После распаковки выполните:
java -jar lib/iot-start.xxx.jar
Убедитесь, что запуск прошел успешно, затем используйте bin/start.sh
или bin/start.bat
для запуска.
Документация
https://open-iita.feishu.cn/wiki/Km67wBKNNiFMrMkldCJcxa6vnLe
Специальное предложение для бизнес-версии, скидка в праздничный период!
Для деловых или технических консультаций свяжитесь с нами:

Поддержка и пожертвования
Если вы считаете, что мое открытое ПО помогло вам, пожалуйста, следите, ставьте звезды и форки:
.
Если мое открытое ПО используется в вашем коммерческом проекте, обязательно сообщите мне об этом, так как ваше признание является движущей силой для поддержки открытого ПО.
Комментарии ( 0 )