Пример подключения устройства по протоколу Wialon IPS

Конфигурирование модели

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

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

Создадим новую модель Wialon IPS.

scheme

Она будет выглядеть следующим образом.

scheme

Создание объекта контроля

В качестве объекта в данном случае будет рассматриваться грузовик. Для создания нового объекта необходимо перейти в меню "Объекты" и открыть соответствующее диалоговое окно. В данном окне выбирается из списка созданная ранее модель. Указывается идентификатор в следующем формате: wialon: id терминала (например, wialon:123456789000001). В том же формате может быть введено и имя объекта, но, тем не менее, оно может быть произвольным, так как служит, в целом, для нахождения данного объекта в списке объектов.

scheme

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

scheme

Проектирование сценария автоматизации

Кейс №1: контроль геозон

В первом кейсе будет описан следующий сценарий. Грузовик курсирует между складом, где он должен произвести загрузку контейнера, и магазином, где он должен произвести разгрузку. Имеется датчик, подключенный к реле №1 в грузовике. Он присылает значение "1", когда контейнер установлен в кузов грузовика. Кроме того, возможно осуществление контроля геозон склада и магазина. Целью является фиксирование любого отклонения от нормального бизнес-процесса.

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

scheme

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

scheme

После того как сценарий был написан, его можно запустить на заданном объекте. Если будут получены данные о том, что реле №1 не замкнуто, значит, грузовик покинул зону склада, следовательно, он выехал без контейнера. Сообщение с информацией об этом должно отобразиться на правой боковой панели.

Кейс №2: контроль вскрытия/угона

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

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

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

Путем установки флажков напротив соответствующих параметров можно указать несколько параметров объекта контроля, необходимых для отображения в интерфейсе

scheme

Опишем бизнес-процесс в редакторе сценариев. В данном примере возможны шесть базовых состояний (с учетом двух состояний, относящихся к отклонению от бизнес-процесса):

scheme

Стоит обратить внимание на некоторые нюансы.

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

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

Конфигурирование HTTP-запроса производится следующим образом:

scheme