Протоколы Teltonika RUT955
ООО «Цифровой Ангел»
Поскольку наименьшее количество информации, которое может быть записано, составляет один бит, некоторые биты могут остаться неиспользованными, если результатом является байтовый массив. Любые неиспользованные биты должны быть оставлены пустыми.
Codec ID | Number of Data | Data | Number of Data |
---|---|---|---|
1 Byte | 1 Byte | ... | 1 byte |
Количество данных - количество закодированных данных (количество записей). В кодексе RUT955 код 08
Данные
AVL Data | ... | AVL Data |
AVL data – закодированный элемент данных.
AVL Data
Timestamp | Priority | GPS Element | IO Element |
---|---|---|---|
8 Bytes | 1 Byte | 15 Bytes | ... |
Timestamp – разница в миллисекундах между текущим временем и полуночью 1 января 1970 года по Гринвичу.
Приоритет
0 | low |
1 | High |
2 | Panic |
3 | Security |
GPS Элемент
Долгота | Широта | Высота | Угол | Спутники | Скорость |
---|---|---|---|---|---|
4 Bytes | 4 Bytes | 2 Bytes | 2 Bytes | 1 Byte | 2 Bytes |
X Долгота Y Широта Altitude В метрах над уровнем моря Angle В градусах 0 - север, увеличиваясь по часовой стрелке Satellites Количество видимых спутников Speed В км / ч 0x0000, если данные GPS недействительны
Долгота и широта - это целые значения, построенные из градусов, минут, секунд и миллисекунд по формуле:
d Градусы m Минуты s Секунды ms Миллисекунды p Точность(10000000)
Если долгота на западе или широта на юге, умножьте результат на –1. Чтобы определить, является ли координата отрицательной, преобразуйте ее в двоичный формат и проверьте самый первый бит. Если это 0, координата положительна, если это 1, координата отрицательна. Пример:
Полученное значение: 20 9c ок. 80
Преобразовано в BIN: 00100000 10011100 11001010 Первый бит 10000000 равен 0, что означает положительную координату
Передан в DEC: 547146368
Для получения дополнительной информации см. Комплиментартная арифметика.
I/O Элемент
I/O элементы (отсылаются на сервер только если включены) | |||
---|---|---|---|
ID параметра | Имя параметра | Байты | IO элемент |
1 | Статус цифрового входа 1 | 1 | логический: 0/1 |
2 | Статус цифрового входа 2 | 1 | логический: 0/1 |
9 | Аналоговый вход 1 | 2 | напряжение: mV, 0 - 30 V |
21 | GSM уровень | 1 | уровень gsm сигнала в пределах 1 - 5 |
Пример
полученные данные: 08040000015C1A473FC0000E3BD4A520B53DC300570167070000000403020101001504010 9158500000000015C1A475348000E3BD4AE20B53DC0005701670800000004030201010015 040109158500000000015C1A4766D0000E3BD4AE20B53DBF0057016708000000040302010 10015040109158500000000015C1A477A58000E3BD4B120B53DBD00570167080000000403 02010100150401091585000004
08 – Codec ID 04 - Number of Data (4 records) 1st record data 0000015C1A473FC0 – Timestamp in milliseconds (1495089496000 → 1495089496,000 in Unix Timestamp = 18 May 2017 06:38:16 UTC) 00 – Priority
GPS Element 0E3BD4A5 – Longitude 23.8802085 = 23.8802085 º N 20B53DC3 – Latitude 54.8748739 = 54.8748739 º E 0057 – Altitude 87 meters 0167 – Angle 359º 07 – 7 Visible satellites 0000 – 0 km/h speed
I/O Element 00 – IO element ID of Event generated (in this case when 00 – data generated not on event) 04 – 4 IO elements in record 03 – 3 IO elements, which length is 1 Byte 02 – IO element ID = 02 01 – 2’nd IO element’s value = 1 01 – IO element ID = 01 00 – 1’st IO element’s value = 0 15 – IO element ID = 21 04 – 21’nd IO element’s value = 4 01 – 1 IO element, which value length is 2 Bytes 09 – 1 IO element ID = 09 1585 – 9’th IO element’s value = 5509 00 – 0 IO elements, which value length is 4 Bytes 00 – 0 IO elements, which value length is 8 Bytes
2’nd запись данных 0000015C1A475348000E3BD4AE20B53DC000570167080000000403020101001504010915850000
3’d запись данных 0000015C1A4766D0000E3BD4AE20B53DBF00570167080000000403020101001504010915850000
4’th запись данных 0000015C1A477A58000E3BD4B120B53DBD00570167080000000403020101001504010915850000
04 – Number of Data (4 records)
Отправка данных по TCP / IP
Пакет данных AVL
Пакет AVL используется для инкапсуляции данных AVL и отправки их на сервер.
Four zeros | Data length | Data | CRC |
Four zeros 4 нулевых байта (0x00) Data length Количество байт (Integer) Data Любая дата в AVL диапазоне CRC 16-битное значение CRC данных (целое число). Полином 0xA001.
Связь с сервером
First when module connects to server, module sends its IMEI. IMEI is sent the same way as encoding
штрих-код. Сначала идет короткое определение количества записанных байтов, а затем идет IMEI как текст (байты).
Например, IMEI 123456789012345 будет отправлен как 000F313233343536373839303132333435.
После получения IMEI сервер должен определить, будет ли он принимать данные из этого модуля. Если да, сервер ответит на модуль 01, если не 00. Обратите внимание, что подтверждение должно быть отправлено в виде двоичного пакета.
Затем модуль начинает отправлять первый пакет данных AVL. После того, как сервер получил пакет и проанализировал его, сервер должен сообщить модулю номер полученных данных как целое число (четыре байта).
Если номер отправленных данных и сообщенный сервером не совпадают, модуль повторно отправляет отправленные данные.
Пример:
Модуль подключается к серверу и отправляет IMEI:
000F313233343536373839303132333435
Сервер принимает модуль:
01
Модуль отправляет пакет данных:
Заголовок пакета данных AVL | Массив данных AVL | CRC |
---|---|---|
Четыре нулевых байта, длина массива данных AVL - 254 | CodecId - 08, NumberOfData - 2. (Кодируется с использованием непрерывного потока битов. Последний байт дополняется для выравнивания по границе байта) | CRC из "массива данных AVL" |
00000000000000FE | 0802...(элементы данных)...02 | 00008612 |
Сервер подтверждает прием данных (2 элемента данных): 00000002
ОТПРАВКА ДАННЫХ НА UDP / IP
Протокол канала UDP
Канал UDP - это протокол транспортного уровня над UDP / IP для повышения надежности простого UDP / IP с использованием пакетов подтверждения. Структура пакета выглядит следующим образом:
UDP датаграмма | ||
---|---|---|
Пакет канала UDP x N | ||
Длина пакета | 2 bytes | Длина пакета (исключая это поле) в порядке байтов с прямым порядком байтов |
Id пакета | 2 bytes | Идентификатор пакета, уникальный для этого канала |
Тип пакета | 1 byte | Тип этого пакета |
Пакет полезной нагрузки | m bytes | Пакет полезной нагрузки |
Тип пакета | |
---|---|
1 | Пакет данных, требующий подтверждения |
Пакет подтверждения должен иметь тот же идентификатор пакета, что и подтвержденный пакет данных, и пустые данные. Подтверждение должно быть отправлено в двоичном формате.
Пакет подтверждения | ||
---|---|---|
Длина пакета | 2 байта | 0x0003 |
id пакета | 2 Байта | Так же, как в подтвержденном пакете |
Тип пакета | 1 байт | 0x01 |
Отправка данных AVL по каналу UDP
Данные AVL отправляются инкапсулированными в пакеты канала UDP (поле данных).
Данные AVL, инкапсулированные в пакет канала UDP | ||
---|---|---|
AVL id (1 byte) | Module IMEI | AVL data array |
AVL packet id (1 byte) идентификатор, идентифицирующий этот пакет AVL Module IMEI IMEI отправляющего модуля закодирован так же, как с TCP AVL data array массив кодированных данных AVL
Ответ сервера на пакет данных AVL | |
---|---|
AVL packet id (1 byte) | Number of accepted AVL elements (1 byte) |
AVL packet id (1 byte) – идентификатор полученного пакета данных AVL
Number of AVL data elements accepted (1 byte) – количество записей массива данных AVL от начала массива, которые были приняты сервером.
Сценарий:
Модуль отправляет пакет канала UDP с инкапсулированным пакетом данных AVL (Тип пакета = 1).
Сервер отправляет пакет канала UDP с инкапсулированным ответом (Тип пакета = 1).
Модуль проверяет идентификатор пакета AVL и количество принятых элементов AVL. Если ответ сервера с действительным идентификатором пакета AVL не получен в течение установленного времени ожидания, модуль может повторить отправку.
Пример:
Модуль отправляет данные:
Заголовок канала UDP | Заголовок пакета AVL | Массив данных AVL |
---|---|---|
Len – 253,
Id – 0xCAFE, Packet type – 01 |
AVL packet id – 0xDD,
IMEI – 1234567890123456 |
CodecId – 08,
NumberOfData – 2. (Кодируется с использованием непрерывного потока битов) |
00FDCAFE01 | DD000F3133343536373839303132333435 | 0802…(data elements)…02 |
Сервер должен ответить с подтверждением:
Заголовок канала UDP | Подтверждение пакета AVL |
---|---|
Len – 5,
Id – 0xCAFE, Packet type – 01 |
AVL packet id – 0xDD,
NumberOfAcceptedData – 2 |
0005CAFE01 | DD02 |
Читайте также
На ваш e-mail было отправлено письмо с регистрационной информацией.
Пожалуйста, дождитесь письма, так как контрольная строка изменяется при каждом запросе.