23 May, 2019

Building a GPS monitoring solution with flespi

The steps required to develop a custom GPS tracking application.

This article is a brief checklist/workflow to follow when thinking of embarking on a new telematics project. Here we highlight the major stages on the way and give advice on how and where flespi can be used.

Buy and install suitable trackers

  • There are quite a few official dealers and resellers on the market who can consult you and help make the right choice for your project.

  • If you intend to use flespi as the backend for your project, consider checking the list of supported protocols (and devices) — picking the brands already integrated into the flespi platform can save you time and money (required for on-demand integration).
    Important note: we pay close attention to the quality and popularity of the trackers we integrate. So, if the tracker is on the list, we treat it as trusted and tried-and-true one.

  • Install and wire the trackers on the equipment in your current project — vehicles, boats, e-scooters, bicycles, cattle, vending machines, containers, what not.

  • Be sure to check if the trackers you picked collect the specific data you are going to analyze — most likely you will need something other than latitude and longitude to differentiate from competitors (e.g. device motion state changed event, tow alarm, electricity cut-off alarm, etc.).

Configure trackers to send data to flespi

  • Create a channel in flespi and assign it a protocol (or one of the protocols) your devices use. One channel = one protocol.
    flespi channel ip port

  • Specify the IP and port of the newly created channel in the tracker’s remote server settings.
  • Specify the APN settings for GPRS.
  • Alternatively, if your tracker supports configuration via SMS, you can set up the APN parameters by sending an appropriate text message to the device.

Store/backup data in flespi (or another cloud) [Optional]

  • You can store up to 10GB of messages in the virtual flespi devices for up to 10 years at the cost of $1/GB/mo (see detailed terms of use here). If you don’t need long-term storage (and extra expenses), just specify shorter TTL for the messages and they will be automatically deleted upon expiration.

  • Alternatively, you can stream data to respected cloud services by Google, Amazon, and Microsoft.

Get parsed messages via API

  • When the messages get into the flespi platform, they get parsed according to the proper protocol specification and saved in a unified JSON format.

  • You can extract these messages from your app via a traditional HTTP REST API.

  • Another option is to get messages from the flespi MQTT broker via MQTT API. The benefit here is that new messages will arrive at your platform as soon as they are registered in flespi (not upon request as in case of REST API).

  • In addition to getting data via API, there are specialized streams to push the data into specific destinations.

  • For a more technical and in-depth explanation of the ways of getting data from flespi read the dedicated article.

Manage trackers remotely [Optional]

  • Flespi platform supports bi-directional communication with the tracking devices — it can not only collect the data from them but also send commands to them.

  • Since you are building your own platform with flespi sitting behind the scenes, you want to address flespi device configuration capabilities via the API.

  • In some cases, when you don’t want to give access to device management functionality from your app’s interface, you can use universal device configurator in the flespi panel. Just navigate to Telematics hub -> Devices -> select the needed device -> and switch to the Settings tab:
    flespi device configurator

  • You can also access device setting from Setbox — a dedicated app for device management. The cool thing about Setbox is that it supports bulk updates — mass reconfiguration of multiple devices in one go. Check what else Setbox has to offer here.

Build accounts hierarchy and grant permissions [Optional]

Do data analysis and calculations

  • Flespi analytics engine can compute required metrics for further use in your app in real-time or upon request based on the user-defined logic.

  • Build intervals to split the flow of messages based on the state change.

  • Calculate specific expressions for each interval to aggregate values within each interval.

  • Access to all calculated values is available via the API.

Create your app’s interface & sell your value

  • This part is on you. As we always emphasize — flespi is the cloud backend. 

  • The customer-facing frontend of your business offering is something that you will craft carefully with your developers and designers. 

  • Our task is finished here — you’ve got the data from all kinds of trackers in a convenient format. 

  • Now you use this data to create the added value for your customers and present it to them in an easy-to-use way.


You might have noticed that in the above list of tasks flespi takes care of all the chores in the middle — that’s why we sometimes call flespi a middleware. We’ll be happy to help you address the connectivity issues, configure the trackers, keep your data safe, assign proper roles and permissions, and make the data quickly and easily available where needed.

Our goal is to free up your resources so that you can focus on creating the ultimate value for the customer.