TomD
Well-Known Member
Figured out how to get the tracker working with ruhavik (gps-trace), a free third party tracking platform offered by Gurtam. Even better I was able to leverage one of Gurtam's other free platforms (flespi) to act as a proxy server so I can send data from the tracker to multiple servers at the same time. This is awesome as it means you don't have to choose between ruhavik or the native app, you can use both at the same time, gettting the best of both worlds!
Steps:
Sign up for a free ruhavik account
- add your tracker to ruhavik (note: free accounts are limited to 1 tracker)
- it will give you the tcp link to the ruhavik server to point your tracker to
Sign up for a free flespi account
- add a proxy channel with two proxy targets
- for the first target enter the link to the ruhavik server (you may need to add a tcp:// prefix to it) and click the options "mandatory target" and "proxy replies back"
- for the second target enter the link to native server (for eelink this is: tcp://hkgps.sky200.com:32001) and click the options "mandatory target" and "proxy replies back"
- after you add the channel it will give you the link to the flespi proxy server to point your tracker to that will look something like this:
12345678.flespi.gw:9876
Configure your eelink tracker via SMS to point to flespi's proxy server instead of the native server
- to do this for eelink you text the following command via SMS to the tracker (modify with the actual link provided by flespi)
SERVER,"tcp://12345678.flespi.gw:9876"#
That's it!
Optional (for advanced users only): You can view / modify the data in flespi before sending to ruhavik. To do this you would add your tracker to flespi instead of ruhavik, create a channel in flespi for the tracker, get the link for this channel, set the first proxy target to this link (instead of ruhavik), create a plugn to modify the tracker data (see example below), then stream the modified data to ruhavik using the flespi-to-ruhavik option:
In the plugin example below I filter out non-critical data to allow more tracking history in ruhavik (it only retains 10MB per device) and modify alarm events so they trigger push notifications in the free version of ruhavaik. I also calculate battery % for the hardwired ebike battery so it can be monitored in ruhavik.
Migration between GPS tracking systems with zero data loss
Fork raw telematics data from trackers to up to three platforms, store messages, and easily debug connection issues.
flespi.com
<>native tracker server | ||
tracker <> | flespi proxy server | <>ruhavik server |
<>or another third party server |
Steps:
Sign up for a free ruhavik account
- add your tracker to ruhavik (note: free accounts are limited to 1 tracker)
- it will give you the tcp link to the ruhavik server to point your tracker to
Sign up for a free flespi account
- add a proxy channel with two proxy targets
- for the first target enter the link to the ruhavik server (you may need to add a tcp:// prefix to it) and click the options "mandatory target" and "proxy replies back"
- for the second target enter the link to native server (for eelink this is: tcp://hkgps.sky200.com:32001) and click the options "mandatory target" and "proxy replies back"
- after you add the channel it will give you the link to the flespi proxy server to point your tracker to that will look something like this:
12345678.flespi.gw:9876
Configure your eelink tracker via SMS to point to flespi's proxy server instead of the native server
- to do this for eelink you text the following command via SMS to the tracker (modify with the actual link provided by flespi)
SERVER,"tcp://12345678.flespi.gw:9876"#
That's it!
Optional (for advanced users only): You can view / modify the data in flespi before sending to ruhavik. To do this you would add your tracker to flespi instead of ruhavik, create a channel in flespi for the tracker, get the link for this channel, set the first proxy target to this link (instead of ruhavik), create a plugn to modify the tracker data (see example below), then stream the modified data to ruhavik using the flespi-to-ruhavik option:
How to stream IoT & telematics data to Ruhavik?
Sending telemetry data from flespi to the Ruhavik tracking system.
flespi.com
In the plugin example below I filter out non-critical data to allow more tracking history in ruhavik (it only retains 10MB per device) and modify alarm events so they trigger push notifications in the free version of ruhavaik. I also calculate battery % for the hardwired ebike battery so it can be monitored in ruhavik.
Code:
// code for flespi msg-pvm-code plugin
// unset parameters that don't contain useful information
unset .ain.2
unset .battery.voltage
unset .carbon.dioxide.ppm
unset .device.temperature
unset .din
unset .engine.ignition.status
unset .event.enum
unset .gnss.status
unset .gsm.cellid
unset .gsm.lac
unset .gsm.mcc
unset .gsm.mnc
unset .gsm.signal.dbm
unset .obd.connected.status
unset .sensor.humidity
unset .sensor.illuminance
unset .sensor.temperature
unset .steps.count
unset .vehicle.mileage
unset .walk.time
// uneset engine.blocked.status (unless true)
if .engine.blocked.status != true:
unset .engine.blocked.status
// movement.event (mottion per vibration sensor) doesn't
// trigger an alarm notification in ruhavik so set a towing
// event instead and enable towing notifications in ruhavik
if is_set .movement.event:
false ==> #engine.ignition.status
true ==> #towing.event
unset .movement.event
// convert ain.1 to battery.voltage and battery.level
if is_set .ain.1:
.ain.1 * 10 ==> #battery.voltage
unset .ain.1
48 ==> $x // nominal voltage of pack (36, 48, 52, etc.)
$x / 3.7 ==> math.round ==> $x // cells in series
.battery.voltage / $x ==> $x // voltage per cell
// % = sum(voltage to 3v cutoff) / sum(4.2v max charge to 3v cutoff) * 100
($x - 3) * ($x + 3) / (4.2 - 3) / (4.2 + 3) * 100 ==> math.round ==> #battery.level
// if charging, set negative at 80% charge to trigger ruhavik notification
if !is_set .position.speed || .position.speed == 0:
if .battery.level == 80:
-.battery.level ==> #battery.level
Last edited: