Track your assets and IoT on a real-time map : 5 steps

Rasters.io
Rasters.io
Published in
8 min readOct 30, 2018

Today, connected objects, GPS and other sensors are affordable for everyone and within 3 years, the IoT market should double to 520 billion USD.

Bain predicts the combined markets of the Internet of Things (IoT) will grow to about $520B in 2021, more than double the $235B spent in 2017.

The problem is that companies are still reluctant to adopt these technologies, among others, due to the complexity of integrating IoT solutions into business processes.

Integration continues to be a barrier to greater IoT adoption as well. Bain found that vendors haven’t simplified the integration of IoT solutions into business processes or IT and OT as much as enterprises have expected.

It is therefore necessary to understand the issues for successful integration of IoT in organizations. Whether for automating or monitoring the assembly line, real-time vehicle tracking, precision farming, optimizing snow removal systems or monitoring parking spaces, essential steps must be taken. used and implemented to properly integrate IoT.

Step 1 : IoT

The first step is obviously to select, depending on the needs, the type of sensors that must be integrated. Some questions then arise:

  • What data must be transmitted? It is necessary to accurately determine the data that is absolutely necessary to adequately meet your needs: Temperature, position, image, events from the device, … ?
  • Frequency ? Each seconds, hour, or related to a particular event ex. when the device moves or reach a specific threshold (edge computing) ?
  • Data encoding ? How data is transmitted from the device (MQTT, JSon, données binaires, …) ?
  • How ? Which communication network must be chosen — Wifi, Cellular, Bluetooth, LoRaWAN, Zigbee, Sigfox, …)
  • And then, is the device already installed in the infrastructure or new one must be acquired ?

You will have realized that there are no simple and unique answers, all depending on the needs and available infrastructure.

Step 2 : Data acquisition

When equipment and their specifications are defined, it is necessary to acquire the data from the IoT. To do this, the devices must be configured to transmit the information updates to acquisition systems with a standard protocol such as MQTT, CoAP or a proprietary protocol.

For more details on the protocols used in the field of IoT, see this excellent article on the subject.

Information from the IoT must then be routed to message management and redirection technology such as AWS IoT Core, Azure Iot hub, PubNub, or Apache Kafka. These solutions make it possible to route, depending on the task and needs, the IoT message to the right services that have to process the data and store it.

Step 3 : Data processing

Before storing it, the data processing module is executed and it can be composed of several sub-treatments. For example, the raw information can be filtered, validated, and a rules engine can be used to make decisions about the new information. When a GPS reports its position, this step will confirm whether it is in a specific zone and if an email should be sent to its supervisor, for example.

Step 4 : Data storage

Once the data is processed, it can now be stored in a database. A popular technology is to use a NoSQL system in order to store data without a predefined structure (e.g. MongoBD, CouchBase, AWS or Azure). This makes it possible to store, in the same document, several types of IoT that do not have the same data schema. It is then easy to make the requests to display them on a map or in a dashboard.

Step 5: Display data on a real-time map

The last step is to display the IoTs on a map. This step is obviously crucial and certainly not trivial. There are of course solutions like Cayenne or Thingsboard which include a cartographic component but with very limited functionalities. For a more complex integration, it is necessary to develop a complete client solution (Javascript Portal, HTML) with Google Maps, Here or MapBox, for example.

It is therefore a process that involves several complex, expensive technologies and specialized expertise; so I can understand that many companies are reluctant to embark on the adventure.

“So you have to be able to simplify and facilitate such an integration to enable businesses to reap the benefits of using connected objects.”

Why Rasters.io ?

The Rasters.io web platform offers a complete solution for deploying, in record time, all the components needed to manage your IoT.

A fully hosted solution that offers:

1- Simple connectors for the acquisition of your IoTs;

2- A flexible and powerful rule and notification engine;

3- Storage and management of the history of your IoTs data and all your cartographic data;

4- Editing and management tools for your data (zones, GeoFence, markers, IoTs);

5- A complete real-time map, personalized and efficient;

6- A tested turnkey system, and simple integration directly into your portal.

This saves you development time, IT infrastructure and integration time. Concentrate on the essentials of your product and let Rasters.io do the rest.

Here’s an example of how to configure Rasters.io to track assets on a map and embed that map into your website.

Configure Rasters.io to track buses of the Phoenix city

1- Create a map

The first step is to create a new map in your account Rasters.io, and give it a name, for example: “Bus Tracking”:

2- Add and configure your IoTs

Then, using the “New Layer” button, add an IoT layer and select the RESTApi connector. You must now configure the connection to the IoTs data source. For this example, we have chosen a REST API that gives us access to the real-time position of buses in the city of Phoenix. Here’s how to specify the connector configuration:

{
"Endpoint": "https://transitdata.phoenix.gov/api/vehiclepositions?format=json",
"Format": "json",
"Mapping": {
"RootPath": "entity[*].vehicle",
"Location": {
"Latitude": "position.latitude",
"Longitude": "position.longitude"
},
"Geometry": null,
"DeviceId": "vehicle.id",
"DeviceName": "vehicle.label",
"LocationFormat": "DD"
}
}

This JSON specifies how the RESTApi connector will process data from the data source. Copy it in the “Settings” section of the connector, choose the update frequency (20 seconds in our example), and test the connection “Test Connection”. If the configuration is well defined, the connector will turn green and you can save the settings. For all details concerning the configuration of the connectors, you can consult the tutorial.

The IoTs will automatically appear on the map and all information for each object will be updated every 20 seconds. By selecting a vehicle from the map, you can change some of the default layer settings from the left panel:

  1. Modify the icon, transparency and default color of the IoT of this layer;
  2. Change the label that is displayed on the map;
  3. Configure the properties of objects;

In addition, all the information coming from the IoT will appear in a tooltip (speed, direction, date, etc.) on the right. This information comes directly from the device (IoT) and is generally not very readable in addition to containing properties that do not interest us. To use only useful information and improve visibility, set the desired properties (3).

3- Setup your properties

Using this panel, you can select only the properties to use and assign them a readable name and a unit. In this case, only 3 properties have been selected. In addition, a property has been manually added to all objects in this layer: “Home Terminal”.

This property will be added to all objects. Thus, users will only see properties that have been selected with a much more readable name.

From now on, the IoTs are correctly configured, the vehicle information is updated every 20 seconds and the history is automatically stored in Rasters.io.

4- Configure your business processes with the rule engine

The next step is to configure the rule engine to establish your business procedure in terms of IoT and the geographical environment. For example, here are the rules we want to put in place in our management system:

1- If the speed of a bus exceeds 50 km/h AND the bus is operating normally THEN perform the following actions:

- Display the bus in yellow
- Send an email

To do this, in the “Rules” section, add a first rule by naming it “OverSpeed” and specify the following configuration.

The rule applies to “All” objects in the “IoT” layer. It checks whether the value of the Speed ​​property of an IoT is greater than 13.8 metres/second (50 km/h). If the condition is true for a particular object, the color of the object is changed and an email is sent.

When the rule is saved, it is applied instantly and the corresponding buses are displayed in yellow:

2- If the speed exceeds 30 km/h within certain specific zones (these zones are defined by the user) THEN perform the following actions:

  • Show the bus in red on the map
  • Show the corresponding area in red on the map
  • Add a description of the event in a report (an Excel sheet for example)

For the second rule, it is necessary to specify zones by adding an “Annotation” layer in Rasters.io:

Next, a rule that takes into account the intersection with these areas which can be defined as follows:

To this rule, the necessary actions are added to modify the style of the IoTs and the underlying areas, and send a Webhook to Zapier to populate a report, for example. For details on Zapier actions and styles, see the tutorial on this topic.

At this point, the tracking system and all the business rules are now in place. Now it is time to integrate the solution itself into your product.

5- Integrate your real-time map to your web portal

To integrate your brand new map into a web portal, you first need to generate a key/token for the map to share. To do this, go to the “Settings / API Keys” page at the top right of Rasters.io. Then just add a key and relate the corresponding map. This token allows access to the map from any environment.

To integrate the Rasters.io map, a Javascript API is available here (https://rasters.io/docs/example/basic/display-a-simple-map/). So just add the example code to your portal and use the key/token to finalize the integration.

Rasters.io greatly simplifies the integration of an IoT management system with business systems.

Try Rasters.io for free right now to set up your maps and connect your devices.

--

--