Wi-Fi attendance and LBS with Topin protocol (zx303 device)

germano3 years ago

Hi all!
I'm struggling to understand if the Wi-Fi attendance function of the Topin protocol is already implemented in Traccar.
The device use GPS, LBS and Wi-Fi to calculate the position of the device.
I understand that if GPS in offline, the device check for cells or SSID in the neighbourhood.

I haven't find a function in Traccar to set the SSID. I read the official documentation and found the functions 0x69 and 0x72 and I ask to you if i have to configure a personalized command to upload the SSID on Traccar.

For LBS I configured OpenCellID with my Token and, as I understand, Traccar Client use that function in case of GPS offline (by drawing a blue circle around the device) but with topin I don't see those circles.

Can you help me? I can give more informations if needed!
Thank you a lot

Anton Tananaev3 years ago

Do you have protocol documentation or some samples?

germano3 years ago

Thank you for the fast reply Anton!

Surely, I uploaded the doc on OneDrive:
OneDrive share

This document has been updated by the vendor with yellow-highlighted paragraph.
Maybe It can be usefull for some implementations!

Anton Tananaev3 years ago

I believe it's already supported.

germano3 years ago

Ok thank you Anton. If I understand the lat/lon values will be passed to the server automatically when LBS is configured. Am I right? I will check the logs with GPS turned off.

Anton Tananaev3 years ago

Yes.

germano3 years ago

Hi Anton
After a few tries it seems that the server doesn't receive any information for LBS geolocation.
When my devices (2x topin, 3x osmand) doesn't have GPS coverage they retain the coordinates of the last point and freeze.
Apparently 2x osmand have sent LBS location because of a light blue circle appear around the icons, but i found no difference between the 3 devices (same config, server and version).

On my OpenCellID's dashboard there are 0 requests for the API.

My traccar.xml contains:

    <entry key='geolocation.enable'>true</entry>
    <entry key='geolocation.type'>opencellid</entry>
    <entry key='geolocation.key'>MY API TOKEN</entry>
    <entry key='geolocation.processinvalidPositions'>true</entry>
    <entry key='geolocation.mcc'>222</entry>
    <entry key='geolocation.mnc'>10</entry>

My only doubt is on MCC and MNC because I'm using a SIM in roaming (the SIM is on O2 network and I'm in Italy with Vodafone, TIM, WIND carriers).

Precision in web interface is always set to 0, looking in the REPORTS tab.

Anton Tananaev3 years ago

This is incorrect:

<entry key='geolocation.processinvalidPositions'>true</entry>

It should be:

<entry key='geolocation.processInvalidPositions'>true</entry>
Anton Tananaev3 years ago

Also check the actual decoded data to see if you get the network data.