3 August, 2023

Registering telemetry data received by the Iridium device

How to aggregate data from an Iridium satellite device and a cellular GPS tracker with flespi.

You may already be aware that we’ve recently integrated the support for Iridium devices into the flespi platform. What it means is that now it is possible to transfer the telemetry data from a usual GPS tracker via the Iridium satellite communication network. 

In essence, the Iridium device in this case acts primarily as a modem for satellite connectivity and can be connected to any GPS tracker with an RS232 port. In such case, the Iridium device saves the original telemetry data from a GPS tracker into the payload.hex parameter.

Parsing data

In flespi we already have the preset parsers for Digital Matter, Teltonika, and Galileosky hardware that translate payload.hex into JSON parameters as per the respective protocol specification. 

If you decide to pair the Iridium device with another brand of GPS trackers with an RS232 port, you will have to write a parsing scheme of your own using a PVM plugin.

add pvm plugin flespi

Tip: if puzzled, refer to the complete PVM guide.

Specifying paired device ID

To be able to repost messages into the original device (see the next step below) we need to specify the pairs of Iridium/GPS tracker devices. This is easily achieved with the item-fields plugin assigned to the Iridium device:

add item fields plugin flespi

Assign the newly created plugins to your device. Specify the proper device ID in the device_id plugin:

assign plugin to device

The assigned plugins should look like this:

plugins assigned to device

Reposting messages

Once the incoming telemetry data is parsed from payload.hex, it is saved as a set of JSON parameters on the Iridium device in flespi. Usually, you want this data to be registered as messages on the original device that actually generates this data (i.e. the flespi device for your GPS tracker). You can achieve this by reposting messages into the proper flespi device via a webhook.

The configuration of a webhook will look like this:

configure webhook to repost messages

The webhook is supposed to trigger only for new device messages that contain the “paired_device_id” parameter (i.e. have the Iridium/GPS tracker correspondence established).

As a result, the messages (%payload%) will be reposted from the Iridium device to the original GPS tracker, from which the data originated.

***

The scenario above addresses two important purposes:

  • Send the telemetry data from a GPS tracker where there’s no cellular connectivity

  • Aggregate the data sent via cellular and via satellite in a single device storage

Let us know if you have other advanced cases in mind, and we will put together the guides on how to best approach them with flespi 👇