Гео-отслеживание
- 1. Способы отслеживания
- 2. Мобильное приложение
- 3. Датчики мониторинга
- 4. Интерфейс и данные гео-отслеживания
- 5. Карта и детализация гео-отслеживания
- 6. Статусы рейса и груза
- 7. Настройка передачи телеметрических данных через ретрансляцию
- 7.1 Описание протокола Wialon IPS v1.1
- 7.2 Описание протокола Wialon IPS v2.0
- 7.3 Описание протокола Wialon Retranslator v1.0
- 7.4 Описание протокола EGTS
1. Способы отслеживания
Движение транспорта можно отслеживать двумя способами:
- через мобильное приложение водителя;
- с помощью датчиков мониторинга (ГЛОНАСС/GPS), установленных на транспорте.
Оба способа:
- передают на карту данные о местоположении;
- фиксируют прибытие в точки погрузки/разгрузки;
- отмечают, выполнено действие вовремя или с опозданием.
2. Мобильное приложение
Особенности
- используется для отслеживания через мобильный телефон водителя;
- водитель устанавливает приложение, получает заказы и фиксирует статусы внутри приложения;
- приложение транслирует на платформу данные о передвижении водителя (на основе сигнала мобильного интернета и геопозиции);
- для работы требуются обязательные разрешения на мобильном устройстве и передача данных в приложение.
Подробнее о функциональности мобильного приложения
3. Датчики мониторинга
Особенности
- датчики ГЛОНАСС/GPS устанавливаются на транспорт поставщиками специализированных услуг;
- поставщик ретранслирует данные в "Магистрали" - на платформе появляются сведения о движении транспорта.
Подробнее о настройке ретрансляции данных
4. Интерфейс и данные гео-отслеживания
В столбце "гео-отслеживание" вкладки "В рейсе" доступны:
- кнопка перехода в детализацию - при нажатии открывается карта с гео-отслеживанием;
- квадраты статуса посещения точки - с указанием источника отслеживания (тягач, фургон, полуприцеп, мобильное приложение). Если источников несколько - отображаются все.
При наведении курсора на квадрат статуса отображаются:
- адрес точки прибытия (погрузка/разгрузка);
- статус посещения точки;
- время прибытия/убытия из геозоны.
При клике на квадрат статуса открывается детализация, где видны все въезды и выезды в геозону точки.
Цвета квадратов статуса:
- зелёный - прибыл вовремя;
- красный - опоздал;
- серый - статус неизвестен (до начала рейса или при разрыве связи).
5. Карта и детализация гео-отслеживания
При нажатии кнопки перехода в детализацию открывается карта, на которой:
- показан подробный маршрут движения транспорта;
- отмечены точки погрузки/разгрузки.
На карте можно:
- посмотреть, в какое время транспорт находился в конкретной точке;
- кликнуть на точку - увидеть координаты и время присутствия, скопировать координаты.
Левая часть окна детализации:
- номер открытого рейса;
- детализация посещения точек:
- список точек погрузки/разгрузки (по времени от ранней к поздней);
- текущий статус посещения точки («посещено вовремя», «посещено с опозданием», «не начато/статус неизвестен»);
- плановое и фактическое время посещения (источник: водитель, прицеп, машина).
Правая часть окна детализации (вверху):
- выпадающий список для переключения источника данных отслеживания - позволяет выбрать один источник для детального просмотра на карте.
Дополнительные элементы:
- значок - открывает детализацию по водителю и транспорту, переход к текущей точке местоположения;
- правый нижний угол - информация по источникам данных отслеживания, переход к последней точке присутствия, копирование координат.
6. Статусы рейса и груза
Статус рейса (общий для всего рейса):
- «Не начат» - по грузам нет статусов, работа не начата;
- «В пути» - по одному из грузов проставлен статус;
- «Завершён» - по всем грузам проставлен завершающий статус;
- «Отменён до начала» - рейс отменён до исполнения;
- «Отказ» - рейс начат, но заказ отменён исполнителем/заказчиком.
Статус груза в рейсе:
- каждый груз имеет уникальный статус;
- при проставлении статуса исполнителем меняется текущий статус груза;
- чтобы посмотреть статус груза:
- раскройте детализацию груза в таблице;
- в столбце «Статус груза рейса» будет виден статус по каждому грузу;
- в свёрнутом виде в этом столбце отображаются все уникальные статусы, актуальные на текущий момент.
7. Настройка передачи телеметрических данных через ретрансляцию
Для того, чтобы платформа начала получать данные о местоположении транспортных средств:
- Обратитесь к оператору вашей системы мониторинга с запросом на настройку ретрансляции данных на адрес платформы и передайте ему следующие параметры:
| Параметр | Значение |
|---|---|
| Адрес | 84.201.147.74 |
| Порт | 3062 |
| Протоколы | Wialon IPS (v1.1; v2.0), Wialon Retranslator, EGTS |
Примечание
Подробные спецификации протоколов приведены в соответствующих разделах ниже.
- После настройки ретрансляции со стороны оператора впишите IMEI-номера устройств (ID) в карточки транспортных средств.
Как внести IMEI в карточку ТС?
- Кликните на раздел «Моя организация» в левом меню, затем на раздел «Транспорт»
- Найдите нужное транспортное средство и нажмите на кнопку редактирования, либо создайте новое по кнопке «Создать», если его еще нет в справочнике.
- В открывшемся окне укажите информацию о ТС и в поле «IMEI» введите IMEI-номер GPS-устройства, установленного на данном ТС.
- Обязательно сохраните изменения.
- В течение часа при правильных настройках на платформу прогрузятся данные по местоположению.
Как проверить, получает ли платформа данные после настройки?
- Перейдите в справочник Транспорта.
- Нажмите на регистрационный номер ТС, для которой настроена ретрансляция (первый столбец таблицы).
- Откроется карта. Если платформа получает данные по местоположению данного ТС, на карте будет отображена геометка машины. Данные появляются на карте в течение часа после настройки ретрансляции и внесения IMEI-номера (ID).
Если после настройки данные не появились на платформе, обратитесь к нам в поддержку. В обращении укажите IMEI-номера устройств и приложите логи отправки данных — их можно запросить у вашего оператора.
Важно
Если IMEI-номер (ID) был внесён после назначения ТС на рейс, геоданные в уже существующие рейсы не прогрузятся — только в новые.
Чтобы отслеживание появилось в текущем рейсе, переназначьте ТС: откройте рейс, перевыберите транспортное средство и сохраните.
7.1 Описание протокола Wialon IPS v1.1
Все пакеты передаются в текстовом формате.
Структура пакета
Каждый пакет имеет следующий формат:
#TP#msg\r\n
| Элемент | Описание |
|---|---|
# |
Стартовый байт |
TP |
Тип пакета (см. таблицу типов) |
# |
Разделитель |
msg |
Содержимое сообщения |
\r\n |
Концевик пакета |
Типы пакетов
| Тип | Описание | Отправитель |
|---|---|---|
L |
Пакет логина | Оборудование |
AL |
Ответ на пакет логина | Сервер |
D |
Пакет с данными | Оборудование |
AD |
Ответ на пакет с данными | Сервер |
P |
Пинговый пакет | Оборудование |
AP |
Ответ на пинговый пакет | Сервер |
SD |
Сокращённый пакет с данными | Оборудование |
ASD |
Ответ на сокращённый пакет | Сервер |
Описание пакетов
Пакет логина (L)
#L#imei;password\r\n
| Поле | Описание |
|---|---|
imei |
Уникальный ID контроллера: IMEI или серийный номер |
; |
Разделитель |
password |
Пароль устройства; если отсутствует — передаётся NA |
Ответы сервера (AL):
| Код | Значение |
|---|---|
1 |
Авторизация прошла успешно |
0 |
Сервер отверг подключение |
01 |
Ошибка проверки пароля |
Примеры:
#AL#1\r\n
#AL#0\r\n
Сокращённый пакет с данными (SD)
#SD#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats\r\n
| Поле | Описание |
|---|---|
date |
Дата в формате DDMMYY, UTC; если отсутствует — NA |
time |
Время в формате HHMMSS, UTC; если отсутствует — NA |
lat1;lat2 |
Широта, например 5544.6025;N; если отсутствует — NA;NA |
lon1;lon2 |
Долгота, например 03739.6834;E; если отсутствует — NA;NA |
speed |
Скорость, км/ч, целое число; если отсутствует — NA |
course |
Курс, градусы, целое число; если отсутствует — NA |
height |
Высота, метры, целое число; если отсутствует — NA |
sats |
Количество спутников, целое число; если отсутствует — NA |
Если
dateиtimeсодержатNA— используется текущее время сервера.
Ответы сервера (ASD):
| Код | Значение |
|---|---|
1 |
Пакет успешно зафиксирован |
-1 |
Ошибка структуры пакета |
0 |
Некорректное время |
10 |
Ошибка получения координат |
11 |
Ошибка получения скорости, курса или высоты |
12 |
Ошибка получения количества спутников |
Примеры:
#ASD#1\r\n
#ASD#0\r\n
#ASD#10\r\n
Полный пакет с данными (D)
#D#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats;hdop;inputs;outputs;adc;ibutton;params\r\n
| Поле | Описание |
|---|---|
date |
Дата в формате DDMMYY, UTC; если отсутствует — NA |
time |
Время в формате HHMMSS, UTC; если отсутствует — NA |
lat1;lat2 |
Широта, например 5544.6025;N; если отсутствует — NA;NA |
lon1;lon2 |
Долгота, например 03739.6834;E; если отсутствует — NA;NA |
speed |
Скорость, км/ч, целое число; если отсутствует — NA |
course |
Курс, градусы, целое число; если отсутствует — NA |
height |
Высота, метры, целое число; если отсутствует — NA |
sats |
Количество спутников, целое число; если отсутствует — NA |
hdop |
Снижение точности (HDOP), дробное число; если отсутствует — NA |
inputs |
Цифровые входы: каждый бит числа соответствует одному входу (с младшего); если отсутствует — NA |
outputs |
Цифровые выходы: каждый бит числа соответствует одному выходу (с младшего); если отсутствует — NA |
adc |
Аналоговые входы, дробные числа через запятую (нумерация с 1); пустая строка, если аналоговых входов нет. Пример: 14.77,0.02,3.6 |
ibutton |
Код ключа водителя (iButton); если ключ отсутствует — NA |
params |
Дополнительные параметры через запятую в формате NAME:TYPE:VALUE (см. ниже) |
Формат дополнительных параметров (params)
Каждый параметр имеет формат NAME:TYPE:VALUE:
| Поле | Описание |
|---|---|
NAME |
Имя параметра, строка до 15 байт |
TYPE |
Тип: 1 — int, 2 — double, 3 — string |
VALUE |
Значение в соответствии с типом |
Зарезервированные параметры:
SOS:1:1— нажатие тревожной кнопки (тип int, значение 1)text:3:<сообщение>— текстовое сообщение от водителя
Примеры:
count1:1:564,fuel:2:45.8,hw:3:V4.5
SOS:1:1
Ответы сервера (AD):
| Код | Значение |
|---|---|
1 |
Пакет успешно зафиксирован |
-1 |
Ошибка структуры пакета |
0 |
Некорректное время |
10 |
Ошибка получения координат |
11 |
Ошибка получения скорости, курса или высоты |
12 |
Ошибка получения количества спутников или HDOP |
13 |
Ошибка получения inputs или outputs |
14 |
Ошибка получения ADC |
15 |
Ошибка получения дополнительных параметров |
Примеры:
#AD#1\r\n
#AD#0\r\n
#AD#10\r\n
#AD#11\r\n
Пинговый пакет (P)
#P#\r\n
Служит для поддержания активного TCP-соединения и проверки работоспособности канала.
Ответ сервера (AP):
#AP#\r\n
7.2 Описание протокола Wialon IPS v2.0
Все пакеты передаются в текстовом формате.
Структура пакета
Каждый пакет имеет следующий формат:
#TP#msg\r\n
| Поле | Описание |
|---|---|
# |
Стартовый байт |
TP |
Тип пакета (см. таблицу типов) |
# |
Разделитель |
msg |
Непосредственно сообщение |
\r\n |
Концевик пакета |
Типы пакетов
| Тип | Описание | Кто отправляет |
|---|---|---|
L |
Пакет логина | Оборудование |
AL |
Ответ на пакет логина | Сервер |
D |
Пакет с данными | Оборудование |
AD |
Ответ на пакет с данными | Сервер |
P |
Пинговый пакет | Оборудование |
AP |
Ответ на пинговый пакет | Сервер |
SD |
Сокращённый пакет с данными | Оборудование |
ASD |
Ответ на сокращённый пакет | Сервер |
Описание пакетов
L — Пакет логина
Отправляется оборудованием при установке соединения с сервером.
#L#protocol_version;imei;password;crc16\r\n
Пример:
#L#2.0;imei;N/A;BB2B\r\n
| Поле | Описание |
|---|---|
protocol_version |
Версия протокола. Должна содержать значение 2.0 |
imei |
Уникальный ID контроллера, IMEI или серийный номер |
password |
Пароль для доступа к устройству. Если отсутствует — передаётся NA |
crc16 |
Контрольная сумма (см. Вычисление CRC16 ниже) |
Ответ сервера (AL):
| Код | Описание |
|---|---|
1 |
Авторизация прошла успешно |
0 |
Сервер отверг подключение |
01 |
Ошибка проверки пароля |
10 |
Ошибка проверки контрольной суммы |
#AL#1\r\n
#AL#0\r\n
SD — Сокращённый пакет с данными
#SD#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats;crc16\r\n
| Поле | Описание |
|---|---|
date |
Дата в формате DDMMYY, UTC. Если отсутствует — NA |
time |
Время в формате HHMMSS, UTC. Если отсутствует — NA |
lat1;lat2 |
Широта, например 5544.6025;N. Если отсутствует — NA;NA |
lon1;lon2 |
Долгота, например 03739.6834;E. Если отсутствует — NA;NA |
speed |
Скорость, целое число, км/ч. Если отсутствует — NA |
course |
Курс, целое число, градусы. Если отсутствует — NA |
height |
Высота, целое число, метры. Если отсутствует — NA |
sats |
Количество спутников, целое число. Если отсутствует — NA |
crc16 |
Контрольная сумма (см. Вычисление CRC16 ниже) |
Если поля
dateиtimeсодержат значениеNA— берётся текущее время сервера.
Ответ сервера (ASD):
| Код | Описание |
|---|---|
-1 |
Ошибка структуры пакета |
0 |
Некорректное время |
1 |
Пакет успешно зафиксирован |
10 |
Ошибка получения координат |
11 |
Ошибка получения скорости, курса или высоты |
12 |
Ошибка получения количества спутников |
13 |
Ошибка проверки контрольной суммы |
#ASD#1\r\n
#ASD#0\r\n
#ASD#10\r\n
D — Пакет с данными
#D#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats;hdop;inputs;outputs;adc;ibutton;params;crc16\r\n
| Поле | Описание |
|---|---|
date |
Дата в формате DDMMYY, UTC. Если отсутствует — NA |
time |
Время в формате HHMMSS, UTC. Если отсутствует — NA |
lat1;lat2 |
Широта, например 5544.6025;N. Если отсутствует — NA;NA |
lon1;lon2 |
Долгота, например 03739.6834;E. Если отсутствует — NA;NA |
speed |
Скорость, целое число, км/ч. Если отсутствует — NA |
course |
Курс, целое число, градусы. Если отсутствует — NA |
height |
Высота, целое число, метры. Если отсутствует — NA |
sats |
Количество спутников, целое число. Если отсутствует — NA |
hdop |
Снижение точности (HDOP), дробное число. Если отсутствует — NA |
inputs |
Цифровые входы. Каждый бит числа соответствует одному входу, начиная с младшего. Целое число. Если отсутствует — NA |
outputs |
Цифровые выходы. Каждый бит числа соответствует одному выходу, начиная с младшего. Целое число. Если отсутствует — NA |
adc |
Аналоговые входы — дробные числа через запятую. Нумерация с единицы. Если нет — пустая строка. Пример: 14.77,0.02,3.6 |
ibutton |
Код ключа водителя, строка произвольной длины. Если отсутствует — NA |
params |
Дополнительные параметры через запятую в формате NAME:TYPE:VALUE (см. ниже) |
crc16 |
Контрольная сумма (см. Вычисление CRC16 ниже) |
Формат поля params:
Каждый параметр имеет вид NAME:TYPE:VALUE, где:
| Поле | Описание |
|---|---|
NAME |
Произвольная строка, не более 15 байт |
TYPE |
Тип: 1 — int/long long, 2 — double, 3 — string |
VALUE |
Значение в зависимости от типа |
Специальные параметры:
- Тревожная кнопка SOS: параметр типа
1с именемSOS, значение1означает нажатие. - Текстовое сообщение от водителя: параметр типа
3с именемtext.
Примеры params:
count1:1:564,fuel:2:45.8,hw:3:V4.5
SOS:1:1
Если поля
dateиtimeсодержат значениеNA— берётся текущее время сервера.
Ответ сервера (AD):
| Код | Описание |
|---|---|
-1 |
Ошибка структуры пакета |
0 |
Некорректное время |
1 |
Пакет успешно зафиксирован |
10 |
Ошибка получения координат |
11 |
Ошибка получения скорости, курса или высоты |
12 |
Ошибка получения количества спутников или HDOP |
13 |
Ошибка получения inputs или outputs |
14 |
Ошибка получения adc |
15 |
Ошибка получения дополнительных параметров |
16 |
Ошибка проверки контрольной суммы |
#AD#1\r\n
#AD#0\r\n
#AD#10\r\n
P — Пинговый пакет
Служит для поддержания активного TCP-соединения с сервером, а также для проверки работоспособности канала.
#P#\r\n
Ответ сервера (AP):
#AP#\r\n
Вычисление CRC16
Поле crc16 содержит контрольную сумму в шестнадцатеричном формате, big-endian, без ведущих нулей.
Пример: AA13BB (десятичное: 11146171)
Что входит в расчёт
| Тип пакета | Данные для расчёта CRC16 |
|---|---|
L, SD, D, B, M |
Часть пакета между #TP# и полем crc16 |
I, US, UC, T |
Поле BIN |
Пример для #SD#:
#SD#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats;crc16\r\n
CRC16 рассчитывается для:
date;time;lat1;lat2;lon1;lon2;speed;course;height;sats;
7.3 Описание протокола Wialon Retranslator v1.0
Все данные передаются в бинарном формате по протоколу TCP.
Входящие данные
Cтруктура пакета
Каждый входящий пакет имеет следующую структуру:
| Размер (байт) | Тип поля | Описание |
|---|---|---|
| 4 | Integer | Размер пакета |
| - | Text | Идентификатор контроллера (IMEI или серийный номер). Размер не фиксирован. Конец строки — байт 0x00 |
| 4 | Integer | Время в секундах (UTC) |
| 4 | Integer | Битовые флаги сообщения (см. таблицу флагов) |
| - | - | Набор блоков данных в пакете. Следуют последовательно |
Битовые флаги сообщения
| Флаг | Описание |
|---|---|
0×1 |
Информация о местоположении |
0×2 |
Информация о цифровых входах |
0×4 |
Информация о цифровых выходах |
0×10 |
Бит тревоги (alert) |
0×20 |
Информация об идентификаторе водителя |
Остальные биты зарезервированы или предназначены для внутреннего использования Wialon.
Структура блока данных
Набор блоков данных следует сразу за полями заголовка пакета. Блоки идут последовательно без разделителей.
| Размер (байт) | Тип поля | Описание |
|---|---|---|
| 2 | Integer | Тип блока |
| 4 | Integer | Размер блока |
| 1 | Integer | Атрибут безопасности: 1 — параметр скрыт, 0 — параметр отображается |
| 1 | Integer | Тип данных блока (см. таблицу типов) |
| - | Text | Имя блока (строка, конец — байт 0x00) |
| - | - | Значение блока |
Типы данных блока
| Код | Описание |
|---|---|
0x1 |
Текст (string) |
0x2 |
Бинарные данные |
0x3 |
Целое число (int, 4 байта) |
0x4 |
Дробное число (double) |
0x5 |
Целое число (long, 8 байт) |
Стандартные имена блоков
| Имя блока | Описание |
|---|---|
posinfo |
Блок с координатами (бинарный, см. структуру ниже) |
pwr_ext |
Напряжение питания |
avl_inputs |
Значение цифровых входов |
avl_outputs |
Значение цифровых выходов |
adc1, adc2, ... |
Значения аналоговых датчиков |
gsm |
Уровень GSM-сигнала |
ign |
Зажигание |
can1, can2, ... |
Значения с CAN-шины |
Если значения первых трёх параметров блока
posinfo(lon, lat, altitude) отсутствуют — весь блок не включается в пакет.
Структура блока posinfo
Блок posinfo передаётся в бинарном формате как значение поля «Block value»:
| Размер (байт) | Тип поля | Описание |
|---|---|---|
| 8 | Fractional (double) | lon — долгота |
| 8 | Fractional (double) | lat — широта |
| 8 | Fractional (double) | altitude — высота |
| 2 | Integer | speed — скорость |
| 2 | Integer | course — курс |
| 1 | Integer | sats — количество спутников |
Исходящие данные
После приёма каждого входящего пакета оборудование должно отправить на сервер байт подтверждения 0x11.
Пример разбора пакета
Исходный пакет (HEX)
74000000333533393736303133343435343835004B0BFB70000000030BBB00000027
0102706F73696E666F00A027AFDF5D9848403AC7253383DD4B400000000000805A40
003601460B0BBB000000120004707772 5F657874002B8716D9CE973B400BBB000000
11010361766C5F696E707574730000000001
Разбор заголовка
| Поле HEX | Расшифровка |
|---|---|
74000000 |
Размер пакета: 116 байт |
33353339373630313334343534383500 |
Идентификатор контроллера: 353976013445485 |
4B0BFB70 |
Время UTC: 1259076464 → 2009/11/24 17:27:44 |
00000003 |
Флаги: 3 (местоположение + цифровые входы) |
Блок 1 — posinfo
| Поле HEX | Расшифровка |
|---|---|
0BBB |
Тип блока: 3003 |
00000027 |
Размер блока: 39 байт |
01 |
Атрибут безопасности: скрыт |
02 |
Тип данных: бинарный |
706F73696E666F00 |
Имя блока: posinfo |
A027AFDF5D984840 |
Долгота: 49.1903648 |
3AC7253383DD4B40 |
Широта: 55.7305664 |
0000000000805A40 |
Высота: 106.0 |
0036 |
Скорость: 54 |
0146 |
Курс: 326 |
0B |
Количество спутников: 11 |
Блок 2 — pwr_ext
| Поле HEX | Расшифровка |
|---|---|
0BBB |
Тип блока: 3003 |
00000012 |
Размер блока: 18 байт |
00 |
Атрибут безопасности: отображается |
04 |
Тип данных: дробное число (double) |
7077725F65787400 |
Имя блока: pwr_ext |
2B8716D9CE973B40 |
Значение: 27.593 В |
Блок 3 — avl_inputs
| Поле HEX | Расшифровка |
|---|---|
0BBB |
Тип блока: 3003 |
00000011 |
Размер блока: 17 байт |
01 |
Атрибут безопасности: скрыт |
03 |
Тип данных: целое число (int) |
61766C5F696E70757473 00 |
Имя блока: avl_inputs |
00000001 |
Значение: 1 |
7.4 Описание протокола EGTS
Общие принципы
- Все числовые типы (USHORT, UINT, ULONG, FLOAT, DOUBLE) передаются в порядке little-endian (младший байт вперед).
- Строки (STRING) — в кодировке CP-1251, оканчиваются байтом
0x00. - Тип BINARY — массив байт без фиксированной длины.
- Поля помечены как M (Mandatory — обязательное) или O (Optional — необязательное).
- Контрольная сумма заголовка — CRC-8, тела пакета — CRC-16 CCITT.
Используемые типы данных
| Тип | Размер (байт) | Диапазон значений |
|---|---|---|
BOOLEAN |
1 | TRUE (1) / FALSE (0) |
BYTE |
1 | 0...255 |
USHORT |
2 | 0...65535 |
UINT |
4 | 0...4 294 967 295 |
ULONG |
8 | 0...18 446 744 073 709 551 615 |
SHORT |
2 | −32 768...32 767 |
INT |
4 | −2 147 483 648...2 147 483 647 |
FLOAT |
4 | −1.2E-38...3.4E+38 |
DOUBLE |
8 | −2.2E-308...1.7E+308 |
STRING |
переменный | Строка CP-1251, конец — байт 0x00 |
BINARY |
переменный | Массив байт |
Структура пакета транспортного уровня
Каждый пакет состоит из заголовка и опциональной области данных (SFRD).
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Версия протокола | PRV |
M | BYTE | 1 | Версия протокола. Значение: 0x01 |
| Идентификатор ключа | SKID |
M | BYTE | 1 | Идентификатор ключа шифрования |
| Флаги | PRF/RTE/ENA/CMP/PR |
M | BYTE | 1 | Флаги (битовое поле, см. ниже) |
| Длина заголовка | HL |
M | BYTE | 1 | Длина заголовка до поля HCS включительно |
| Кодировка заголовка | HE |
M | BYTE | 1 | Способ кодирования заголовка |
| Длина данных | FDL |
M | USHORT | 2 | Длина поля SFRD в байтах |
| Идентификатор пакета | PID |
M | USHORT | 2 | Уникальный номер пакета. Начинается с 1, при достижении 65535 обнуляется |
| Тип пакета | PT |
M | BYTE | 1 | Тип пакета (см. таблицу типов) |
| Адрес отправителя | PRA |
O | USHORT | 2 | Используется только при маршрутизации (RTE=1) |
| Адрес получателя | RCA |
O | USHORT | 2 | Используется только при маршрутизации (RTE=1) |
| Время жизни | TTL |
O | BYTE | 1 | Максимальное число узлов маршрутизации. При TTL=0 пакет уничтожается |
| Контрольная сумма заголовка | HCS |
M | BYTE | 1 | CRC-8 от PRV до TTL |
| Область данных | SFRD |
O | BINARY | 0...65517 | Данные сервисов |
| Контрольная сумма данных | SFRCS |
O | USHORT | 0 или 2 | CRC-16 от SFRD; присутствует только если SFRD не пустое |
Битовые флаги заголовка (PRF-байт)
| Биты | Флаг | Описание |
|---|---|---|
| 7–6 | PRF |
Префикс. Всегда 00 |
| 5 | RTE |
Route — маршрутизация. При 1 в заголовке присутствуют PRA, RCA, TTL |
| 4–3 | ENA |
Encryption Algorithm — алгоритм шифрования SFRD. 00 — нет шифрования |
| 2 | CMP |
Compressed — признак сжатия SFRD |
| 1–0 | PR |
Priority — приоритет: 00 — наивысший, 01 — высокий, 10 — средний, 11 — низший |
Типы пакетов (PT)
| Код | Тип | Описание |
|---|---|---|
0 |
EGTS_PT_RESPONSE |
Ответ на пакет |
1 |
EGTS_PT_APPDATA |
Пакет с данными приложения |
2 |
EGTS_PT_SIGNED_APPDATA |
Пакет с подписанными данными приложения |
Структура области данных (SFRD)
EGTS_PT_APPDATA
SFRD для пакетов типа EGTS_PT_APPDATA содержит один или несколько записей сервисного уровня (SDR):
| Поле | Размер (байт) | Описание |
|---|---|---|
| SDR 1 | 9...65517 | Запись сервисного уровня №1 |
| SDR 2 | 9...65517 | Запись сервисного уровня №2 |
| ... | ... | ... |
| SDR n | 9...65517 | Запись сервисного уровня №n |
EGTS_PT_RESPONSE
SFRD для ответных пакетов содержит:
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| ID пакета-источника | RPID |
M | USHORT | 2 | PID пакета, на который формируется ответ |
| Результат обработки | PR |
M | BYTE | 1 | Код результата (см. таблицу кодов ответа) |
| SDR 1...n | — | O | BINARY | 9...65517 | Записи сервисного уровня (опционально) |
EGTS_PT_SIGNED_APPDATA
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Длина подписи | SIGL |
M | SHORT | 2 | Длина поля SIGD |
| Данные подписи | SIGD |
O | BINARY | 0...512 | Цифровая подпись |
| SDR 1...n | — | O | BINARY | 9...65515 | Записи сервисного уровня |
Структура записи сервисного уровня (SDR)
Каждая запись (SDR) имеет фиксированный заголовок и поле данных:
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Длина записи | RL |
M | USHORT | 2 | Длина поля RD в байтах |
| Номер записи | RN |
M | USHORT | 2 | Уникальный номер. Начинается с 0, при 65535 обнуляется |
| Флаги записи | RFL |
M | BYTE | 1 | Битовые флаги (SSOD, RSOD, GRP, RPP, TMFE, EVFE, OBFE) |
| ID объекта | OID |
O | UINT | 4 | Идентификатор объекта (при OBFE=1) |
| ID события | EVID |
O | UINT | 4 | Идентификатор события (при EVFE=1) |
| Время | TM |
O | UINT | 4 | Время UTC (при TMFE=1); отсчёт от 00:00:00 01.01.2010 |
| Тип исходного сервиса | SST |
M | BYTE | 1 | Тип сервиса-отправителя |
| Тип сервиса-получателя | RST |
M | BYTE | 1 | Тип сервиса-получателя |
| Данные записи | RD |
M | BINARY | 3...65498 | Набор подзаписей |
Флаги записи (RFL)
| Флаг | Описание |
|---|---|
SSOD |
Source Service On Device: 1 — исходный сервис на устройстве |
RSOD |
Recipient Service On Device: 1 — сервис-получатель на устройстве |
GRP |
Group: 1 — запись адресована группе (OID = ID группы) |
RPP |
Record Processing Priority: 00 — наивысший, 01 — высокий, 10 — средний, 11 — низший |
TMFE |
Time Field Exists: 1 — поле TM присутствует |
EVFE |
Event ID Field Exists: 1 — поле EVID присутствует |
OBFE |
Object ID Field Exists: 1 — поле OID присутствует |
Структура подзаписи (Subrecord)
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Тип подзаписи | SRT |
M | BYTE | 1 | Тип подзаписи (0 — зарезервирован) |
| Длина подзаписи | SRL |
M | USHORT | 2 | Длина поля SRD |
| Данные подзаписи | SRD |
O | BINARY | 0...65495 | Данные |
Сервисы протокола
Перечень сервисов
| Тип | Название | Описание |
|---|---|---|
EGTS_AUTH_SERVICE |
Сервис авторизации | Идентификация и аутентификация терминала |
EGTS_TELEDATA_SERVICE |
Телематический сервис | Передача навигационных и телеметрических данных |
EGTS_COMMANDS_SERVICE |
Сервис команд | Управление терминалом по GPRS |
EGTS_FIRMWARE_SERVICE |
Сервис прошивки | Обновление ПО терминала |
EGTS_ECALL_SERVICE |
Сервис экстренного вызова | Поддержка ЭРА-ГЛОНАСС |
EGTS_AUTH_SERVICE — Сервис авторизации
Типы подзаписей
| Код | Название | Описание |
|---|---|---|
1 |
EGTS_SR_TERM_IDENTITY |
Идентификация терминала |
2 |
EGTS_SR_MODULE_DATA |
Данные о модуле |
3 |
EGTS_SR_VEHICLE_DATA |
Данные о транспортном средстве |
5 |
EGTS_SR_DISPATCHER_IDENTITY |
Идентификация диспетчера |
6 |
EGTS_SR_AUTH_PARAMS |
Параметры аутентификации |
7 |
EGTS_SR_AUTH_INFO |
Данные аутентификации |
8 |
EGTS_SR_SERVICE_INFO |
Информация о сервисе |
9 |
EGTS_SR_RESULT_CODE |
Код результата авторизации |
EGTS_SR_TERM_IDENTITY — Идентификация терминала
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| ID терминала | TID |
M | UINT | 4 | Уникальный идентификатор терминала |
| Флаги | — | M | BYTE | 1 | HDIDE, IMEIE, IMSIE, LNGCE, SSRA, BSE, NIDE, MNE |
| ID диспетчера | HDID |
O | USHORT | 2 | (при HDIDE=1) |
| IMEI | IMEI |
O | STRING | 15 | (при IMEIE=1) |
| IMSI | IMSI |
O | STRING | 16 | (при IMSIE=1) |
| Код языка | LNGC |
O | STRING | 3 | Например: rus (при LNGCE=1) |
| ID сети | NID |
O | BINARY | 3 | MCC + MNC (при NIDE=1) |
| Размер буфера | BS |
O | USHORT | 2 | Рекомендуемые значения: 800, 1000, 1024, 2048, 4096 (при BSE=1) |
| Номер MSISDN | MSISDN |
O | STRING | 15 | (при MNE=1) |
EGTS_SR_MODULE_DATA — Данные о модуле
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Тип модуля | MT |
M | BYTE | 1 | 1 — трекер, 2 — блок навигации, 3 — коммуникационный, 4 — другое |
| ID производителя | VID |
M | UINT | 4 | |
| Версия прошивки | FWV |
M | USHORT | 2 | Major.Minor, например 2.34 = 0x0222 |
| Версия ПО | SWV |
M | USHORT | 2 | |
| Модификация | MD |
M | BYTE | 1 | |
| Состояние | ST |
M | BYTE | 1 | 1 — активен, 0 — неактивен, 127 — неопределён |
| Серийный номер | SRN |
O | STRING | 0...32 | Конец строки — 0x00 |
| Описание | DSCR |
O | STRING | 0...32 |
EGTS_SR_AUTH_INFO — Данные аутентификации
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Имя пользователя | UNM |
M | STRING | 0...32 | |
| Разделитель | D |
M | BYTE | 1 | 0x00 |
| Пароль | UPSW |
M | STRING | 0...32 | |
| Разделитель | D |
M | BYTE | 1 | 0x00 |
| Серверная последовательность | SS |
O | STRING | 0...255 |
EGTS_SR_RESULT_CODE — Код результата
Единственное поле: RCD (BYTE) — код результата авторизации (см. таблицу кодов ответа).
EGTS_SR_DISPATCHER_IDENTITY — Идентификация диспетчера
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Тип диспетчера | DT |
M | BYTE | 1 | |
| ID диспетчера | DID |
M | UINT | 4 | |
| Описание | DSCR |
O | STRING | 0...255 |
EGTS_SR_SERVICE_INFO — Информация о сервисе
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Тип сервиса | ST |
M | BYTE | 1 | |
| Состояние сервиса | SST |
M | BYTE | 1 | |
| Параметры | SRVP |
M | BYTE | 1 | SRVA (0 — виртуальный, 1 — реальный), SRVRP (приоритет маршрутизации) |
EGTS_TELEDATA_SERVICE — Телематический сервис
Типы подзаписей
| Код | Название | Описание |
|---|---|---|
0 |
EGTS_SR_RECORD_RESPONSE |
Подтверждение записи |
16 |
EGTS_SR_POS_DATA |
Основные навигационные данные |
17 |
EGTS_SR_EXT_POS_DATA |
Расширенные навигационные данные |
18 |
EGTS_SR_AD_SENSORS_DATA |
Данные аналоговых и цифровых датчиков |
19 |
EGTS_SR_COUNTERS_DATA |
Данные счётчиков |
20 |
EGTS_SR_STATE_DATA |
Данные о состоянии устройства |
22 |
EGTS_SR_LOOPIN_DATA |
Данные шлейфов |
23 |
EGTS_SR_ABS_DIG_SENS_DATA |
Данные абсолютного цифрового датчика |
24 |
EGTS_SR_ABS_AN_SENS_DATA |
Данные абсолютного аналогового датчика |
25 |
EGTS_SR_ABS_CNTR_DATA |
Данные абсолютного счётчика |
26 |
EGTS_SR_ABS_LOOPIN_DATA |
Данные абсолютного шлейфа |
27 |
EGTS_SR_LIQUID_LEVEL_SENSOR |
Данные датчика уровня жидкости |
28 |
EGTS_SR_PASSENGERS_COUNTERS |
Данные счётчиков пассажиров |
EGTS_SR_RECORD_RESPONSE — Подтверждение записи
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Номер подтверждаемой записи | CRN |
M | USHORT | 2 | Значение поля RN из подтверждаемой записи |
| Статус записи | RST |
M | BYTE | 1 | Код результата обработки |
EGTS_SR_POS_DATA — Основные навигационные данные
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Навигационное время | NTM |
M | UINT | 4 | Секунды UTC от 00:00:00 01.01.2010 |
| Широта | LAT |
M | UINT | 4 | Значение × (90 / 0xFFFFFFFF) в градусах |
| Долгота | LONG |
M | UINT | 4 | Значение × (180 / 0xFFFFFFFF) в градусах |
| Флаги | FLG |
M | BYTE | 1 | ALTE, LOHS, LAHS, MV, BB, CS, FIX, VLD |
| Скорость | SPD |
M | USHORT | 2 | 0,1 км/ч; биты 14–0 — значение, бит 15 — ALTS |
| Направление | DIR |
M | BYTE | 1 | Направление 0–255 (расширяется DIRH из SPD) |
| Пробег | ODM |
M | BINARY | 3 | 0,1 км |
| Цифровые входы | DIN |
M | BYTE | 1 | Биты 0–7 соответствуют входам 1–8 |
| Источник данных | SRC |
M | BYTE | 1 | Тип источника навигационных данных |
| Высота | ALT |
O | BINARY | 3 | В метрах (при ALTE=1) |
| Данные источника | SRCD |
O | SHORT | 2 | Дополнительные данные источника (при SRC≠0) |
Флаги FLG:
| Флаг | Описание |
|---|---|
VLD |
Данные валидны: 1 — достоверные |
FIX |
Тип фиксации: 0 — 2D fix, 1 — 3D fix |
CS |
Система координат: 0 — WGS-84, 1 — ПЗ-90.02 |
BB |
Из чёрного ящика: 0 — реальное время, 1 — из архива |
MV |
Движение: 1 — объект движется |
LAHS |
Знак широты: 0 — северная, 1 — южная |
LOHS |
Знак долготы: 0 — восточная, 1 — западная |
ALTE |
Наличие поля ALT: 1 — поле присутствует |
EGTS_SR_EXT_POS_DATA — Расширенные навигационные данные
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Флаги | — | M | BYTE | 1 | NSFE, SFE, PFE, HFE, VFE |
| VDOP | VDOP |
O | USHORT | 2 | Вертикальный DOP × 100 (при VFE=1) |
| HDOP | HDOP |
O | USHORT | 2 | Горизонтальный DOP × 100 (при HFE=1) |
| PDOP | PDOP |
O | USHORT | 2 | Позиционный DOP × 100 (при PFE=1) |
| Спутники | SAT |
O | BYTE | 1 | Количество спутников (при SFE=1) |
| Навигационная система | NS |
O | USHORT | 2 | Битовое поле: 0 — неизвестно, 1 — ГЛОНАСС, 2 — GPS, 4 — Galileo, 8 — Compass, 16 — Beidou, 32 — DORIS, 64 — IRNSS, 128 — QZSS (при NSFE=1) |
EGTS_SR_AD_SENSORS_DATA — Аналоговые и цифровые датчики
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Цифровые входы (маска) | DIOE1–DIOE8 |
M | BYTE | 1 | По одному биту на каждый октет цифровых входов |
| Цифровые выходы | DOUT |
M | BYTE | 1 | Биты 0–7 — выходы 1–8 |
| Аналоговые датчики (маска) | ASFE1–ASFE8 |
M | BYTE | 1 | 1 — поле ANSn присутствует |
| Доп. цифровые входы | ADIO1–ADIO8 |
O | BYTE | 1 каждый | Октеты 1–8 (при DIOE=1) |
| Аналоговые датчики | ANS1–ANS8 |
O | BINARY | 3 каждый | Значения датчиков 1–8 (при ASFEn=1) |
EGTS_SR_COUNTERS_DATA — Данные счётчиков
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Маска счётчиков | CFE1–CFE8 |
M | BYTE | 1 | 1 — поле CNn присутствует |
| Счётчики | CN1–CN8 |
O | BINARY | 3 каждый | Значения счётчиков 1–8 |
EGTS_SR_ACCEL_DATA — Данные акселерометра
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Количество структур | SA |
M | BYTE | 1 | Число структур ADS |
| Абсолютное время | ATM |
M | UINT | 4 | Секунды UTC от 00:00:00 01.01.2010 |
| Структуры ADS1...ADS255 | — | M/O | BINARY | 8 каждая | Данные ускорений |
Каждая структура ADS:
| Поле | Аббр. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|
| Относительное время | RTM |
USHORT | 2 | Смещение от ATM в 10 мс |
| Ускорение по X | XAAV |
SHORT | 2 | × 0,1 (единица 0,01G) |
| Ускорение по Y | YAAV |
SHORT | 2 | × 0,1 (единица 0,01G) |
| Ускорение по Z | ZAAV |
SHORT | 2 | × 0,1 (единица 0,01G) |
EGTS_SR_STATE_DATA — Состояние устройства
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Состояние | ST |
M | BYTE | 1 | Битовое поле состояния |
| Напряжение основного питания | MPSV |
M | BYTE | 1 | В × 0,1 |
| Напряжение резервной батареи | BBV |
M | BYTE | 1 | В × 0,1 |
| Напряжение внутренней батареи | IBV |
M | BYTE | 1 | В × 0,1 |
| Флаги | — | M | BYTE | 1 | NMS (навигационный модуль), IBU (внутр. батарея исп.), BBU (резерв. батарея исп.) |
EGTS_SR_LOOPIN_DATA — Данные шлейфов
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Маска шлейфов | LIFE1–LIFE8 |
M | BYTE | 1 | 1 — данные шлейфа n присутствуют |
| Состояния шлейфов | LIS n |
O | BYTE | 0,5 | По 4 бита на шлейф: 0000 — нормально, 0001 — обрыв, 0010 — КЗ, 0100 — тест, 1000 — неизвестно |
EGTS_SR_ABS_DIG_SENS_DATA — Абсолютный цифровой датчик
| Поле | Аббр. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|
| DSN + DSST | — | SHORT | 2 | Биты 15–6: номер датчика (DSN), биты 5–0: состояние (DSST) |
EGTS_SR_ABS_AN_SENS_DATA — Абсолютный аналоговый датчик
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Номер датчика | ASN |
M | BYTE | 1 | |
| Значение | ASV |
M | BINARY | 3 |
EGTS_SR_ABS_CNTR_DATA — Абсолютный счётчик
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Номер счётчика | CN |
M | BYTE | 1 | |
| Значение | CNV |
M | BINARY | 3 |
EGTS_SR_LIQUID_LEVEL_SENSOR — Датчик уровня жидкости
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Флаги | — | M | BYTE | 1 | LLSEF, LLSVU (единицы: 00 — мм, 01 — литры, 10 — 0,1%), RDF, LLSN |
| Адрес модуля | MADDR |
M | USHORT | 2 | |
| Данные датчика | LLSD |
M | BINARY | 4...512 | Сырые данные (при RDF=1) или нормализованное значение (при RDF=0) |
EGTS_SR_PASSENGERS_COUNTERS — Счётчики пассажиров
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Флаги | — | M | BYTE | 1 | RDF, DPR |
| Двери (открытые) | DPR |
M | BYTE | 1 | Битовое поле: бит = 1 — дверь открыта |
| Двери (разрешённые) | DRL |
M | BYTE | 1 | Битовое поле разрешённых дверей |
| Адрес модуля | MADDR |
M | USHORT | 2 | |
| Данные счётчиков | PCD |
M | BINARY | 2...512 |
EGTS_COMMANDS_SERVICE — Сервис команд
EGTS_SR_COMMAND_DATA — Данные команды
| Поле | Аббр. | Обяз. | Тип | Размер (байт) | Описание |
|---|---|---|---|---|---|
| Адрес | ADR |
M | USHORT | 2 | Адрес источника команды |
| Размер | SZ |
— | — | — | Зависит от значения ACT |
| Действие | ACT |
M | BYTE | 1 | Тип действия команды (см. ниже) |
| Код команды | CCD |
M | USHORT | 2 | |
| Данные | DT |
O | BINARY | 0...65200 | Данные команды |
Значения ACT:
| Код | Описание |
|---|---|
0 |
Запрос — наличие CCD |
1 |
Запуск — наличие CCD |
2 |
Останов — наличие CCD |
3 |
Установка — наличие CCD + SZ + DT |
4 |
Получение — наличие CCD + SZ + DT |
Параметры соединения
| Параметр | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
TL_RESPONSE_TO |
BYTE | 5 с | Таймаут ожидания ответа |
TL_RESEND_ATTEMPTS |
BYTE | 3 | Число попыток повторной отправки |
TL_RECONNECT_TO |
BYTE | 30 с | Таймаут переподключения |
Коды результата обработки
| Код | Константа | Описание |
|---|---|---|
0 |
EGTS_PC_OK |
Успешно |
1 |
EGTS_PC_IN_PROGRESS |
Обработка |
128 |
EGTS_PC_UNS_PROTOCOL |
Неподдерживаемый протокол |
129 |
EGTS_PC_DECRYPT_ERROR |
Ошибка расшифрования |
130 |
EGTS_PC_PROC_DENIED |
Обработка запрещена |
131 |
EGTS_PC_INC_HEADERFORM |
Некорректный заголовок |
132 |
EGTS_PC_INC_DATAFORM |
Некорректные данные |
133 |
EGTS_PC_UNS_TYPE |
Неподдерживаемый тип |
134 |
EGTS_PC_NOTEN_PARAMS |
Недостаточно параметров |
135 |
EGTS_PC_DBL_PROC |
Дублирующая обработка |
136 |
EGTS_PC_PROC_SRC_DENIED |
Источник запрещён |
137 |
EGTS_PC_HEADER_CRC_ERROR |
Ошибка CRC заголовка |
138 |
EGTS_PC_DATA_CRC_ERROR |
Ошибка CRC данных |
139 |
EGTS_PC_INV_DATALEN |
Некорректная длина данных |
140 |
EGTS_PC_ROUTE_NFOUND |
Маршрут не найден |
141 |
EGTS_PC_ROUTE_CLOSED |
Маршрут закрыт |
142 |
EGTS_PC_ROUTE_DENIED |
Маршрут запрещён |
143 |
EGTS_PC_INV_ADDR |
Некорректный адрес |
144 |
EGTS_PC_TTL_EXPIRED |
TTL истёк |
145 |
EGTS_PC_NO_ACK |
Нет подтверждения |
146 |
EGTS_PC_OBJ_NFOUND |
Объект не найден |
147 |
EGTS_PC_EVNT_NFOUND |
Событие не найдено |
148 |
EGTS_PC_SRVC_NFOUND |
Сервис не найден |
149 |
EGTS_PC_SRVC_DENIED |
Сервис запрещён |
150 |
EGTS_PC_SRVC_UNKN |
Неизвестный сервис |
151 |
EGTS_PC_AUTH_DENIED |
Авторизация запрещена |
152 |
EGTS_PC_ALREADY_EXISTS |
Уже существует |
153 |
EGTS_PC_ID_NFOUND |
ID не найден |
154 |
EGTS_PC_INC_DATETIME |
Некорректная дата/время |
155 |
EGTS_PC_IO_ERROR |
Ошибка ввода/вывода |
156 |
EGTS_PC_NO_RES_AVAIL |
Ресурсы недоступны |
157 |
EGTS_PC_MODULE_FAULT |
Неисправность модуля |
158 |
EGTS_PC_MODULE_PWR_FLT |
Ошибка питания модуля |
159 |
EGTS_PC_MODULE_PROC_FLT |
Ошибка процессора модуля |
160 |
EGTS_PC_MODULE_SW_FLT |
Ошибка ПО модуля |
161 |
EGTS_PC_MODULE_FW_FLT |
Ошибка прошивки модуля |
162 |
EGTS_PC_MODULE_IO_FLT |
Ошибка ввода/вывода модуля |
163 |
EGTS_PC_MODULE_MEM_FLT |
Ошибка памяти модуля |
164 |
EGTS_PC_TEST_FAILED |
Тест не пройден |
Вычисление CRC-8 и CRC-16
CRC-8 (заголовок пакета)
- Полином:
0x31(x⁸ + x⁵ + x⁴ + 1) - Init:
0xFF, Revert: false, XorOut:0x00 - Контрольное значение для
123456789:0xF7
unsigned char CRC8(unsigned char *lpBlock, unsigned char len) {
unsigned char crc = 0xFF;
while (len--)
crc = CRC8Table[crc ^ *lpBlock++];
return crc;
}
CRC-16 CCITT (данные пакета — SFRD)
- Полином:
0x1021(x¹⁶ + x¹² + x⁵ + 1) - Init:
0xFFFF, Revert: false, XorOut:0x0000 - Контрольное значение для
123456789:0x29B1
unsigned short Crc16(unsigned char *pcBlock, unsigned short len) {
unsigned short crc = 0xFFFF;
while (len--)
crc = (crc << 8) ^ Crc16Table[(crc >> 8) ^ *pcBlock++];
return crc;
}