I am working on a Vehicle tracking commercial application. We need to find an efficient way to publish location updates that does not consume too much data and battery. We initially experimented with fixed time interval updates but these turned out to be very data hungry. We now have moved to distance based updates, so electron publishes a location update every 200 meters or so. However, we still think it can be improved. We are now thinking about publishing updates whenever vehicle takes a turn, this way we can accurately trace complete route and updates would be minimal.
We planned to send a location update whenever vehicle turned more than 15 degrees in any direction. To implement this I calculate direction/unit vectors using readX(), readY() and readZ() and then take arcCosine of the dot product of previous and current direction vectors and in the end convert the result from radians to degrees. However, I am not getting consistent readings and I sometimes see huge jumps even when the device is sitting still on my desk. Can anyone suggest a better and reliable way to do this? @rickkas7 or @Dave
I would like to ask if the accelerometer embedded in Asset Tracker Shield is capable enough to be used for this purpose? Can we expect to get proper libraries for the Shield to use it in commercial projects? To be honest, the AssetTracker library is very useful but it still seems like it is good enough for hobbyist projects. Here are some really serious issues with the lib
there is no GPS coords filtering and we often get jumpy readings that disrupt the route trace by adding 1000s of miles to it only because there was one very off coordinate pair reported by the device.
Accelerometer, the readings are never stable, data has lot of noise in it.
gpsFix() return true but coords are way off and sometimes even 0.
GPS based speed values do not make any sense
There is a function in the library header named ‘getOrientation()’ with no implementation. I noticed the same in the original library from Ada Fruit for LIS3DH. So I think Asset Tracker Library is just a direct port of different sensor libraries that were written for individual sensors without any focus on making it a proper solution to support vehicle/asset tracking applications as a whole like the product name says. Asset Tracker shield is as good as the software that powers it. If the software is not stable enough to be used commercially then I don’t see much value in the product. Many off the shelf Tracking devices offer location updates by time, distance and orientation change. Some of these devices are almost 10 years old. I am pretty sure Asset Tracker Shield can do much better than these if only its library is good enough.
Are there any plans to release a more stable and better update to the library? Is something in works at Particle for it?
What I am going to do now is to add some filtering to GPS and accel data and see if I can use it reliably. I will report my findings here soon. At the moment I don’t have any idea how I would do that so any pointers would be much appreciated. Thanks