6. Мониторинг транспортных средств: NPH_SRV_NAVDATA

6. Мониторинг транспортных средств: NPH_SRV_NAVDATA

Навигационные данные передаются в типе передачи NPH_SRV_NAVDATА.

Существует два типа пакетов:

- NPH_SND_REALTIME - передача навигационных данных в реальном времени;

- NPH_SND_HISTORY - передача навигационных данных, сохраненных в памяти устройства ("ретроспективы").

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

Поле
Длина
Тип
Описание
Может ли данное поле (значение) изменяться
<Type>
1
unsigned int8
Тип ячейки (определяет длину и содержимое).
Различаются следующие типы:
0 - основные навигационные данные;
2 - данные от внутренних портов;
8 - данные от датчиков уровня продукта в отсеках.
Да
<Number>
1
unsigned int8
Определяет навигационный приемник: N=0 - GPS приемник, N=1 - GLONASS приемник. Если Type = 13, данное поле определяет номер отсека, к которому подключен уровнемер.
Да
<Data>
var
char[]
Данные от датчика.
Структура определяется полем
Да

Пакеты передачи навигационных данных NPH_SND_HISTORY и NPH_SND_REALTIME имеют следующий формат поля :

Структура поля состоит из ячеек, каждая из которых имеет поля , и переменной длины. Длина каждой ячейки поля определяется нолем .

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

Ячейка 2
Ячейка 1

Data
N байт
Number=1
1 байт
Type=2
1 байт
Data
N байт
Number=1
1 байт
Type=0
1 байт

Ячейка передачи основных навигационных данных (Type=0, N=1) Дополнительные навигационные данные Type=1, N=1.

Поле
Длина
Тип
Описание
Может ли данное поле (значение) изменяться
20
struct
<time_stamp>
4
unsigned int32
Содержит значение реального времени
Да
<Iongitude>
4
unsigned int32
Содержит долготу в градусах, умноженную на 10 000 000
Да
<latitude>
4
unsigned int32
Содержит широту в градусах, умноженную на 10 000 000
Да
<extra_dop>
1
unsigned int8
bit7 - достоверность навигационных данных (1 - достоверны, 0 - нет); bit6 - полушарие долготы (1 - E, 0 - W); bit5 - полушарие широты (1 - N, 0 - S); bit4 - флаг работы от встроенного аккумулятора; bit3 - флаг первоначального включения; bit2 - состояние SOS (1 - SOS, 0 - нет SOS) bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)
Да.
Примечание: в настоящей версии bit2 не должен устанавливаться
<bat_voltage>
1
unsigned int8
Напряжение батареи, 1 бит = 20 мВ
Да
<track>
2
unsigned int16
Пройденный путь, м
Да
<altitude>
2
signed int16
Высота над уровнем моря в метрах (-18000 - +18000)
Да
<nsat>
1
unsigned int8
Количество видимых спутников
Да
<pdop>
1
unsigned int8
PDOP - Снижение точности по местоположению. Термин, использующийся в области систем глобального позиционирования для параметрического описания геометрического взаиморасположения спутников относительно антенны приемника. Этот параметр должен передаваться на сервер для дальнейшего использования
Да

Данные от внутренних датчиков Type=2, N=1

Поле
Длина
Тип
Описание
Может ли данное поле (значение) изменяться
24
struct
<an_in0>
2
unsigned int 16
Значение 0 аналогового входа в 16 битном формате
Да
<an_in1>
2
unsigned int 16
Значение 1 аналогового входа в 16 битном формате
Да
<an_in2>
2
unsigned int 16
Значение 2 аналогового входа в 16 битном формате
Да
<an_in3>
2
unsigned int 16
Значение 3 аналогового входа в 16 битном формате
Да
<di_in>
1
unsigned int8
Значение цифровых входов
Да
<di_out>
1
unsigned int8
Состояние дискретных выходов
Да
<di0_counter>
2
unsigned int 16
Количество импульсов на дискретном входе 0 с предыдущей нав. отметки
Да
<di1_counter>
2
unsigned int 16
Количество импульсов на дискретном входе 1 с предыдущей нав. отметки
Да
<di2_counter>
2
unsigned int 16
Количество импульсов на дискретном входе 2 с предыдущей нав. отметки
Да
<di3_counter>
2
unsigned int 16
Количество импульсов на дискретном входе 3 с предыдущей нав. отметки
Да
<odometer>
4
unsigned int32
Длина трека с момента первого включения
Да
<CSQ>
1
unsigned int8
Сила GSM сигнала
Да
<GPRS_State>
1
unsigned int8
Состояние GPRS подключения
Да

16 битное значение полей . В случае если устройством поддерживается 12 битная оцифровка, значение умножается на 4. Максимальное значение становится равным 0xFFFC. У такого устройства дискретность становится не 1, а 4.

Данные от датчиков уровня продукта в отсеке Type=13, N=1..6

Поле
Длина
Тип
Описание
Может ли данное поле (значение) изменяться
13
struct
<density>
4
unsigned int32
Плотность продукта
Да
<temperature>
4
unsigned int32
Температура продукта
Да
<level>
4
unsigned int32
Уровень продукта
Да
<Ievel_unit>
1
uint8
Единица измерения:
Декалитры
Да

Пример пакета навигационных данных NPH_SND_REALTIME

Весь пакет:

7E7E42000200665A02000000000000010065000100990500000000931B4E4FF14

59B1DAF2FED22E0D000000000510000008D0008000200000000000000000000

0000000000000000002FC800001F040000

Заголовок NPL

7E7E 4200 0200 665A 02 00000000 0000

Значение
Описание
7E7E
Сигнатура
4200
Размер данных (nph + размер массива данных)
0200
Флаги соединения (2 - проверять crc)
665A
Crc
02
Тип пакета (nph)
00000000
Идентификатор NPL

Заголовок NPH

0100 6500 0100 99050000

0100
Идентификатор услуги (NPH_SRV_NAVDATA)
6500
NРH_SND_REALTIME
0100
Флаг (1 - требуется подтверждение)
99050000
Идентификатор nph

Массив данных

0000931B4E4FF1459B1DAF2FED22E0D000000000510000008D000800020000

000000000000000000000

00000000000002FC800001F040000

Начало данных 2 байта тип и номер ячейки:

0000

0
Тип ячейки
0
Номер ячейки

Нулевая ячейка размер 52 байта:

931B4E4FF1459B1DAF2FED22E0D000000000510000008D000800

931B4E4F
Значение реального времени inixtime utc
F1459B1D
Долгота в градусах, умноженная на 10 000 000
AF2FED22
Широта в градусах, умноженная на 10 000 000
E0
bit7 - достоверность навигационных данных
(1 - достоверны, 0 - нет);
bit6 - полушарие долготы (1 - E, 0 - W);
bit5 - полушарие широты (1 - N, 0 - S);
bit4 - флаг рабо ты от встроенного аккумулятора;
bit3 - флаг первоначального включения;
bit2 - состояние SOS (1 - SOS, 0 - нет SOS);
bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)
D0
Напряжение батареи, 1 бит = 20 мВ
0000
Пройденный путь, м
8D00
Высота над уровнем моря в метрах (-18000 - +18000)
08
Количество видимых спутников
00
PDOP

Пример пакета данные отдатчиков уровня продукта Type=13, N=1

Массив данных

0D01931B4E4FF1459B1DAF2FED2201

Начало данных 2 байта тип и номер ячейки:

0D01

13
Тип ячейки
1
Номер ячейки

13 ячейка размер 13 байт:

931B4E4FF1459B1DAF2FED2201

931B4E4F
Плотность продукта
F1459B1D
Температура продукта
AF2FED22
Уровень продукта
01
Единица измерения: Декалитры

Пример пакета NPH_SND_REALTIME

В данном пакете содержатся ячейки следующих типов:

- основные навигационные данные;

- данные от внутренних датчиков;

- данные от датчиков уровня продукта (число отсеков 6).

Весь пакет:

7E7E94000200316E02000000000000010065000100990500000000931B4E4FF14

59B1DAF2FED22E0D000008D0008000200000000000000000000000000000000

0000002FC800001F040D01F5676F3F0000A0418FC2B142010D02F5676F3F000

0A0418FC2B142010D03F5676F3F0000A0418FC2B142010D04F5676F3F0000A

0418FC2B142010D05F5676F3F0000A0418FC2B142010D06F5676F3F0000A04

18FC2B14201

Заголовок NPL

7E7E 9400 0200 316E 02 00000000 0000

Значение
Описание
7E7E
Сигнатура
9400
Размер данных (nph + размер массива данных)
0200
Флаги соединения (2 - проверять crc)
316E
Crc
02
Тип пакета (nph)
00000000
Адрес участника соединения
0000
Идентификатор NPL

Заголовок NPH

0100 6500 0100 99050000

0100
Идентификатор услуги (NPH_SRV_NAVDATA)
6500
NPH_SND_REALTIME
0100
Флаг (1 - требуется подтверждение)
99050000
Идентификатор nph

Массив данных

0000931B4E4FF1459B1DAF2FED22E0D000008D000800020000000000000000

00000000000000000000002FC800001F040D01F5676F3F0000A0418FC2B14201

0D02F5676F3F0000A0418FC2B142010D03F5676F3F0000A0418FC2B142010D

04F5676F3F0000A0418FC2B142010D05F5676F3F0000A0418FC2B142010D06

F5676F3F0000A0418FC1B14201

Начало данных 2 байта тип и номер ячейки:

0000

0
Тип ячейки
0
Номер ячейки

Ячейка (Type=0, N=0) размер 20 байт:

931B4E4F F1459B1D AF2FED22 E0 D0 0000 8D00 08 00

931B4E4F
Значение реального времени unixtime utc
F1459B1D
Долгота в градусах, умноженная на 10 000 000
AF2FED22
Широта в градусах, умноженная на 10 000 000
E0
bit7 - достоверность навигационных данных
(1 - достоверны, 0 - нет);
bit6 - полушарие долготы (1 - E, 0 - W);
bit5 - полушарие широты (1 - N, 0 - S);
bit4 - флаг работы от встроенного аккумулятора;
bit3 - флаг первоначального включения;
bit2 - состояние SOS (1 - SOS, 0 - нет SOS);
bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)
D0
Напряжение батареи, 1 бит = 20 мВ
0000
Пройденный путь, м
8D00
Высота над уровнем моря в метрах (-18000 - +18000)
08
Количество видимых спутников
00
PDOP

2 байта тип и номер ячейки:

0200

02
Тип ячейки
00
Номер ячейки

Ячейка (Type=2, N=0) размер 24 байта:

0000 0000 0000 0000 00 00 0000 0000 0000 0000 2FC80000 1F 04

0000
Значение 0 аналогового входа в 16 битном формате
0000
Значение 1 аналогового входа в 16 битном формате
0000
Значение 2 аналогового входа в 16 битном формате
0000
Значение 3 аналогового входа в 16 битном формате
00
Значение цифровых входов
00
Состояние дискретных выходов
0000
Количество импульсов на дискретном входе 0 с предыдущей нав. отметки
0000
Количество импульсов на дискретном входе 1 с предыдущей нав. отметки
0000
Количество импульсов па дискретном входе 2 с предыдущей нав. отметки
0000
Количество импульсов па дискретном входе 3 с предыдущей нав. отметки
2FC80000
Длина трека с момента первого включения
1F
Сила GSM сигнала
04
Состояние GPRS подключения

2 байта тип и номер ячейки:

0D01

13
Тип ячейки
01
Номер ячейки

Ячейка (Type=13, N=1) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D02

13
Тип ячейки
02
Номер ячейки

Ячейка (Type=13, N=2) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D03

13
Тип ячейки
03
Номер ячейки

Ячейка (Type=13, N=3) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D04

13
Тип ячейки
04
Номер ячейки

Ячейка (Type=13, N=4) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D05

13
Тип ячейки
05
Номер ячейки

Ячейка (Type=13, N=5) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D06

13
Тип ячейки
06
Номер ячейки

Ячейка (Type=13, N=6) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F
Плотность продукта
0000A041
Температура продукта
8FC2B142
Уровень продукта
01
Единица измерения уровня: Декалитры.