Is my Asset Tracker stuck in a Penalty Box loop?

Hi everyone! I decided to try a fun experiment yesterday, I have a Notecarrier-B with a Global Notecard attached, I’m powering the device with a 20Ah Tadiran Battery, yesterday afternoon I packed the device carefully and attached an external Antenna for both LTE and GPS and shipped the package off to Cairo, Egypt. I requested the tracker to fetch GPS every hour when motion is detected, but as a contingency I also requested a HeartBeat every hour just so I can have peace of mind and see the health/connection status of the tracker on its journey.

Everything was going well in the beginning, I saw (as expected) Canada Post pick up the tracker in the afternoon, then I saw the tracker make its way to a secondary Canada Post location, then to a third location, this was all in a span of about 4 hours and I was receiving regular updates as per my configuration requests, the tracker is making its way to Egypt by Boat so I anticipated several days of travel through Canada before it reaches the Port.

Around 8pm yesterday, so a few hours after Canada Post picked up the package, I found myself in an endless loop of “No-Sat”, Heartbeat request was also failing to come through for a while, but for the last 20 hours I have been receiving regular HeartBeat updates so I know the tracker is alive and well, I am routing everything to DataCake and unfortunately the tracker is showing the same location since it went “offline”, there is no GPS but I can see it is pinging towers in Montreal which is about 4 hours away from me, I have no idea if the tracker is in a penalty box loop or if it is something else I am just missing altogether. Any insight would be greatly appreciated! Here is how I configured by Tracker on the CLI:

{"req":"hub.set","product":"My Tracker ID","mode":"periodic","outbound":60,"inbound":720}

{}
> {"req":"card.location.mode","mode":"periodic","seconds":3600}
{
 "seconds": 3600,
 "mode": "periodic"
}
> {"req":"card.location.track","start":true,"heartbeat":true,"hours":1}
{
 "start": true,
 "minutes": 60,
 "heartbeat": true

Edit: Latest track.qo received just a few minutes ago:
{“status”:“heartbeat”,“temperature”:21.6875,“voltage”:3.7402344}

So I know the device is alive and well, but I’m not sure why I cant see its location, it should be on the road for a few days with some sort of successful GPS fetch, the only way I can determine that it is moving is by seeing the tower pings grow in distance from original location, so I am certain its moving!

I have attached a screenshot from the last successful updates around 1:27 pm to 5:30pm yesterday, followed by events I do not recognize besides the heartbeats :disappointed_relieved:

Oops :woozy_face: I think I know what the problem is based on some feedback RobLauer provided to another user, it appears my issue may be caused by cellular radio and GPS battling each other for supremacy. My outbound parameter in hub.set is 60 minutes, while the seconds param of card.location.mode is also 60 minutes (3600 seconds). Since cellular and GPS cannot be active at the same time, this could likely be the cause of the conflict, but I am still unsure, just brainstorming, if at the end of the day this is indeed the issue I would be relieved to know that it is simply just a matter of changing some parameters so there are no conflicting requests down the road with future devices I deploy for actual asset tracking purposes, if anyone can take a closer look I would be extremely grateful!

Hi @mikhail5522,

Based on your screenshot of events in Notehub, I think everything is working as planned. However, notice the no-sat statuses in your recent _track.qo Notes - this tells me that the Notecard’s GPS is unable to make a satellite fix. Even with an external antenna (relative to the package), if the package itself is inside a truck/container/whatever it’s going to struggle to get a reliable GPS fix.

FYI, in the future, I would recommend a heartbeat that is greater than the cadence with which you create tracking Notes.

I realize this doesn’t “solve” the problem, but using JSONata you can route the cell tower location in case a GPS fix cannot be established. That’s actually the specific sample code that we offer in our JSONata docs: Using JSONata to Transform JSON - Blues Wireless Developers This way your Datacake dashboard still reflects an approximate location. Hope this helps!

Rob

Thank you @RobLauer coincidentally just after your last response I received some updates with motion detection, no GPS fix just yet but that is okay, they’ll show up soon, appreciate your feedback and help with this I will give the JSONata option a go as well!

@mikhail5522 my 2 cents is that if you expect to be out of range for extended periods of time, like outside of cellular service, it is best to set the heartbeat and GPS with a long interval and reduce the sensitivity of the motion detector. Too frequent and you may pile too many notes in the smallish card buffer that cannot get out while in the penalty box. Please keep posting the results,
Thank you for sharing, your use case is common, I am curious to know how your test survives the boat trip within a transatlantic ship container.

@Francois thank you for your input and feedback! Very much appreciated. The tracker is sending back messages that there is motion the last few days so I’m hoping when it has a chance to connect I can see all the juicy data, it’s going strong and reporting on time with no issues, cellular pings show if travelling through Canada so I’m very excited to see what this week brings, Egypt is not covered by the GB Notecard but that’s okay, I’m looking forward to seeing data while the tracker is en route in any case!