Серверы устройств

Сервер устройств - это устройство, работающее как "мост" между одним или несколькими Устройствами и AggreGate Server'ом. Он имеет несколько важных предназначений:

  • Подключение к сети одного или нескольких Устройств
  • Позволяет AggreGate Server'у обнаруживать Устройства
  • Подключение и вход AggreGate Server при включении и передаче данных между AggreGate Server'ом и Устройством

В AggreGate каждое Устройство может быть логически подключено к AggreGate Server'у через Сервер Устройств, а Сервер Устройств может быть реализован несколькими разными способами::

  • Как отдельное устройство. В этом случае Устройство может быть подключено по серийному порту, WiFi или ZigBee.
  • Как встроенный в Устройство ethernet-модуль, подключенный к имеющимся в устройстве компонентам.
  • Как часть интегральной микросхемы (IC) Устройства. В этом случае логика Сервера Устройств реализуется посредством специального приложения Агент, запущенного на этой IC.

Важно помнить, что не смотря на то, что Сервер Устройств и Устройство может быть физически объединены, AggreGate всё равно считает их отдельными частями.

Для Серверов Устройств подключенных и зашедших в AggreGate Server Вам необходимо создавать Учётную запись. Учётная запись Сервера Устройств - это постоянно хранящаяся запись в базе данных AggreGate Server'а, говорящая что-то вроде: Сервер Устройств с именем "device1" (то же, что и настройка Имя Устройства в Сервере Устройств) принадлежит пользователю AggreGate Server'а "user1" (соответствует настройке Сервера Устройств Имя Владельца) и ему позволено входить на AggreGate Server с паролем "pass1".

В этой статье часто используется два термина: аппаратура Сервера Устройств и профиль Сервера Устройств. Разница между ними объяснена в отдельной главе.

Профиль Сервера Устройств также включает в себя иные настройки, определяющие как AggreGate Server будет относиться к данным, получаемым из Сервера Устройств и какого типа данные (т.е. слать ли команды или только "чистые" данные) он посылает в Сервер Устройств. Эти настройки объясняются позже на странице Свойства Сервера Устройств.

Профиль Сервера Устройств может соответствовать, а может и не соответствовать имеющемуся в наличии оборудованию. Вы можете даже создать профиль Сервера Устройств, которого на самом деле нет.

Если несколько Серверов Устройств захотят войти от одной и той же учётной записи, только один из них останется подключенным. Каждый аппаратный Сервер Устройств должен иметь отдельный профиль.

Профиль Сервера Устройств всегда принадлежит пользователям AggreGate Server'а и зарегистрирован под каким-либо из пользовательских аккаунтов. Каждый пользователь имеет собственные профили Серверов Устройств.

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

Все операции с Серверами Устройств подвержены воздействию глобальной настройки AggreGate Server'а Максимальное время ожидания выполнения операций с Сервером Устройств.

После включения правильно настроенный на работу с AggreGate Сервер Устройств инициирует соединение с AggreGate Server'ом и выполняет вход. Когда вход выполнен, AggreGate Server передает управление Драйверу Устройства, настроенному для этого профиля. Драйвер определяет, что за данные посылаются в Сервер Устройств и как обрабатывать данные из устройства.

Когда Сервер Устройств залогинен в AggreGate Server, Вы можете:

Создание учётной записи сервера устройств

Есть три способа создания учётных записей Серверов Устройств:

  • Регистрация вручную. Этот метод подходит, когда Сервер Устройств вручную настроен для работы с AggreGate Server'ом и автоматическая регистрация Сервера Устройств отключена. В этом случае аппаратный Сервер Устройств не сможет зайти в AggreGate Server, пока не будет создан профиль при помощи действия Новый Сервер Устройств контекста Серверы Устройств. Настройка Имя Владельца Сервера Устройств должна совпадать с именем владельца пользовательского аккаунта, настройка Имя Устройства должна совпадать с именем аккаунта и пароль, указанный в настройках Сервера Устройств должен совпадать с паролем из настроек аккаунта. Сетевые настройки Сервера Устройств должны быть установлены так, чтобы он соединялся с AggreGate Server'ом при включении. Тогда он успешно подключится.
  • Автоматическая регистрация. Если Сервер Устройств был настроен вручную для подключения к AggreGate Server'у и автоматическая регистрация Сервера Устройств включена и имя существующего пользователя совпадает с Именем Владельца из настроек Сервера Устройств, новый профиль Сервера Устройств будет создан автоматически как только Сервер Устройств попытается войти на AggreGate Server. Более подробно см. последовательность входа.
  • Регистрация с использованием процедуры "Подключить Внешний Сервер Устройств к AggreGate Server'у". Когда внешний Сервер Устройств (который не был зарегистрирован)  настраивается на соединение с AggreGate Server'ом при включении питания самим AggreGate Server'ом, соответствующий профиль Сервера Устройств создается автоматически при этой операции. Подробнее в этом разделе. Эта процедура является рекомендуемой. При этом есть уверенность, что свойства профиля Сервера Устройств совпадают с настройками аппаратного Сервера Устройств.

Администрирование серверов устройств

Для администрирования Серверов Устройств используются два контекста: Один - общий контекст Серверы Устройств, работающий как контейнер всех  профилей Серверов Устройств, принадлежащих определенному пользователю. Второй - контекст Сервер Устройств, соответствующий единственному профилю Сервера Устройств.

Еще один дополнительный контекст может быть использован для управления Серверами Устройств: Все Серверы Устройств, находящийся в корневом контексте. Этот контекст предоставляет доступ ко всем Серверам Устройств в системе и групповые действия с ними. Он видим только для текущего пользователя с уровнем доступа администратора в корневом контексте.

Последовательность входа

Как Сервер Устройств входит в AggreGate Server:

  • При включении аппаратное обеспечение Сервера Устройств создает TCP-соединение к AggreGate Server'у. Адрес и порт AggreGate Server'а определяется в настройках IP назначения и Порт назначения Сервера Устройств. Если при подключении возникает какая-то проблема, Сервер Устройств сигнализирует об ошибке светодиодами.
  • Когда соединение создано, Сервер Устройств начинает обмениваться командами с AggreGate Server'ом.
  • AggreGate Server проверяет, совместима ли с ним прошивка Сервера Устройств. Если нет - соединение разрывается.
  • AggreGate Server проверяет настройку Имя Владельца Сервера Устройств. Если профиль пользователя с таким именем не существует, соединение разрывается.
  • Аналогичная проверка делается для Имени Устройства. Если профиля Сервера Устройств с таким именем не существует под пользовательским аккаунтом, определённом на предыдущем шаге, связь прерывается. Однако, если включены обе настройки Позволена автоматическая регистрация Серверов Устройств в пользовательских настройках плагина Серверы Устройств и Авторегистрация на AggreGate Server в настройках аппаратного Сервера Устройств, создается новый профиль для Сервера Устройств. Подробнее см. Автоматическая регистрация профилей Серверов Устройств.
  • Если профиль Сервера Устройств существует, но заблокирован, соединение прерывается.
  • Если пароль из настроек Сервера Устройств не совпадает с паролем из профиля Сервера Устройств, соединение прерывается.
  • Сервер Устройств регистрируется в DNS, если эта опция включена в свойствах профиля
  • Если настройка Драйвер Устройства установлена в Автоопределение, AggreGate Server спрашивает у сервера устройств о предпочтительном драйвере устрройства. Когда сервер устройств предоставляет тип драйвера, он записывается в  профиль сервера устройств для использования при последующих входах. Если сервер устройств не способен предоставить информацию о типе предпочтительного драйвера, для него будет использован драйвер Динамического DNS.
  • Драйвер Устройства определённый в настройках Сервера устройств начинает обрабатывать данные из Сервера Устройств и Устройств, подключенных к нему.
  • Автоматическая регистрация профилей серверов устройств

    Эта возможность позволяет Серверам Устройств, неизвестным AggreGate Server'у (т.е. у которых нет соответствующего профиля Сервера Устройств) автоматически зарегистрироваться на сервере.

    Чтобы это работало, должно выполняться несколько условий:

  • Сервер Устройств должен быть правильно настроен для подключения к AggreGate Server'у при включении питания,
  • Настройка Авторегистрация на AggreGate Server'е (AR) Сервера Устройств должна быть включена,
  • Параметр Позволить Авторегистрацию Сервера Устройств должен быть включен в конфигурации плагина Серверов Устройств или его имя должно соответствовать Имени Владельца Сервера Устройств.
  • Как только условия выполнены и Сервер Устройств пытается войти на AggreGate Server, когда он ещё не зарегистрирован (т.е. нет профиля Сервера Устройств), AggreGate Server создает профиль с настройками по умолчанию для него. После автоматической регистрации аппаратный Сервер Устройств отключается от сервера и подключается заново в течении нескольких секунд. Теперь у него есть профиль и он может войти.

    Подробнее см. последовательность входа.

    Авторегистрация должна быть отключена из соображений безопасности в реально используемой системе. Советуем включать её лишь на короткое время для ускорения развертывания AggreGate.

    Свойства профиля сервера устройств

    Эти свойства доступны через действие Редактировать свойства Сервера Устройств в любом контексте Сервера Устройств.

    Имя Владельца

    Имя пользователя-владельца Сервера Устройств. Соответствует настройке Имя Владельца Сервера Устройств. Свойство только для чтения.

    Имя Сервера Устройств

    Имя профиля Сервера Устройств (также имя контекста Сервера Устройств). Соответствует настройке Имя Устройства в Сервере Устройств. Только для чтения.

    Пароль

    Пароль профиля. Сервер Устройств должен использовать этот пароль в последовательности входа.

    Описание

    Комментарий об устройстве.

    Регистрировать в DNS

    Определяет, должен ли Сервер Устройств быть зарегистрирован в DNS во время логина на AggreGate Server.

    Заблокирован

    Серверу Устройств запрещён вход, если его профиль заблокирован.

    Разрешены команды в потоке данных для клиента

    Определяет, может ли драйвер устройства, связанный с этим профилем посылать команды к Серверу Устройств. Большинство драйверов устройств сами не шлют команды, но некоторые драйверы пересылают команды, полученные от сторонних приложений, управляющих аппаратурой Сервера Устройств. Чтобы позволить передавать такие команды драйверу эту опцию необходимо включить.

    Слова "в потоке" означают, что команды встраиваются в поток данных TCP от AggreGate Server'а к Серверу Устройств. В AggreGate Server'е все команды "в потоке" - это лишь устаревшее обозначение со времён, когда Сервера Устройств обычно управлялись по UDP (отдельно от потока данных TCP, "вне потока").

    Эта опция должна быть отключена в большинстве случаев, если Вы точно не знаете, должна ли она быть использована с Вашим устройством.

    Если драйвер устройств посылает или перенаправляет команды в потоке данных для Сервера Устройств в то время, как эта опция отключена в самом сервере устройств, команды не будут "поняты" им. В этом случае поток данных будет поврежден.

    Временная зона

    Временная зона Сервера Устройств и всех подключенных в него Устройств. Подробнее об этом можно прочесть в Работаем с временными зонами.

    Драйвер устройства

    Определяет, что за драйвер устройства используется AggreGate Server'ом для работы с Сервером Устройств.

    Значение Автоопределение заставляет AggreGate Server спрашивать сервер устройств о предпочтительном драйвере при попытке входа. Автоматически определённый тип драйвера будет сохранён в свойствах профиля и использован при последующих входах этого устройства.

    Редактирование настроек оборудования сервера устройств

    Вы можете менять настройки оборудования Сервера Устройств, пока он поддключен к AggreGate Server'у. Эта возможность сначала была реализована в программе DS Manager. Настройки Сервера Устройств доступны из действия Настроить Сервер Устройств в контексте Сервер Устройств. При сохранении настроек система спросит пользователя  о необходимости перезагрузки Сервера Устройств.

    Изменение некоторых настроек (таких, как настройки сети) Сервера Устройств могут не позволить ему подключиться к AggreGate Server'у после перезагрузки. В этом случае устройство будет полностью недоступно для AggreGate, особенно, если оно располагается в удалённой сети, защищенной файерволом или иными методами. Будьте осторожны при изменении настроек Сервера Устройств.

    Вот как выглядит диалог настроек Сервера Устройств в Клиенте:

    Статус сервера устройств

    Вы можете использовать действие Просмотреть статус Сервера Устройств из любого контекста Сервера Устройств чтобы увидеть, что с ним происходит:

    Статус профиля включает следующее:

    Он-лайн

    Показывает, он-лайн ли Сервер Устройств (подключен ли и вошел ли он в AggreGate Server).

    Статус драйвера устройства

    Статус драйвера устройства. Выдается драйвером и зависит от логики работы драйвера.

    Байт переданных от Сервера Устройств к AggreGate Server

    Количество данных, посланных к Серверу Устройств

    Байт переданных от AggreGate Server'а к Серверу Устройств

    Количество данных, Переданных на Сервер Устройств

    Время создания

    Только для чтения. Показывает, когда профиль был создан.

    Время последнего обновления

    Только для чтения. Показывает, когда последний раз менялись свойства профиля.

    Последний IP входа

    IP-адрес, с которого произошёл вход. Это "внешний" адрес, т.е. адрес, с которого Сервер Устройств видится AggreGate Server'ом.

    Последний порт входа

    Номер порта, с которого последний раз входил Сервер Устройств.

    Время последнего входа

    Время последнего входа Сервера Устройств.

    Внутренний IP

    Внутренний адрес, установленный в Сервере Устройств, когда он последний раз входил. Это адрес Сервера Устройств в его локальной сети. Настройка IP-адрес в Сервере Устройств. Он может отличаться от "внешнего" адреса (последний IP входа, выше).

    Другие операции с сервером устройств

    Две другие операции могут быть выполнены на Серверах Устройств:

    • Перезагрузка
    • Жужжание

    Обе они доступны через любой контекст Сервера Устройств.

    Идентификация

    Идентификация позволяет Вам визуально обнаружить Сервер Устройств по его профилю. Оно заставляет оборудование проиграть шаблон быстрого мигания красными и зелеными статусными LED'ами. Это простой способ идентифицировать устройство по его аккаунту в AggreGate Server'е.

    Перезагрузка

    Эта операция перезагружает Сервер Устройств. Перезагрузка может потребоваться для активации некоторых настроек Сервера Устройств после их изменения.

    Отслеживание передачи данных

    Это позволяет Вам отслеживать передачу сырых данных переданных или полученных от Сервера Устройств в режиме реального времени и просматривать журнал ранее переданных данных.

    Вы можете использовать действие Просмотр передачи данных любого контекста Сервера Устройств. Это действие запускает журнал событий, отслеживающий два типа событий:

    • Сервер Устройств в AggreGate Server (in)
    • AggreGate Server в Сервер Устройств (out)

    Можно просматривать журнал обоих типов событий в режиме реального времени. Откройте отдельное событие для просмотра всех его данных, если для их отображения недостаточно места в просмотрщике Журнала Событий.

    Вот как выглядит отслеживание передачи данных в Клиенте: