Хорошо. Не хотел выносить сюда подробности, которые не интересны и не важны тем, кто просто купил трекер и подключил к Виалону или еще куда.
Четвертая версия использует пакет бинарных данных типа "0x004C - универсальный пакет GPS-Lite3", который не встречался в третьей версии трекеров. Наш сервер не знал про эти пакеты. Мы реализовали далеко не весь протокол, а только то, что было необходимо в нашем случае. Я добавил парсер этого пакета. Но это было не очень принципиально, потому что координаты передаются в заголовке, который одинаковый для всех. Незнакомый индекс пакета в заголовке приводил к ошибке, хотя в самом пакете нет ценной информации (для нас).
Подтверждение получение у нас осуществлялось простой отправкой трекеру его же пакета. Это не противоречит протоколу, где написано "В ответ сервер должен прислать трекеру пакет такой же структуры и произвольным содержимом". На практике Виалон подтверждает получение только заголовком БЕЗ содержимого. Вот тут и была самая большая проблема. У короткого подтвержения значительно больше шансов благополучно вернуться к трекеру. Я не хочу сейчас утверждать, что четверки хуже ловят сотовую связь, но могу на фактах доказать, что сокращение размера подтверждения в разы повысило количество фактов удачных подтверждений. У нас больше тысячи трекеров 2 и 3 версии и только два десятка 4. Я не мог проверить все 2 и 3. Возможно что среди них есть такие, кто имеет проблемы со связью, но все-таки работает. Чтобы точно что-то утверждать надо поставить два разных трекера на одну машину. Занявшись подробным анализом я становил, что третьи версии тоже не всегда удачно принимают подтверждения. Тут вполне может влиять на результат качество самой сотовой связи.
Логика работы трекера такова, что если он не смог послать координаты, то в следующем сеансе он повторит неудачные и добавит новые, актуальные. В одном пакете может быть до 50 координат. Поэтому даже если трекер не получил подтверждение, а реально все отправил, то сервер просто игнорирует повторы и добавляет в базу свежие координаты. За 50 попыток трекер хоть раз точно получит подтверждение, и в итоге внешне все будет хорошо. На сервере всегда актуальные координаты. Фактов, когда сервер не смог принять пакет почти нет. Проблема только с подтверждением.
По сатлайт2 я вижу в логах небольшое количество нераспарсенных пакетов. При этом эти пакеты выглядят вполне прилично. Вот например: "$AV,V7SD,210313,55376,210118,4510.1551N,03819.2102E,0.00,174.80,020418,1,1,1,-1,-1,-1,-1,315090,*59" Все данные на месте. Я не знаю где тут ошибка (не занимался анализом), но и не хочу искать. Трекер просто повторяет пакет и все приходит хорошо.
Ну и конкретно в моем случае подвели установщики, которые включили несколько трекеров без установки, не ожидая, что я их тоже буду получать. Поэтому было две категории ошибок те, про которые я написал, и совсем странные, которые даже спутники не ловили. Я полагал, что у них одно происхождение и пытался как-то решить. Но все оказалось проще.
Таким образом, с точки зрения получения услуги, проблем нет никаких. А все озвученные проблемы могут быть интересны только тому, кто сам принимает данные с трекеров.