New comer in the Sigfox ecosystem : the Wisol FM20R1.
Wisol have already changed the Sigfox module world by providing a solution based on the OnSemi design for transmitting on Sigfox network for about 2$. Now they are back with a full SoC solution for a really competitive price estimated under 15$. This solution is providing SigFox, GPS, Wifi, NFC, RF and includes an accelerometer.
I’m using different GPS antennas with different price, size and gain and I had never compared the result in a real live test. So now it is done and the result are good to share.
My test condition are quite bad and we can’t really consider this as a scientific bench but, experimentally it sounds like a real life test.
So the test is to connect an antenna to a TD1204 with a GPS code on it and test the time it makes to fix the position and get some note about signal level, satellites in view… I used in fact 2 TD1204 : one with a reference antenna to ensure we have equivalent condition from one test to the others. The tests are made indoor where the sensitivity is an important factor. This post detail the results.
Todays work was to make a simple GPS tracker communicating over LoRaWAN to check the coverage of my LoRaWan gateway in the city. Basically this tracker reports a position per minute to the network. If coverage is good, position will be recorded in the backend. That’s all !
This post details how to do it easily with the low cost and common components : Arduino for the master, Microchip RN2483 for LoRaWan communication and L80 for GPS positioning.
The TD1204 modem firmware is a easy to use solution for sending message to Sigfox network. It starts to be complex when you want to create your own message including the GPS position. The standard firmware returns the satellite NMEA frames in text mode and you have to process it.
To make it simple I built a modification of the standard modem firmware to add an extra command to enrich a message with a GPS coordinate automatically.
The Telecom Design SDK contains a function to encode GPS coordinates : TD_SENSOR_EncodePositionXY this function from the SDK allow to choose the size of the GPS encoded data and to reduce it. This post explains how this function works and gives a php implementation to decode it.
When you start developing a GPS solution, you have to deal with energy and for this you have to create a strategy based on what you expect and the size of your battery.
Basically, a GPS is consuming about 25mA when running. An active antenna will consume about 10mA more. The first time you start it, it have to sync with the satellites, get the ephemeris then you can position in 2D then in 3D.