After watching the keynote by @jpmeijers during the TTN Conference, I started playing with the new TTN Mapper integration for TTN nodes.
I started with the setup that I used a while back using a LoPy with an external GPS receiver. I had to update the code (will update the github code today) so that not just the longitude and latitude but also the elevation and the HDOP are being transmitted and turned into the appropriate JSON object by the payload format function.
After that, it was just a matter of adding the integration (it just needed my mail address) and the tracker was displayed on the map:
That was last night, so I haven’t taken the node out for a ride yet, but I thought I’d post some first questions / remarks here both for @jpmeijers and the team at TTN to get things going.
First of all: Nice work! This makes mapping easier if you just want to take along a single node to do the mapping without the additional need of a smartphone, running an app, using GPS and a data connection. If you’re on the road in a car a lot, you could simply take the node with you every day and forget about it.
Flooding risk of servers?
The automatic nature of it also worried me a bit. I’m still optimizing my own code to only send valid data, so for example not when the GPS doesn’t have a fix yet (the external GPS takes a lot longer than my smartphone to get a fix), but this node will send data to the TTN mapper service whenever it has power, it is less of a deliberate action then with the app. I hope the TTN mapper servers can handle that.
Interval of measurements
I didn’t really know what is considered a advised interval for measurements. The TTN network has FUP policies, not enforced at the moment and with allowance for higher use during tests/experiments, but is a fixed TTN Mapper node in a car still an experiment?
One thing that I do like about the smartphone app approach is that you get instant feedback. Many of us have probably been walking around the sound switched on and can remember the thrill of hearing the sound of a package being received and mapped. (or am I just the only one?)
With this direct integration, I no longer get that instant feedback and distance measurement.
I know I could create my own MQTT integration, could probably figure out the distance measurements also, but that would mean a lot of individual work. Maybe (just thinking out loud) the app could have a feature where I subscribe to a node just like now, but in a purely “listening” mode, where I get the feedback without the GPS of my smartphone being used?
I think the integration could do with an “enable/disable” option in the console allowing someone to switch it off temporarily during testing without having tot remove the integration completely. I know the setup is quick and easy (just add mail address), but deleting feels much more final then disabling it.
How to choose a different FPORT?
I haven’t been able to figure out how to set the FPORT in microPython yet, being able to filter out which packages get sent to TTN Mapper would enable me to use the node for more than just mapping while sending only the mapping data. Maybe @jmarcelino knows?
I’m using microPython and an external GPS on the LoPy, I’ll document the setup once I’m sort of sure I haven’t done really stupid things. I’d be interested to hear/read about other implementations. I might be useful to get some sort of default code base in particular with regard to filtering out bad data before it is being sent to the TTN mapper servers.