Описание протокола Surgard
Для трансляции событий по стационарным приборам из RITM.LINK (GEO.RITM) в сторонне ПО, используется протокол TCP Surgard. Для получения событий из стороннего ПО в RITM.LINK также используется протокол TCP Surgard. Это очень старый протокол, который изначально был предназначен для передачи событий от центральной мониторинговой станции DSC в компьютер по интерфейсу RS-232. Со временем протокол стал очень популярен и сейчас используется в большинстве пультовых программ. Рассмотрим вариант протокола Surgard для TCP.
Сервер - пультовая программа, которая принимает события, клиент - пультовая программа, которая передаёт события. Клиент подключается к серверу и отправляет события в формате:
5RRLs18AAAAQXYZGGCCC[DC4]
Где:
- 5 – номер формата;
- RR – номер приемника;
- L – номер линейного блока;
- s - пробел;
- 18 - идентификатор протокола ContactID;
- AAAA – номер объекта - четыре шестнадцатеричные цифры;
- Q - тип события. Возможные значения - тревога (E) или восстановление (R);
- XYZ – код события в формате ContactID;
- GG – номер раздела события;
- CCC – номер шлейфа или пользователя;
- [DC4] – терминатор (0x14).
Сервер принимает сообщение и отправляет подтверждение о принятых данных клиенту. Подтверждением того, что событие принято, является прием в ответ на событие байта со значением 0x06.
Если после последнего отправленного события прошло 30 секунд, то для поддержания связи, клиент отправляет строку
1011 @ (0x31,0x30,0x31,0x31,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x20,0x20,0x20,0x20)
Пример посылки в протоколе Surgard
5011 180111R40201004
где
- 5 - номер формата (Surgard);
- 01 - номер приёмника (мониторинговая станция);
- 1 - номер линейного блока (мониторинговая станция);
- 18 - идентификатор протокола ContactID;
- 0111 - номер объекта;
- R - восстановление (взятие);
- 402 - взятие (постановка) раздела на охрану;
- 01 - раздел №1;
- 004 - зона №4 (в случае событий постановки/снятия - это номер пользователя/ключа №4).