AssetTrackerRK 0.3.1 with AssistNow support

The AssetTrackerRK library now supports u-blox AssistNow! Most u-blox models including the MAX-M8 used on the AssetTracker V2 can greatly speed the time to first fix by using almanac, ephemeris, and location hinting data downloaded over the Internet instead of waiting for it to arrive by satellite.

Using my GPS indoors with some window view I can eventually get a GPS fix in about 215 seconds.

Using AssistNow, I can connect to cellular, get geolocation information from the Google Maps integration, get elevation information from the Google Elevation API, download the aiding data from the u-blox web site, upload it to the GPS, and get a GPS fix in 20 seconds!

The actual time to fix is only a few seconds after the aiding data is uploaded, but getting to the point where you can get the data takes some time since most likely if you cold start the GPS you’re also cold starting the cellular modem as well and that needs to have a connection to get geolocation information. The data usage is about 2.7 Kbytes per locate and download.

Works on Gen 2 and Gen 3 devices, including the Argon using Wi-Fi geolocation hinting. Works with u-blox GPS modules connected by serial or I2C as well. This includes the Particle AssetTracker V2, but does not include GlobalTop PA6H models like the AssetTracker V1 or Adafruit Ultimate GPS.

6 Likes

@rickkas7, I updated the DeviceOS on an Electron U260 to v1.5.0-rc.1. I then flashed the 11-assistnow.ino example to the device using v1.5.0-rc.1 as the target OS. The device goes into Hard Fault immediately. If I then flash the same code but compiled to v1.4.4, the code runs fine. I repeated this again to be sure and I get the same results. Any thoughts?

1 Like

@rickkas7, with the working AssistNow example (compiled to v1.4.4), I can see the ublox data getting pulled successfully but then there is no subsequent positional lock. It is quite overcast but it should be locking IMO. Any thoughts?

scanData={"c":{"o":"CAN Rogers Wireless Inc.","a":[{"i":3554938,"l":59050,"c":302,"n":720}]}}
0000007796 [comm.protocol] INFO: Posting 'A' describe message
0000007940 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000007940 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 3
0000007942 [comm.protocol] INFO: rcv'd message type=1
0000008076 [comm.protocol] INFO: message id 309 complete with code 0.00
0000008076 [comm.protocol] INFO: rcv'd message type=13
0000008323 [comm.protocol] INFO: message id 310 complete with code 0.00
0000008323 [comm.protocol] INFO: rcv'd message type=13
0000008623 [comm.protocol] INFO: rcv'd message type=8
0000008624 [app.ublox] INFO: requesting elevation for {"lat":45.457466, "lng":-75.481171}
0000009035 [comm.protocol] INFO: message id 311 complete with code 0.00
0000009035 [comm.protocol] INFO: rcv'd message type=13
0000009441 [comm.protocol] INFO: rcv'd message type=8
0000009441 [app.ublox] INFO: elevation=88.999916
0000010231 [app.ublox] INFO: connected to online-live1.services.u-blox.com
0000010396 [app] INFO: no location satellites:0
0000014485 [app.ublox] INFO: Done sending aiding data to GPS!
0000015396 [app] INFO: no location satellites:0
0000020396 [app] INFO: no location satellites:0
0000025396 [app] INFO: no location satellites:0
0000030396 [app] INFO: no location satellites:0
0000035396 [app] INFO: no location satellites:0

Just referencing the v1.5.0-rc.1 compile target with DeviceOS v1.5.0-rc.1 issue here for completeness (which @peekay123 has already posted to) :

I released version 0.3.2 of AssetTrackerRK that fixes the SOS+1 at startup with Device OS 1.5.0.

It contains LIS3DH 0.2.5 which actually has the fix; the problem was the SPI.begin() should not be called from a global object constructor. It also uses SPI transactions for compatibility with the Ethernet FeatherWing.

1 Like

@rickkas7, not sure if it has anything to do with v1.5.0-rc.1 but when I swtiched to an external antenna on the AssetTracker v2 board with your latest AssetTrackRK library, the board now gets a positional lock. The onboard active antenna doesn’t seem to be doing its job well. I recall an issue with having a USB cable connected affecting the reception with the onboard antenna.

I can’t get a fix at my desk with the built-in antenna either, even with AssistNow. The USB cable certainly doesn’t help.

But even if I don’t put the external antenna right on the window sill, it works quite well, especially with AssistNow.

@rickkas7, that’s what I was expecting. I have it sitting on my window sill and have another Ublox M8 module with no active antenna working fine next to it so not sure why it’s problematic, especially with AssistNow.