Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
12.03.2015
Размер:
212.99 Кб
Скачать

Формат сообщений о местоположении контроллера Азимутпри работе по GPRS

© ООО «РАТЕОС». Все права защищены. ООО «Ратеос» прилагает все усилия для того, чтобы информация, содержащаяся в этом документе, являлась точной и надежной. Однако, ООО «Ратеос» не несет ответственности за возможные неточности и несоответствия информации в данном документе, а также сохраняет за собой право на изменение информации в этом документе в любой момент без уведомления. Для получения наиболее полной и точной информации ООО «Ратеос» рекомендует обращаться к последним редакциям документов на сайте www.rateos.ru. ООО «Ратеос» не несет ответственности за возможный прямой и косвенный ущерб, связанный с использованием своих изделий. Перепечатка данного материала, а также распространение в коммерческих целях без уведомления ООО «Ратеос» запрещены. ООО «Ратеос» не передает никаких прав на свою интеллектуальную собственность. Все торговые марки, упомянутые в данном документе, являются собственностью их владельцев.

Содержание

1 Общие положения 4

2 Описание протокола 5

2.1 Сообщение “00”. Отчет о местоположении V2 5

2.2 Сообщение “01”. Установка выходов 7

2.3 Сообщение “02”. Переход на временный сервер в протоколе “Интернет канал” 7

2.4 Сообщение “03”. Отчет о местоположении V3 8

2.5 Сообщение “04”. Установка пареметров APN 12

2.6 Сообщение “05”. Установка параметров соединения 12

2.7 Сообщение “06”. Установка параметров записи отчетов при движении 12

2.8 Сообщение “07”. Установка параметров аналоговых входов 12

2.9 Сообщение “08”. Установка параметров цифровых входов 13

2.10 Сообщение “10”. Текстовое сообщение для устройства отображения (индикатор) 13

2.11 Сообщение “11”. Массив событий от устройства отображения (индикатора) 14

2.12 Сообщение “FF”. Подтверждение. 14

3 Реализация 16

4 Текстовые команды 17

5 Приложение 1. Типы событий для сообщения “00” 19

6 Приложение 2. Типы событий для сообщения “03” 20

  1. Общие положения

Сообщения протокола состоят из ASCIIсимволов. Все поля сообщений, если имеют значение меньше объявленной разрядной сетки, должны быть дополненыведущиминулями.

Для кодировки значений полей сообщения вводится следующее понятие: cимволы от ‘0’ до ‘9’ и от ‘A’ до ‘F’ будут обозначаться какHASF(Hexсимвол в верхнем регистреaформатеASCII).

Пример:

Строка ‘123A’ (4 числа в форматеHASF) является значением 0x123Aв щестнадцатеричной системе счисления или 4666 в десятичной.

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

Общий формат сообщений имеет следующую структуру:

!ID, MSG_CMD, F0Fx, * MSG_CRC

где:

! -

Признак начала сообщения

ID-

IDконтроллера. 4 числа в форматеHASF.

MSG_CMD

код команды сообщения. 2 числа в формате HASF.

F0Fx

информационные поля сообщения.

* -

метка начала контрольной суммы сообщения

MSG_CRC

контрольная сумма сообщения. Контрольная сумма в формате 2-х чисел HASF. В расчет контрольной суммы входят все символы сообщения между маркерами ‘!’ и ‘*’. Контрольная сумма вычисляется согласно алгоритму:

U8 F14 (U8 *src, U8 sz) {

U8 CK_A = 0;

while(sz--){

CK_A = CK_A + *src++;

}

return CK_A;

}

    1. Сообщение “00”. Отчет о местоположении v2

Формат сообщения о местоположении имеет следующую структуру:

!ID, 00, RPT_N, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13 * MSG_CRC

где

RPT_N- число отчетов. 1 цифра в форматеHASF. Число отчетов может быть от 1 доF(15 в десятичной системе)

F0F13- поля отчета описаны в следующей таблице:

Поле

Значение

F0

Формат имеет вид: xxAB, где

xx- событие вызвавшее отчет в виде 2 чисел в форматеASCII. Типы событий определены в “Приложении 1”

A- индикация наличия движения на момент формирования отчета:

M- движение есть

m- движения нет

B- статус навигационного решения, 1 десятичнаяASCIIцифра

0 - координаты не определены;

1 - координаты определены, 2Dрешение

2 - координаты определены, 3Dрешение

Пример:

04m0 – контроллер зарегестрировался в GSM сети, движение отсутстует, координаты не определены

27M2 – сработал датчик движения, движение есть, координаты определены (3D решение)

F1

Широта (latitude) в виде 8 чисел в формате HASF. Старший бит определяет знак.

Широта упакована в виде dd°mm.mmmmm

Пример:

число “2122710F” соответствует десятичному 555905295 таким образом,

Широта равна “55°59.05295“

F2

Долгота (longitude) в виде 8 чисел в формате HASF. Старший бит определяет знак.

Долгота упакована в виде ddd°mm.mmmmm

Пример:

1) число “16216121” без старшего бита соответствует десятичному 0371286305 таким образом, долгота равна “037°12.86305“

2) число “96216121” без старшего бита соответствует десятичному 0371286305 таким образом, долгота равна “037°12.86305“, а т.к. старший бит равен 1, то долгота равна

“-037°12.86305“

F3

Cкорость в км/ч, 2 цифры в формате HASF.

Пример:

28 (40 км/ч), 7A (122 км/ч), 0F (15 км/ч) и т.д.

F4

Текущий курс в градусах деленный на 2. 2 цифры в формате HASF.

Пример:

01 (2 градуса), 0x AF (350 градусов) и т.д

F5

Высота в метрах. 4 цифры в формате HASF. Старший бит определяет знак.

Пример:

00С8 (200 метров) или 800A (-10 метров)

F6

Время/дата отчета в виде 8 чисел в формате HASF.

Декодирование времени и даты осуществляется с помощью следующего алгоритма:

typedef struct {

U16 year ;

U8 month ;

U8 day ;

U8 hour ;

U8 minute;

U8 sec ;

} Time_t;

void UnpackDateTime (u32_t j,Time_t *pt) {

U32 date;

U32 d;

U32 m;

U32 y;

U32 t;

date = j / 86400l;

t = j - (date * 86400l);

date += 731000ul;

y = (4 * date1 ) / 146097;

d = (4 * date - 1 - 146097 * y ) / 4 ;

date = (4 * d + 3 ) / 1461 ;

d = (4 * d + 7 - 1461 * date) / 4 ;

m = (5 * d3 ) / 153 ;

d = (5 * d + 2 - 153 * m ) / 5 ;

y = 100 * y + date;

if (m < 10) {

m += 3;

} else {

m -= 9;

y++;

}

pt->year = y;

pt->month = m;

pt->day = d;

pt->sec = t % 60; t /= 60;

pt->hour = t / 60;

pt->minute = t % 60;

}

Пример:

0EA37366 соответствует 12.15:34 09/05/2009

0853C97F соответствует 23.59:59 30/12/2005

F7

Значение 3-x аналоговых входов An0 An1 An2, 9 цифр в формате HASF. Каждое значение кодируется с помощью 3 цифр в формате HASF в виде 12 битного знакового числа.

Пример:

459013FF0

Значение An0 – 459 или 1113 едениц в десятичной системе

Значение An1 – 013 или 19 едениц в десятичной системе

Значение An2 – FF0 или -16 едениц в десятичной системе

F8

Значение 5 цифровых входов In1 In2 In3 In4 In5, 2 цифры в формате HASF.

Пример:

19.

Шестнадцатеричное значение соответствует двичному “11001”

Значение In1 – 1

Значение In2 – 1

Значение In3 – 0

Значение In4 – 0

Значение In5 – 1

F9

Значение 5 цифровых выходов Out1 Out 2 Out 3 Out 4 Out 5, 2 цифры в формате HASF.

Пример:

Кодировка аналогична полю F9

F10

Статус зажигания, 1 десятичная цифра

0 – зажигание подключено на “0”

1 – зажигание подключено на ”1”

2 – зажигание не подключено

F11

Статус антенны, 1 десятичная цифра

0 – антенна подключена

1 – антенна не подключена

2 – короткое замыкание в антенне

F12

Градация степени зарядки аккумулятора, 1 десятичная цифра.

Возможные значения 0,1,2,3

F13

Биты флагов состояний. 2 цифры в формате HASF

Бит 0 – наличие внешнего питания

Бит 1 – наличие GSM регистрации

Бит 2 – наличие SIM карты

Бит 3 – статус времени ( 0 – внутренний таймер / 1 – по GPS)

Соседние файлы в папке Азимут