Интерфейс взаимодействия сервера оборудования (сервера сбора данных) с АРМ диспетчера.

Список условных обозначений, сокращений и терминов

АРМ – Автоматизированное рабочее место (диспетчера)

АС – Абонентская станция (для Р23)

БД – База данных

ГС – Голосовая связь

КБС – Контролер базовой станции (для Р23)

ТС – Транспортное средство

Описание команд

Взаимодействие осуществляется по протоколу TCP, порт задаются в параметрах сервера (по умолчанию – 2005 для «Р23», «Р-БД-АЦ02» и 5555 для «Навигатора»). АРМ диспетчера открывает клиентский конец подключения, сервер оборудования – серверный конец подключения. Допускается несколько подключений к одному серверу.

Данные передаются в виде ANSI строк. Все слова отделяются пробелами. Другие разделители не используются. В случае, если значение параметра – текстовая строка, содержащая пробелы, то она  заключается в двойные кавычки. Первое слово в строке является ключевым идентификатором команды, последующие слова являются параметрами и атрибутами команды. Имя параметра и его значение отделяются знаком равенства. Порядок следования параметров в строке не имеет значения. Признак конца команды – два символа с ASCII кодами 13, 10

Пример:

access login=test password=”1 2 3 4 5”  office=”test” <13><10>

В качестве разделителя дробной части числа используется точка.

Команды «АРМ -> Сервер»

  1. Адресный запрос навигационных данных:

gpsdata ID=<номер> [position=<указатель> [type=<тип (1/2)>]]

Параметры команды:

ID — номер АС (обязательный параметр),

position — указатель во flesh-памяти АС для запроса ретроспективных данных. Если этот параметр не указан, запрашиваются текущие данные,

type – тип запроса ретроспективных данных (1(по умолчанию) — обычный, 2 — оптимизированный).

  1. Запрос статуса сервера

get_server_status     /без параметров/

3.   Запрос ГС (возможны 3 варианта формы):

voice ID=<номер> [channel=<номер канала (0-3)>]

voice groupID=<номер группы> [channel=<номер канала (0-3)>]

voice groupID=ALL [channel=<номер канала (0-3)>]

Параметры команды:

groupID — номер группы для групповой связи или текст «ALL» для общей связи,

ID — номер АС для индивидуальной связи (имеет смысл, только если не задан параметр groupID),

channel – номер канала для голосовой связи (если не указан, выбирается сервером автоматически (сейчас всегда 0)).

4.   Отбой ГС:

hangup ID=<номер>

hangup groupID=<номер группы>

hangup groupID=ALL

Форма и параметры команды должны быть в точности такими же, что и в команде «voice», которой сеанс ГС был открыт (за исключением параметра «channel», который в команде «hangup» не используется).

  1. Присвоить номер группы: (только для Р23)

set_group   ID=<номер> groupID=<номер группы>

Параметры команды:

ID — номер АС, включаемой в группу,

groupID — новый номер группы (или -1 для очистки памяти АС).

  1. Передача строковых сообщений

indicator ID=<номер АС> [text=”<текст для вывода на дисплей (от 0 до 4 строк, разделенных символами \n)>”] [sound=<0 (по умолчанию) – без звука, 1-3 – со звуком>] [timeout=<время отображения текста на экране в десятках секунд (1-240), по умолчанию – 6 (1 минута)>] [blink=<маска битов мигания строк текста (0-15), по умолчанию – 0 (нет мигающих строк)>] [code=<код предопределенного сообщения (0-31), по умолчанию – 0 (нет сообщения)>] [position=<начальная строка на дисплее для вывода текста (1-4), по умолчанию — 1>] [creeping_line=<маска битов бегущих строк (0-15), по умолчанию – 0 (нет бегущих строк)>]

  1. Регистрация диспетчера

access login=”<логин>” password=”<пароль>” office=<код организации>

  1. Синхронизация часов ДС по серверу (только для Р23):

synchronization      /без параметров/

  1. Изменение параметров сервера (для Р23):

set_server_status [active=<0/-1>] [make_log=<0/-1>] [log_file=”<имя файла>”] [tcp=<TCP-порт>] [cbs=<код БС>] [port=<COM-порт>] [database=”<DNS>”] [login=”<>”] [password=”<>”] [base_timeout=<>] [curr_coord_tiks=<>] [hist_coord_tiks=<>] [text_tiks=<>] [group_tiks=<>] [sinc_period=<>]

Параметры команды:

active – признак того, что сервер активен (сбор данных включен),

make_log – признак того, что ведется протокол работы сервера,

log_file – имя файла протокола,

tcp – порт TCP для подключения АРМ к серверу,

cbs – код базовой станции, с которой работает сервер,

port – COM-порт, через который осуществляется связь с ДС,

database – DSN базы данных для записи навигационных данных,

login – логин для подключения к базе данных,

password – пароль для подключения к базе данных,

base_timeout –таймаут ожидания подтверждения выполнения команды ДС (в миллисекундах),

sinc_period – периодичность автоматической синхронизации часов ДС по серверу (в минутах).

Примечание: данная команда является привилегированной – пославший ее диспетчер должен быть предварительно зарегистрирован на сервере (командой «access»), и иметь разрешение на изменение параметров сервера; в противном случае ему возвращается ошибка с кодом VHF_ACCESS_DENIED, и изменения не производятся.

  1. Перезагрузка файла конфигурации

reload

  1. Запрос версии сервера

about

  1. Определение подключенного оборудования (опрос СОМ – портов)

detect

  1. Состояние сервера (статистика)

stat

stat id=<номер возимого устройства> (пока не реализовано)

Выводит статистику по серверу в целом или по конкретному устройству

  1. Принудительное отключение возимого устройства от сервера (только для Навигатора)

drop id=<nUPE> [channel=<префикс канала>]

  1. Прошивка возимого устройства (только для Навигатора)

load id=<nUPE> length= <длина значения поля text> text=<текст файла в формате MSP430-TXT>

Примечание: для данной команды параметр “text” должен следовать последним. В значении параметра “text” допустимы символы конца строки.

Прим.: Прохождение всех команд в эфир подтверждается сообщением $Ok.

Команды «Сервер -> АРМ»

1.   Ответ на адресный запрос навигационных данных:

gpsdata

ID=<номер>

Gmtime = <в секундах>

longitude=<долгота в градусах>

latitude=<широта в градусах>

speed=<скорость в км/ч>

course=<курс в градусах от северного направления по часовой стрелке>

status=<статус ТС в виде строки с разделителями «;»>

validity=<отметка достоверности -1 или 0>

pdop=<фактор точности>

rssi=<качество связи>

position=<позиция в буфере АС, с которой соотносятся данные навигационные данные>

type=<содержимое служебного байта (из эфирной посылки) как целое число>

RTFlag=<0 – если данные пришли на ретроспективный запрос, 1 – в противном случае>

Примечание: на запрос ретроспективных координат типа 2 сервер посылает 2 ответа с координатами (с двумя различными значениями параметра «position»).

2.   Ответ на запрос головой связи по факту ее установления

voice ID=<номер АС> channel=<номер канала ГС> no_of_tries=<число попыток установления ГС>

  1. Сообщения об ошибках:

error code=<код ошибки>

Код ошибки — текстовая строка в формате ПРЕФИКС_ТЕКСТ, где

ПРЕФИКС – кодовое обозначение канала передачи информации (не содержит символов ‘_’);

ТЕКСТ – кодовое обозначение сообщения (может содержать символы ‘_’);

В случае, если сообщение носит общий характер, не относящийся к какому-либо конкретному каналу, строка ПРЕФИКС содержит значение GENERAL. Например, отказ в соединении с сервером выглядит так: error code=GENERAL_ACCESS_DENIED.

Префиксы каналов:

—         VHF:

—         GSM: соединение по сотовой сети

—         GPRS: интернет – соединение

—         GENERAL: см. выше

Коды ошибок (префикс не указан):

BS_NOT_ACTIVE – не получено подтверждения на выполнения запроса от КБС /БС не активна/

RESPONSE_ERROR – ошибка чтения ответа КБС

CRC_ERROR – ошибка контрольной суммы

WRONG_DATA – ошибка декодирования навигационных данных

WRONG_REQUEST – неверный запрос АРМ диспетчера

NO_VOICE – отказ от ГС

Дополнительные параметры: channel=<номер канала ГС> no_of_tries=<число попыток установления ГС>

NO_COM – сбой при открытии СОМ-порта

COM_WRITE_ER – сбой при записи в СОМ-порт

COM_READ_ER – сбой при чтении из СОМ-порта

ODBC_CON_ER – не установлено соединение с базой данных

ODBC_READ_ER – ошибка чтения данных

ODBC_WRITE_ER – ошибка записи данных

NO_CONF_TEXT – нет подтверждения получения текстового сообщения от АС

NOT_ACTIVE – сервер приостановлен

ACCESS_DENIED – недостаточно прав для выполнения команды

WRONG_VEHICLE – ТС не найдено

WRONG_CHANNEL – Канал не поддерживается

UPLOAD_VEHICLE_ERROR – ТС сообщило об ошибке в ходе прошивки

UPLOAD_FAILED – неудача при прошивке ТС

UPLOAD_TIMEOUT – ТС не ответило на запрос своевременно в ходе прошивки

Коды ошибок (специфичных для GSM канала):

GSM_WRONG_PHONE – не указан телефон дозвона

GSM_NO_CARRIER – возимое устройство не берет трубку

GSM_DUPLICATE_VEHICLE – GSM соединение с данным ТС уже установлено

  1. Информационные сообщения

message code=<код сообщения>

формат кодов сообщений такой же, как у кодов ошибок

Коды сообщений (префикс не указан):

      CON_OK – подключение диспетчера к серверу выполнено

Дополнительные параметры:  channel=<префикс канала>

DATA_REGIME – станция перешла в режим передачи данных

CONF_TEXT – текстовое сообщение получено АС

ODBC_CON_OK – произошло подключение к серверу БД

SESSION_QUEUED – запрос к серверу поставлен в очередь

SESSION_STARTED – запрос к серверу начал выполняться

SESSION_CLOSED – запрос к серверу успешно выполнен

SESSION_ABORTED – запрос к серверу невозможно выполнить

SESSION_TIMEOUT – запрос к серверу отменен по таймауту (возимое устройство не отвечает)

RELOAD_COMPLETED – перезагрузка файла конфигурации выполнена

  1. Ответ на запрос статуса сервера и на команду изменения параметров сервера (если не было ошибки доступа)

server_status

active – признак того, что сервер активен (сбор данных включен) (-1 – активен, 0 – не активен),

make_log – признак того, что ведется протокол работы сервера,

log_file – имя файла протокола,

IP – IP-адрес сервера,

tcp – порт TCP для подключения АРМ к серверу,

cbs – код базовой станции, с которой работает сервер,

port – COM-порт, через который осуществляется связь с ДС,

database – DSN базы данных для записи навигационных данных,

login – логин для подключения к базе данных,

password – пароль для подключения к базе данных,

connected – признак того, что подключение к базе данных выполнено (-1 – подключено, 0 – нет подключения),

base_timeout –таймаут ожидания подтверждения выполнения команды ДС (в миллисекундах),

sinc_period – периодичность автоматической синхронизации часов ДС по серверу (в минутах).

Примечание: часть указанных здесь параметров может быть пропущена в ответе, если диспетчеру не разрешено просматривать эти параметры.

  1. Ответ на изменение номера группы. (только Р23)

get_group ID=<номер> groupID=<новый номер группы (или -1 для очистки памяти АС)> position=<позиция в списке групповых номеров c 0>

  1. При передаче текстовых сообщений подтверждающий $Ok передается диспетчеру столько раз, сколько раз выходит в эфир КБС. После завершения передачи сообщения сервер высылает диспетчеру текущие навигационные данные, согласно п.1.

  1. Ответ на запрос о регистрации диспетчера.

Возможные варианты:

message code=VHF_CON_OK – подключение выполнено

error code=VHF_ODBC_CON_ER – сервер не подключен к базе данных

error code=VHF_ODBC_READ_ER – в БД не найдена таблица пользователей или ее не удалось прочитать

error code=VHF_ACCESS_DENIED – учетная запись не найдена в БД или неверный пароль

  1. Продолжение голосовой связи (Только Р23)

ring

  1. Ответ на запрос параметров ДС и на изменение параметров ДС:

  1. Ответ на запрос статистики

stat knownvehicles=”nUPE1; nUPE2; …”

Примечание: knownvehicles – список обслуживаемых сервером в текущий момент возимых устройств. Формат списка: номера возимых устройств, разделенные точкой с запятой.

  1. Ответ на запрос версии сервера

about ver=<номер версии сервера> формат ХХ.ХХ

 

 

 

Ссылка на основную публикацию
Adblock
detector