Вот тут можно найти протокол который у нас реализован:
Я кажется догадываюсь в чем дело, в 2.0 добавили чексуммы, в частности в пакет из черного ящика http://extapi.wialon.com/hw/cfg/Wialon%20IPS_v_2_0.pdf
Пример:
#B#date;time;lat1;lat2;lon1;lon2;speed;course;height;sats|
date;time;lat1;lat2;lon1;lon2;speed;course;height;sats|
date;time;lat1;lat2;lon1;lon2;speed;course;height;sats|crc16\r\n
В ответ на пакет из чёрного ящика сервер посылает команду
AB, где указывается количество зафиксированных сообщений:
Пример:
#AB#3\r\n
#AB#0\r\n
Из-за crc16 у нас считается на одну позицию больше https://github.com/tananaev/traccar/blob/master/src/org/traccar/protocol/WialonProtocolDecoder.java#L174
Можно например messages.length
заменить на positions.length
. Но конечно бы на реальных данных проверить.
Добрый день! В новой версии платформы с индексом 4.8 сильно изменился данный протокол. А можно-ли использовать старый декодер Wialon IPS версии 4.0 или так просто не получится?
Что изменилось?
Для примера 4.8:
// heartbeat
break;
case "D":
case "SD":
Position position = decodePosition(
channel, remoteAddress, id, data);
if (position != null) {
sendResponse(channel, remoteAddress, type, 1);
return position;
}
а вот тот участок, который для моего трекера был очень важен в старой версии, т.к. он ждет AD:
// heartbeat
} else if (sentence.startsWith("#SD#") || sentence.startsWith("#D#")) {
Position position = decodePosition(
channel, remoteAddress, sentence.substring(sentence.indexOf('#', 1) + 1));
if (position != null) {
sendResponse(channel, remoteAddress, "#AD#", 1);
return position;
} else {
sendResponse(channel, "#AD#", 0);
}
Можно-ли использовать старый файл декодера Wialon IPS?
Добрый день! Компания Гуртам с 2017 года реализовала альтернативу старому универсальным протоколу wialon ips, сейчас используется бинарный wialon combine. Утверждается что трафик снижается вдвое. Есть ли возможность добавить его в ядро traccar?
https://gurtam.com/ru/blog/binarnaa-versia-wialon-ips
Добавить возможно если кто-нибудь проспонсирует или пришлет pull request.
Wialon Combine
https://extapi.wialon.com/hw/cfg/Wialon%20Combine_v1.0.4.pdf
На сайте в документации - https://wialon.com/en/gps-hardware/soft/wialon-combine
Документ вложен как на русском так и на английском
Русский - https://wialon.com/hw/files/Wialon%20Combine_v1.1.6%20%28RU%29.pdf
Английский - https://wialon.com/hw/files/Wialon%20Combine_v1.1.6%20%28EN%29.pdf
У меня устройство поддерживает:
Wialon IPS v.1.1
Wialon IPS v.2.0
Wialon Combine (не подключается, в логах сервера 6.2, ничего нет)
EGTS (не подключается, в логах сервера 6.2, ничего нет)
Если в логах ничего нету, то это не проблема с протоколом. Это проблема с устройством.
Тогда странно.
По протоколу Wialon IPS v.1.1, Wialon IPS v.2.0 есть слежения, по другим нет.
Еще проверю но другом девайсе.
Добрый день! Подскажите, пожалуйста, какая версия протокола Wialon IPS используется платформой Traccar? Wialon IPS v.1.1. или Wialon IPS v.2.0.?
К чему вопрос, есть трекер, производитель которого не открывает протокол, но как альтернативу можно использовать универсальный протокол Wialon. Но на этапе тестирования возникла проблема:
трекер работает некоторое время и нормально общается с сервером, но после паузы, допустим, перезагрузки компьютера, на котором установлен Traccar, трекер стоит на месте, в лог файле видно, что он отправляет одни и те же данные положения и времени. В окне состояния на web интерфейсе тоже видно, что приходят сообщения, но дата последнего не меняется и положение на карте тоже. Помогает временная переброска трекера на wialon, там он выгружает данные из памяти с реальным положением на карте и временем, потом снова настраиваем его на Traccar и он продолжает работать нормально, но до паузы в связи между трекером и сервером Traccar. Производитель оборудования утверждает, что проблема может быть связана с тем, что трекер не получает от сервера подтверждение о получении пакета. Манипуляции с перебросом на Виалон запускают передачу. Подскажите, пожалуйста, как по вашему мнению диагностировать данную проблему?
Заранее благодарю за ответ!
/Михаил/