I made a small, open source, github.io hosted, HTML5 application that shows you in real-time where a GPS tracker is located relative to your location. This is useful if you are outside with your phone and there is a LoRa tracker somewhere nearby (your kid, dog, car, bike, etc) and you want the app to take you to the target.
The information about the tracker is pulled from TTN through the Storage integration.
This is just an early release so some things might not work correctly. I am looking to get feedback and to see if this is useful to anybody besides myself.
Other clients I tried to use for this purpose only show the absolute position of the target and donāt respond quickly enough in real-time.
Usage instructions:
You need to have a working LoRa tracker (such as LGT-92) that reports to a TTN application.
You need to have Latitude and Longitude information in the payload.
You need to enable āData Storageā integration for the application.
Next go to https://ayavilevich.github.io/TTN-tracker-locator/
In āsettingsā, provide the relevant TTN application id, TTN device id and a TTN access token.
Best practice would be to create a dedicated access token for this use. The settings are stored locally in the browser. This app has no back-end of its own.
Adjust other optional properties in āsettingsā, save and reload data in the main screen.
If everything is working you would get the recent path of the tracker relative to your position and orientation. If something doesnāt work, troubleshoot in the ādataā screen or using TTN console. If you want to report an issue please do so in the repository.
Very coolā¦ I already export the data to my own mysql so looked at your ācustomā option where you add a URL, but I couldnāt find documentation on how to use this, i.e. what format for the custom url
Regarding the custom data source option, you can use any url. There is no specific format for the url. The format of the data needs to be the same as the format of the TTN Storage Integration, just a JSON array where each item of the array is the payload. Simple.
One last thing to note, you need to have cross origin access between the domain of the data source and the domain with the UI. If you are not familiar with CORS and CORS headers you might want to learn more about that, use a CORS proxy or ask me about your specific setup. In any case, use the ānetworkā tab in the ādeveloper toolsā of the browser to troubleshoot data retrieval.
Are you asking for an embedded LoRaWAN engineer that also does web development who can do the search for you and copy & paste the results for you? May be a long wait!
Iām not being aggressive - Iām in deep despair - surely you could have Googled āCORSā in the time it took you to type āI donāt understand what the CORS error meansā.
Itās all volunteers here so best to use the free resource in the most effective way possible - asking what something is that is easily searchable is not that.
But as it appears to be an error in Chrome, you really are looking for a web person.
Or wait for @ayavilevich to come back online - if you look at his profile youāll see that he hasnāt been on the forum since Jan 2021.
There was no evidence of you Googling - it just looked like you wanted someone else to figure it out.
Now we know that you donāt understand CORS, which is a mess and rather specific to browser comms so not expected to be part of the embedded engineers range, Iām sure someone will be inclined to help.
So, just the two lots of bad news for the public one on GitHub:
The CORS proxy that was setup isnāt running anymore - this takes the request from your browser and makes it look like it came from an authorised source due to the way that browsers & web servers work - it stops people freeloading off a web server when they are using another site - the request has to come from a browser that got the script from the original web server - but this can be bypassed with a proxy.
Despite being released at the time of v3, the public one is trying to use TTN v2.
Iāll figure out the logistics of uploading my version for Git hosting.