1

Wialon Combine

Topic: Wialon Combine

Бинарный протокол Wialon Combine.

Представляем вашему вниманию бинарный протокол Wialon Combine.

Особенности:

  • Работа по UDP
  • Работа по TCP
  • Возможность передачи произвольных параметров
  • Возможность передачи файлов
  • Возможность передачи фотографий

Ознакомиться с протоколом можно: здесь

Протокол находится в стадии тестирования. Текущая версия: 1.0.4

В перспективе:

  • Будет добавлен эмулятор протокола.
  • Отправка команд на устройство.


Если у вас есть пожелания, вы хотите что-то добавить или наоборот убрать, пишите в этой теме.
Best regards,
Evgeny Shatilo
Gurtam HW Developer
1

Wialon Combine

Re: Wialon Combine

Пока в протоколе не предусмотрена возможность передачи сообщений от сервера к прибору. Будет что то меняться в этом направлении или останется только односторонний обмен?

2

Wialon Combine

Re: Wialon Combine

Обязательно будет. Возможно у вас уже есть предпочтения по формату команд?

Best regards,
Evgeny Shatilo
Gurtam HW Developer
3

Wialon Combine

Re: Wialon Combine

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

4

Wialon Combine

Re: Wialon Combine

Внесены поправки и доработки в протокол:
-Изменен формат ответа на сообщения
-Добавлены команды

Виталий Дмитренко
Gurtam
5

Wialon Combine

Re: Wialon Combine

Правильно ли я понимаю из формата протокола, что все подпакеты для пакета дата равноправны и могут содержаться в любой комбинации? Как сервер будет поступать с данными без подпакета gps к какому времени и координатам привязывать значения датчиков?

6

Wialon Combine

Re: Wialon Combine

BITREK wrote:

Правильно ли я понимаю из формата протокола, что все подпакеты для пакета дата равноправны и могут содержаться в любой комбинации? Как сервер будет поступать с данными без подпакета gps к какому времени и координатам привязывать значения датчиков?

Верно, все подпакеты для пакета Data равноправны и могут содержаться в любой комбинации.
Время в пакете Data - это обязательное поле, которое является общим для всех подпакетов.
Сервер привязывает значение датчиков ко времени, а не к координатам. Передавать подпакет GPS не обязательно, так же как и другие подпакеты.

7

Wialon Combine

Re: Wialon Combine

beal wrote:

Время в пакете Data - это обязательное поле, которое является общим для всех подпакетов.
Сервер привязывает значение датчиков ко времени, а не к координатам.

На сколько понимаю, у Вас в протоколе время является уникальным идентификатором события?
И в протоколе не указано как время из 4 байт вычислять, видимо точность регистрации событий 1 сек, считая от ???, но не суть.

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

8

Wialon Combine

Re: Wialon Combine

terminator wrote:
beal wrote:

Время в пакете Data - это обязательное поле, которое является общим для всех подпакетов.
Сервер привязывает значение датчиков ко времени, а не к координатам.

На сколько понимаю, у Вас в протоколе время является уникальным идентификатором события?
И в протоколе не указано как время из 4 байт вычислять, видимо точность регистрации событий 1 сек, считая от ???, но не суть.

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

В Виалоне время не совсем является уникальным идентификатором события. Если на сервер придёт сообщение с другими координатами но, с тем же временем, оно будет зарегистрировано. Проще говоря, если хотя бы один параметр отличается от предыдущего сообщения с таким же временем, то оно будет зарегистрировано. То есть, прибору ничего не мешает отправлять несколько сообщений в секунду.
Минимальный шаг событий 1 секунда, всё верно. Формат времени UTC, следовательно отсчёт с 01.01.1970. (этот момент будет добавлен в протокол).

Best regards,
Evgeny Shatilo
Gurtam HW Developer
9

Wialon Combine

Re: Wialon Combine

shev wrote:

В Виалоне время не совсем является уникальным идентификатором события. Если на сервер придёт сообщение с другими координатами но, с тем же временем, оно будет зарегистрировано. Проще говоря, если хотя бы один параметр отличается от предыдущего сообщения с таким же временем, то оно будет зарегистрировано. То есть, прибору ничего не мешает отправлять несколько сообщений в секунду.
Минимальный шаг событий 1 секунда, всё верно. Формат времени UTC, следовательно отсчёт с 01.01.1970. (этот момент будет добавлен в протокол).

Давайте рассмотрим две реальные ситуации, одна из них совсем жизненная.

1.

shev wrote:

Если на сервер придёт сообщение с другими координатами но, с тем же временем, оно будет зарегистрировано.

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

2.

shev wrote:

То есть, прибору ничего не мешает отправлять несколько сообщений в секунду.

работает терминал, выключили у него питание, села батарейка часов, часы сбились, после включения время ушло в далёкое или не очень прошлое. Что будет с такими данными? две разные точки в одно и то же время, как будет строиться такой трек? что увидит пользователь?
Имея же уникальный, нарастающий идентификатор, у пользователя будет возможность восстановить порядок событий, даже не имея точного времени.

10

Wialon Combine

Re: Wialon Combine

terminator wrote:
shev wrote:

В Виалоне время не совсем является уникальным идентификатором события. Если на сервер придёт сообщение с другими координатами но, с тем же временем, оно будет зарегистрировано. Проще говоря, если хотя бы один параметр отличается от предыдущего сообщения с таким же временем, то оно будет зарегистрировано. То есть, прибору ничего не мешает отправлять несколько сообщений в секунду.
Минимальный шаг событий 1 секунда, всё верно. Формат времени UTC, следовательно отсчёт с 01.01.1970. (этот момент будет добавлен в протокол).

Давайте рассмотрим две реальные ситуации, одна из них совсем жизненная.

1.

shev wrote:

Если на сервер придёт сообщение с другими координатами но, с тем же временем, оно будет зарегистрировано.

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

2.

shev wrote:

То есть, прибору ничего не мешает отправлять несколько сообщений в секунду.

работает терминал, выключили у него питание, села батарейка часов, часы сбились, после включения время ушло в далёкое или не очень прошлое. Что будет с такими данными? две разные точки в одно и то же время, как будет строиться такой трек? что увидит пользователь?
Имея же уникальный, нарастающий идентификатор, у пользователя будет возможность восстановить порядок событий, даже не имея точного времени.

Уважаемый, terminator.

Описанная вами ситуация действительно может иметь место.

Единственно верный способ, который позволит построить все сообщения в хронологическом порядке, это если устройство будет хранить номер уникального сообщения у себя в памяти. Соответственно после перезагрузки трекера, либо отключения батареи этот порядок сообщений не должен сбиваться. На уровне протокола, возможность передачи порядкового номера сообщения уже реализована: Seq — Порядковый номер (циклический 0 — 65535). Зарегистрировать этот параметр на Виалоне не составит труда, вопрос лишь в устройстве.

Любой другой способ нумерации сообщений не будет успешен.

Если устройство будет считать порядковый номер сообщения в рамках сессии, в этом случае мы не застрахованы от перезагрузки устройства. А если считать сообщения только усилиями сервера, то эти данные вообще не будут иметь никакого смысла, т.к неизвестно в каком порядке действительно трекер отправил сообщение.

Best regards,
Evgeny Shatilo
Gurtam HW Developer
11

Wialon Combine

Re: Wialon Combine

Новый протокол бинарный уже поддерживается в предыдущих сборках локальных? С чем связан вопрос - устройство для работы с Wialon, сейчас занимаемся ним, можно ли в устройстве реализовывать один бинарный протокол? Ну, чтобы завтра устройство вышло на связь на сборку например 1401 Pro?

1-wire, RS485 RFID считыватели, идентификация прицепов и водительского персонала. Разработка и производство.
www.montel-rek.com
Документация и ПО считывателей MR-91T
МОНТЕЛ-РЕК Google + , подписываемся Twitter https://twitter.com/Montel_rek_Ltd
12

Wialon Combine

Re: Wialon Combine

Fagot73
Протокол у нас реализован и готов к использованию. Но т.к. реальных устройств до сих пор  никто  еще не  изготовил, полная проверка не проведена, и, следовательно, его нет в списке устройств в Wialon.
Если Вы хотите внедрить протокол в свое устройство,  для тестирования в процессе разработки мы сообщим доступ в специальную учетку.
При появлении  готовых  устройств  -- оборудование сразу станет доступным на хостинг/локал.
Технически на Wialon PRO 1401 новый протокол также может быть доступен. Но т.к. Wialon PRO больше не поддерживается, об условиях предоставления скрипта Вам необходимо связаться с отделом продаж Gurtam (или своим дилером решений Wialon).

Viktor Yarovenko
Hardware department Specialist
13

Wialon Combine

Re: Wialon Combine

yavi
only IPS v2.0 )
спасибо.

1-wire, RS485 RFID считыватели, идентификация прицепов и водительского персонала. Разработка и производство.
www.montel-rek.com
Документация и ПО считывателей MR-91T
МОНТЕЛ-РЕК Google + , подписываемся Twitter https://twitter.com/Montel_rek_Ltd
14

Wialon Combine

(edited by was71 06/04/2016 17:06:40)

Re: Wialon Combine

Возможно ли подключиться к какому то тестовому серверу  Wialon - протестировать протокол ?. Какой тип устройства для данного протокола?

15

Wialon Combine

Re: Wialon Combine

Описание протокола по ссылке не доступно - https://docs.gurtam.net/index.php/s/MYUbNnL497vg0m1

16

Wialon Combine

Re: Wialon Combine

Изменили ссылку в шапке на http://gurtam.com/files/Wialon_Combine_v1.0.3.pdf

Viktor Yarovenko
Hardware department Specialist
17

Wialon Combine

Re: Wialon Combine

Хочу в свое устройство добавить бинарный протокол для Wialon. Куда можно подключиться для тестов?
Текстовый протокол пытался отлаживать на orange - получалось.

18

Wialon Combine

Re: Wialon Combine

alex2103 wrote:

Хочу в свое устройство добавить бинарный протокол для Wialon. Куда можно подключиться для тестов?
Текстовый протокол пытался отлаживать на orange - получалось.

Бинарный протокол интегрирован как Wialon IPS. Новый протокол можно так же тестировать на orange. По любым возникающим в процессе вопросам обращайтесь на hw@gurtam.com.

Вы так же можете направить данные на наш тестовый сервер, с которого мы имеем возможность предоставить исходные данные и оказать помощь в интеграции. Для этого нужно отправить запрос на указанный выше адрес.

Виталий Дмитренко
Gurtam
19

Wialon Combine

Re: Wialon Combine

Здравствуйте, коллеги. В процессе просмотра спецификации на протокол, появился вопрос по расширяемым полям. Указано, что поля могут расширяться с 1 до 2х байт и с 2х до 4х. При этом, указателем на необходимость дочитать нужное количество данных, является старший бит. Но старший бит уже будет выставлен для значений байта, больших 127. В таком случае, как выравнивать биты для значений, не требующих установленного старшего бита?
Возьмем для примера поле Type (расширяемое, 1 - 2 байта).  Допустим мне необходимо записать в него значение 256 (0x100). Как будет выглядеть правильно выравненное значение в бинарном представлении?

20

Wialon Combine

Re: Wialon Combine

armit wrote:

Здравствуйте, коллеги. В процессе просмотра спецификации на протокол, появился вопрос по расширяемым полям. Указано, что поля могут расширяться с 1 до 2х байт и с 2х до 4х. При этом, указателем на необходимость дочитать нужное количество данных, является старший бит. Но старший бит уже будет выставлен для значений байта, больших 127. В таком случае, как выравнивать биты для значений, не требующих установленного старшего бита?
Возьмем для примера поле Type (расширяемое, 1 - 2 байта).  Допустим мне необходимо записать в него значение 256 (0x100). Как будет выглядеть правильно выравненное значение в бинарном представлении?

Добрый день.
Для значений более 127, необходимо использовать 2 байта.
Для Вашего примера необходимо передавать 33024 (0x8100). Мы, в свою очередь, определяем по первому (старшему) байту из потока наличие дополнительного байта. Этот дополнительный байт будет младшим для двухбайтового числа.

Данные необходимо передавать в Big-Endian.

21

Wialon Combine

Re: Wialon Combine

Как правильно передать на сервер накопившиеся данные при отсутствии связи?
Если передавать по одному пакету и ожидать подтверждение его регистрации, то все работает, но получается достаточно долго т.к. по GPRS пакет из 50 байт идет столько же времени что и 500 байт.
Если в одном TCP пакете отослать пачку сообщений, то сервер подтверждает только первое из них. Если отослать еще одну пачку, то подтверждает второе сообщение из первой пачки и т.д.

22

Wialon Combine

Re: Wialon Combine

alex2103 wrote:

Как правильно передать на сервер накопившиеся данные при отсутствии связи?
Если передавать по одному пакету и ожидать подтверждение его регистрации, то все работает, но получается достаточно долго т.к. по GPRS пакет из 50 байт идет столько же времени что и 500 байт.
Если в одном TCP пакете отослать пачку сообщений, то сервер подтверждает только первое из них. Если отослать еще одну пачку, то подтверждает второе сообщение из первой пачки и т.д.

Вы можете передавать несколько сообщений в одном пакете с данными (тип Data). Например:
head type seq len data crc16, где в data может быть несколько сообщений со своими временами и подзаписями.

23

Wialon Combine

(edited by alex2103 07/03/2018 14:13:30)

Re: Wialon Combine

Обычная регулярная передача выглядит так:
head type seq len data crc16 , где в data в минимальном варианте есть время и подзапись POSITION_DATA
seq - инкрементируется при создании каждого нового сообщения. Seq уникальна и сохраняется между сессиями и/или выключениями питания.
Т.е. внутри устройства (да и сервера думаю тоже) уникальный ключ это seq + time.
Если передавать пачку сообщений, то получается последовательность:
head type seq len data_1 data_2 data_3 data_n crc16
Получается к одному seq привязана уже кучка сообщений что противоречит самой задумке уникальной seq.
Или я неправильно понял и надо так:
head type seq_1 len_1 data_1 seq_2 len_2 data_2 seq_n len_n data_n crc16

Я передавал так:
head type seq len data crc16 head type seq1 len1 data1 crc16 head type seq2 len2 data2 crc16

24

Wialon Combine

Re: Wialon Combine

alex2103 wrote:

Обычная регулярная передача выглядит так:
head type seq len data crc16 , где в data в минимальном варианте есть время и подзапись POSITION_DATA
seq - инкрементируется при создании каждого нового сообщения. Seq уникальна и сохраняется между сессиями и/или выключениями питания.
Т.е. внутри устройства (да и сервера думаю тоже) уникальный ключ это seq + time.
Если передавать пачку сообщений, то получается последовательность:
head type seq len data_1 data_2 data_3 data_n crc16
Получается к одному seq привязана уже кучка сообщений что противоречит самой задумке уникальной seq.
Или я неправильно понял и надо так:
head type seq_1 len_1 data_1 seq_2 len_2 data_2 seq_n len_n data_n crc16

Я передавал так:
head type seq len data crc16 head type seq1 len1 data1 crc16 head type seq2 len2 data2 crc16

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

alex2103 wrote:

Если в одном TCP пакете отослать пачку сообщений, то сервер подтверждает только первое из них. Если отослать еще одну пачку, то подтверждает второе сообщение из первой пачки и т.д.

Вы вычитываете из буфера не всю информацию после первой пачки сообщений, а лишь один ответ. После второй пачки - вычитываете второй ответ, остальные в это время накапливаются в буфере.

По протоколу Виалон отвечает на каждый пакет.

25

Wialon Combine

Re: Wialon Combine

Шлем такой вариант как наиболее просто реализуемый:
head type seq len data crc16 head type seq1 len1 data1 crc16 head type seq2 len2 data2 crc16

Чтоб избавится от возможных проблем на моей стороне проверяю уже не устройством, а терминалом на ПК.
Отправляю:

{24}{24}{01}{03}{35}{00}{2B}{5A}{9F}{D1}{28}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4C}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{48}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{4A}{00}{00}{04}{BC}{24}{24}{01}{03}{36}{00}{2B}{5A}{9F}{D1}{46}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4E}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{48}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{49}{00}{00}{28}{09}{24}{24}{01}{03}{37}{00}{2B}{5A}{9F}{D1}{64}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4D}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{47}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{4A}{00}{00}{9F}{FE}{24}{24}{01}{03}{38}{00}{2B}{5A}{9F}{D1}{82}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4E}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{43}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{45}{00}{00}{94}{BE}{24}{24}{01}{03}{39}{00}{34}{5A}{9F}{D1}{88}{02}{04}{03}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{02}{00}{00}{00}{00}{00}{00}{00}{00}{8E}{23}{24}{24}{01}{03}{3A}{00}{34}{5A}{9F}{D2}{AF}{02}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{50}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{45}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{46}{00}{00}{02}{00}{00}{00}{00}{00}{00}{00}{00}{5D}{CD}

Ответ:

{40}{40}{00}{03}{35}

Жду минут 5... Тишина.

Отправляю еще раз:

{24}{24}{01}{03}{35}{00}{2B}{5A}{9F}{D1}{28}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4C}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{48}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{4A}{00}{00}{04}{BC}{24}{24}{01}{03}{36}{00}{2B}{5A}{9F}{D1}{46}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4E}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{48}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{49}{00}{00}{28}{09}{24}{24}{01}{03}{37}{00}{2B}{5A}{9F}{D1}{64}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4D}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{47}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{4A}{00}{00}{9F}{FE}{24}{24}{01}{03}{38}{00}{2B}{5A}{9F}{D1}{82}{01}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{4E}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{43}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{45}{00}{00}{94}{BE}{24}{24}{01}{03}{39}{00}{34}{5A}{9F}{D1}{88}{02}{04}{03}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}{02}{00}{00}{00}{00}{00}{00}{00}{00}{8E}{23}{24}{24}{01}{03}{3A}{00}{34}{5A}{9F}{D2}{AF}{02}{04}{03}{00}{FF}{00}{03}{E6}{78}{46}{AC}{00}{50}{00}{FF}{00}{FF}{00}{03}{E6}{78}{27}{6C}{00}{45}{00}{00}{00}{FF}{00}{03}{E6}{78}{27}{6D}{00}{46}{00}{00}{02}{00}{00}{00}{00}{00}{00}{00}{00}{5D}{CD}

Ответ:

{40}{40}{00}{03}{36}

И тишина...
Если еще раз отправить, то придет {40}{40}{00}{03}{37} и т.д.

Хорошо бы было от сервера обратно получить пачку {40}{40}{00}{03}{35} - {40}{40}{00}{03}{3A}
Проверяю я это все на бесплатном orange. Может в этом проблема?

26

Wialon Combine

(edited by bost 07/03/2018 17:06:55)

Re: Wialon Combine

alex2103 wrote:

Хорошо бы было от сервера обратно получить пачку {40}{40}{00}{03}{35} - {40}{40}{00}{03}{3A}
Проверяю я это все на бесплатном orange. Может в этом проблема?

Напишите нам на hw@gurtam.com. Проработаем этот вопрос более детально.

27

Wialon Combine

Re: Wialon Combine

Здравствуйте. Интересует передача через UDP и более подробное описание поля Login. В пакетах какого типа (Login, Data, Keep-Alive) должно содержаться поле Login? Эквивалентно ли поле Login полю ID пакета типа Login?

28

Wialon Combine

Re: Wialon Combine

_vau_ wrote:

Здравствуйте. Интересует передача через UDP и более подробное описание поля Login. В пакетах какого типа (Login, Data, Keep-Alive) должно содержаться поле Login? Эквивалентно ли поле Login полю ID пакета типа Login?

Здравствуйте.

При использовании UDP у нас нет соединения как такового. Поэтому нет смысла в отдельном пакете Login.
Вместо этого вся информация (Proto ver, flags, ID, pwd) должна содержаться в каждом UDP пакете с данными.

29

Wialon Combine

Re: Wialon Combine

Добрый день, помогите разобраться Wialon Combine, точнее разобрать пакет в формате Wialon Combine.
входной пакет после авторизации устройства:
24240101c700485c0108bc04010295a6ec07e124100000004000230e00460200000000000000000902016000026000000801020010004002000a03000408612f6009610ffc100103e41104f11204aef6ec

я разбираю так:
0048  5c0108bc  04       01   0295a6ec 07e12410 0000 0040   0023  0e  0046     02 00000000 00000000    09  02       01   60   00026000000801 02
   len     time      count    №         lat          lon          sp      cour   high    st  hdop      №    in                out          №  count  №  type

0010004002000a03000408612f6009610ffc100103e41104f11204aef6ec

Вопрос собственно на 09 типе поля получается 2 параметра ADC, далее type 60 это 96 в десятичной или 01100000, в документации не написано но я так понимаю используем обратный порядок бит  (00000110 для простоты понимания) т.е. для полей >= 8  первых 3 бита 000, всё точно, далее 00110 это тип 6 т.е длина искомого поля будет singned int (4 байта). Пытаюсь применить полученные данные к выше указанному пакету и как то не складывается "2+2". Подскажите на каком этапе допускаю логическую ошибку.

30

Wialon Combine

Re: Wialon Combine

Ещё актуально!!!

31

Wialon Combine

Re: Wialon Combine

Здравствуйте,

Ошбка заключается в том, что порядок бит всегда прямой.

0x60=0b01100000, где 011 - степень, 00000 - тип

В Вашем примере тип датчика равен 0 (unsigned byte), но значение должно быть разделено на 10^3 (011)

32

Wialon Combine

Re: Wialon Combine

Здравствуйте!
Подскажите пожалуйста, есть ли возможность отправки файлов на устройство. Например для перепрошивки? Или для таких задач необходимо использовать Wialon IPS?

33

Wialon Combine

Re: Wialon Combine

GrixaYrev wrote:

Здравствуйте!
Подскажите пожалуйста, есть ли возможность отправки файлов на устройство. Например для перепрошивки? Или для таких задач необходимо использовать Wialon IPS?

Добрый день.

В протоколе заложена возможность расширения команд (в том числе и команд с файлами прошивки и конфигурации), но на данный момент это не описано. Если у Вас есть такая необходимость, то вы можете написать на hw@gurtam.com, и мы расширим протокол необходимыми командами и выпустим новую версию.

Виталий Дмитренко
Gurtam