Отдел продаж
8 800 250 60 77

Преобразование и хранение данных нового протокола в СКАУТ-Платформе

Процесс формирования сообщений и передачи их в Ядро СКАУТ-Платформы следующий:

  1. Парсинг сообщения
  2. Формирование сообщения (DeviceMessage) при помощи класса DeviceMessageBuilder
  3. Отправка сообщений в хранилище, при помощи IDeviceDataStorage

DeviceMessageBuilder – построитель сообщений

DeviceMessage – сообщение в формате СКАУТ-Платформы

IDeviceDataStorage – интерфейс хранилища данных для сообщений

Перед отправкой на сохранение сообщения необходимо преобразовать в DeviceMessage. Сам формат сообщения не очень интересен, так как есть удобный в использовании класс DeviceMessageBuilder, данный класс работает как StringBuilder. То есть мы постепенно или сразу (как удобнее) заносим данные в построитель.

Для добавления значений датчиков в классе DeviceMessageBuilder присутствует метод void SetSensorValue<T>(T value, DeviceSensorDataType dataSourceType, ushort dataSourcePort)

T – один из примитивных типов .NET (Byte, SByte, Int16, UInt16, Int32, UInt32, Int64,      UInt64, Single, Double, Boolean, Char, String)

value – значение датчика

dataSourceType – тип датчика, следует использовать DeviceSensorDataType.Multi

dataSourcePort – номер порта устройства

Данный метод заносит значения датчиков в коллекцию, поэтому может быть вызван неоднократно для одного сообщения для разных датчиков и портов.

Когда сообщение за определенную дату полностью сформировано, запрашиваем у построителя экземпляр сообщения с помощью метода ToDataMessage.

Процессом сохранения сообщений занимается сама платформа, от обработчика протокола требуется только воспользоваться объектом dataStorage, который реализует интерфейс IDeviceDataStorage.

В IDeviceDataStorage есть 2 интересующие нас перегрузки метода Store:

  • Store(DeviceMessage message) – сохраняет одно сообщение
  • Store(ICollection<DeviceMessage> deviceMessages) – сохраняет коллекцию сообщений.
Это нравится:0Да/0Нет

Уважаемые партнеры ГК СКАУТ.
Для доступа к Базе Знаний пожалуйста авторизируйтесь на ресурсе СКАУТ-Университет.
В качестве логина используйте свой электронный ящик, а в качестве пароля используйте пароль для доступа к ресурсам СКАУТ-Сайт и СКАУТ-Форум. Если вы не знаете или забыли свой пароль, то вы можете восстановить пароль здесь.
Также в Базе Знаний есть специальная статья, описывающая операцию по восстановлению пароля.