Страница 1 из 1

Основные компоненты проекта и их взаимодействие

Добавлено: 09 апр 2022, 10:49
w5277c
Проект состоит из трех компонент

Java контроллер - это программа, написанная на JavaSE6, а значит может работать практически везде где есть Java.
Этот контроллер проводит опрос(сбор данных) и управляет всеми подключенными к нему устройствами.
Устройства могут быть подключены через различные интерфейсы(в том числе и беспроводные), в том числе и через шлюзы(в том числе и с логической частью, которые требуют инкапсуляцию данных).
Контроллер обычно размещается в том-же помещении, что и конечные устройства.
Хотя при использовании беспроводных интерфейсов контроллер может находиться где угодно(в том числе контроллер может быть виртуальным, т.е. Вам не нужно оборудование, Вы просто используете выделенный контроллер в облаке).
Контроллер кроме сбора данных и управления также выполняет обработку сценариев. Т.е. вся логика автоматики будет храниться и выполняться на нем(таким образом Ваша автоматизация не будет зависеть от интернет соединения, если конечно это не виртуальный контроллер). Кроме этого в контроллер входит коллекция библиотек устройств, шлюзов и сервисов, которая будет постоянно поддерживаться и пополняться.
Контроллер распространяется бесплатно с условием AS-IS, но имеет ограничение на количество обслуживаемых устройств(пока 16). Скорее всего снятие ограничения будет либо за единократное вознаграждение, либо по подписке.
Активация контроллера осуществляется через регистрацию контроллера определенного типа(PC,Raspberry PI, Mobile и прочее). Это необходимо для генерации уникального серийного номера и ключа. Серийный номер необходимо будет вести контроллеру. Не исключено, что Ваш новый контроллер уже будет зарегистрирован.
Подключиться к контроллеру можно либо клиентом напрямую(в пределах локальной сети). Для этого Вам необходимо знать его ключ, а серийный номер клиент покажет в списке найденных контроллеров.
Либо через облако. В этом случае у Вас должна быть зарегистрирована учетка, к которой должен быть привязан данный контроллер.
Настройка контроллера выполняется через клиент интегратора.

Клиент интегратора - графическая утилита также написана на Java(в конечном итоге будет работать как минимум на десктопах и мобильных устройствах). Включает в себя полный функционал. Предназначена для формирования проекта и всех необходимых настроек.
Клиент имеет три режима работы:
1) Прямое подключение к устройствам - клиент включает в себя основной функционал контроллера и поэтому может подключаться непосредственно к устройствам. Он не нуждается ни в каких дополнительных узлах(и не несет их расширенный функционал). Но автоматика будет работать только тогда, когда работает сам клиент и устройства находятся в зоне доступа.
2) Прямое подключение к контроллеру - здесь также нет зависимости от внешних сервисов(от облака) и соответственно нет функционала облачных сервисов(например доступ через интернет). Т.е. Вы разворачиваете контроллер на отдельной железке и используете его совместно с клиентом с пределах локальной сети. При отключении клиента контроллер продолжает работать.
3) Облако - максимальный функционал. Но для этого нужно зарегистрироваться и контроллер и клиент должны иметь доступ в интернет.

Клиент необходим только на этапе реализации проекта и описания настроек(сценарии, доступы и прочее) - чаще всего это работа интегратора.
У проекта есть большое количество точек входа: HTTP, HTTPS, JSON by TCP, EMAIL, Telegram, Алиса, утилиты для различных MRTG и Cacti и прочее. Кроме этого есть виджеты для Android. И на базе API не составит большого труда реализовать WEB решение - особенно актуально для кастомизации решения под конкретную задачу.

Серверная часть - необязательная часть. Вы можете пользоваться решением в виде Java контроллера и клиента интегратора, оба компонента будут у Вас. Но серверная часть дает большое количество дополнительного функционала(сервисов).
Серверная часть не распространяется, однако решение может быть развернуто на нескольких платформах.
На данный момент в проект введены 3 независимые платформы с возможностью переноса проекта между ними.

Весь проект попадает под определение AS-IS, контроллер, клиент(и дополнительные утилиты) распространяются бесплатно. Сервер не распространяется. Проектом можно пользоваться полностью бесплатно, но есть ограничение на контроллере на количество обслуживаемых устройств. Основная часть дохода по проекту будет формироваться на базе доп. услуг и продаже уникальной линейки конечных устройств(что не является обязательным).