Before the dashboards

The less visible problem: getting every device into the same infrastructure

When we think about developing an IoT solution, we usually think first about the devices, the data we want to collect or the application we will build on top of them. But before dashboards, automation or analytics there is a much more basic, and far less visible, problem: making sure all that hardware can be properly integrated into the same infrastructure.

A real IoT project rarely depends on a single manufacturer or a single technology. It may combine LoRaWAN sensors, industrial controllers, tracking devices, energy meters, gateways or environmental monitoring equipment, each with its own protocols, payloads, data structures and configuration mechanisms. And the more devices we add, the more integration work is required.

Integrating a device is not simply a matter of getting it to send data. Its messages need to be interpreted, variables identified, conversions applied, uplinks and downlinks managed, and all that information transformed into data that can actually be used by the platform and the applications built on top of it. That work is repeated from project to project, and very often by someone solving a problem that has already been solved before.

That is exactly why Thinger.io Marketplace exists: an integration ecosystem designed to connect devices, communication technologies and IoT tools with Thinger.io without having to start every implementation from scratch.

The problem

Where the hours go: understanding what each device sends

Diversity is one of the defining characteristics of the IoT ecosystem. Two devices can measure exactly the same variable and still communicate it in completely different ways.

An integer with a conversion factor

One sensor sends temperature as an integer that only becomes degrees once the right factor is applied.

A field inside a JSON structure

Another includes the same reading as a named field in a JSON document, with its own naming and nesting.

Bits in a binary LoRaWAN payload

A third transmits it inside a binary payload where every bit occupies a position defined by the manufacturer.

Add to that the diversity of communication technologies, MQTT, HTTP, LoRaWAN, cellular networks or industrial protocols, and all of them may coexist within the same infrastructure. This means that physically connecting a device and understanding the information it generates are two different problems, and the second is where the hours go. When each project implements that logic independently, a significant part of the work ends up being repeated: payload decoding, variable normalization, device configuration, message handling and adaptation across different connectivity layers.

In a proof of concept with five or ten sensors, manually writing a decoder may seem like a minor task. The problem appears when the deployment grows. New devices usually mean new manufacturers, new payload formats, new firmware versions and new configuration requirements. If all that logic has been custom-built for each project, the amount of proprietary code that must be maintained, documented and reviewed every time a manufacturer releases an update grows as well.

On video: how to connect any IoT device to your IoT platform in minutes with Thinger.io Marketplace.

The Marketplace

What Thinger.io Marketplace offers

Thinger.io Marketplace is a repository of integrations and plugins that extends the platform through reusable components. Its goal is simple to state and highly valuable in practice: to prevent integration problems that have already been solved from having to be developed again in every new project.

For hardware, an integration contains the knowledge required to work with a specific device: how to interpret its messages, which variables it exposes, how to convert its data and how to manage communication with it. In this way, the work done once to integrate a model can later be reused across other projects, customers and deployments.

Today, Marketplace includes devices from manufacturers and ecosystems such as Siemens, WIKA, Milesight, Teltonika, Dragino, Arduino, Bosch, Abeeway, URADMonitor, Kamstrup, IMBuildings and Tinovi, among many others.

Twelve models from the manufacturers named above, as the catalogue shows them. Each tile opens the device's page in the Marketplace.

But the value of Marketplace is not only the number of available devices; it is also the range of applications they cover. The catalogue reflects the heterogeneity of the IoT world, and it becomes clearer when grouped by the type of problem each device solves.

Industrial automation and instrumentation

Equipment such as Siemens LOGO! can bring data from control systems into an IoT infrastructure, while WIKA instrumentation devices can integrate process variables such as pressure.

Environmental monitoring, agriculture and utilities over LoRaWAN

Manufacturers such as Milesight and Dragino offer devices for environmental monitoring, agriculture, level and distance measurement, water applications and air quality. Dragino, for example, already has dozens of different models integrated into Marketplace.

Mobility, tracking and asset management

Teltonika integrations make it possible to work with vehicle telemetry and asset tracking, while solutions such as Abeeway provide devices specifically designed for low-power geolocation.

Smart Cities and highly specialized use cases

Marketplace also includes hardware designed around a very specific problem, such as the Bosch TPS110, built to detect parking-space occupancy in Smart Parking solutions.

Custom product development

Boards such as the Arduino MKR WAN 1310 make it possible to build custom IoT devices using LoRaWAN connectivity, with the integration layer already addressed.

Industry, Smart Cities, agriculture, smart buildings, energy, environmental monitoring and asset management are completely different problems. The integration layer is what allows all that hardware to become part of the same IoT ecosystem.

Thinger.io Marketplace: a catalogue of device integrations, network servers and plugins
Devices, network servers and tools side by side in the Marketplace catalogue.

Inside an integration

What exactly does an IoT device integration contain?

It is worth going into detail, because "integration" can mean many different things. In Thinger.io, a device integration is a package that brings together what a specific hardware model needs to move from emitting bytes to producing usable data.

The payload decoder

The logic that translates a device message, whether binary, hexadecimal or structured, into variables with a name, type and unit. It is the piece that avoids having to read the manufacturer's datasheet byte by byte.

The device variable definition

Which measurements the device exposes, in which units and with what structure, so the platform knows what it is storing and applications can consume the data without guessing field names.

Downlink and configuration management

It is not all about reading data: many devices support changes to sampling intervals, alarm thresholds or operating modes. The integration defines how those downlink messages are built.

Application starter resources

Where applicable, dashboards or templates make it possible to see the data working from the start instead of beginning with an empty container.

The practical result is that the starting point of a project is no longer a blank code editor, but a device that already sends meaningful data. From there, the work that truly differentiates the solution can begin: business logic, alarms, visualization and integration with the rest of the customer's systems.

Worked example

From payload to data: what changes in practice

An example illustrates this better than any explanation. A LoRaWAN temperature and humidity sensor does not send readable JSON: it sends a few bytes optimized to consume as little energy as possible over the air, something like 0167010A02685A. Inside that message are a channel identifier, a data type, an integer value and a scale factor that only make sense if the manufacturer's specification is known.

uplink
// on the air: channel, type, value
01 67 01 0A   02 68 5A

// what reaches the platform
{
  "temperature": 26.6,   // °C
  "humidity":    45      // %
}

Decoded by the integration

What that one message costs, with and without the integration in place:

Without an integration layer

  • Find the manufacturer's specification
  • Write the decoder
  • Decide how the variables will be named
  • Apply the correct conversion factors
  • Test it with real devices
  • Maintain it when the firmware version changes

Someone on the team, for every model

With the integration installed

  • The same message arrives as directly usable information
  • A temperature of 26.6 °C and a humidity of 45 %
  • With their names, units and timestamps
  • Ready to be stored, visualized or used to trigger an alarm

Installed from the console

7 bytes
arrive from the sensor, optimized for the air
01 67 01 0A 02 68 5A
2 variables
leave the integration, with name, unit and timestamp
temperature · humidity
1 afternoon
of decoder work, multiplied by every model, every project and every firmware change
without an integration

The difference is not one afternoon of work. It is one afternoon multiplied by every device model, every project and every time the integration has to be touched again.

Connectivity

What happens between the device and the platform?

Not every device communicates directly with the application. In LoRaWAN architectures, for example, the message generated by a sensor normally passes through a gateway and then a LoRaWAN Network Server before reaching the platform where it will be processed.

That is why Thinger.io Marketplace is not limited to device support: it also includes plugins and integrations for the technologies and infrastructure used to transport and manage that data, including solutions such as LORIOT, The Things Stack and ChirpStack.

This separation keeps two responsibilities clearly distinct:

The connectivity infrastructure

Determines how the message arrives.

Sensor, gateway, LoRaWAN Network Server, platform: LORIOT, The Things Stack or ChirpStack carry the bytes.

The device integration

Determines what it means.

Decoder, variables and downlinks turn those bytes into readings the rest of the platform can use.

From there, Thinger.io can use that information throughout the rest of the platform: storing it, visualizing it, processing it, generating alarms, automating actions or integrating it with other applications and services.

Separating connectivity, device interpretation and application logic makes it possible to build more modular IoT architectures, where each component can evolve without forcing a redesign of the entire system.

Build or rely on a platform

Build the infrastructure or rely on a platform?

For a technical team deciding how to approach an IoT product, the underlying question is rarely whether they could build the infrastructure themselves. Usually, they could. The real question is how much of their time they want to spend building something that does not differentiate their product.

A custom IoT infrastructure means solving

  • Data ingestion
  • Device security and authentication
  • Time-series storage
  • Fleet provisioning
  • Visualization and alarms
  • Integration APIs
  • Updates for devices in the field
  • And underneath, a decoder for every device model and firmware version, maintained over time by someone who still needs to be on the team three years from now

With an existing integration layer, the work moves to

  • The application
  • The analysis
  • The service delivered to the end customer

Where it creates value

None of those pieces is impossible. Taken together, however, they can mean months of development before the team even starts solving the business problem that justifies the project, followed by an ongoing maintenance burden. Relying on a platform with an existing integration layer does not eliminate engineering work; it moves that work to where it creates value: the application, the analysis and the service delivered to the end customer.

And that starting point keeps improving. Every device added to Marketplace expands what a new project finds already built on day one. Starting later means starting from a higher level, not from the same blank page teams faced three years ago.

Where to start

Make sure the next device does not mean starting over

The diversity of devices, manufacturers and technologies is not going away. If anything, it will continue to grow. The goal, therefore, should not be to make every device work in exactly the same way. It should be to make sure that integrating a new one does not mean starting over.

For any questions, join our Discord community: our team and other users will be happy to help.

Explore Thinger.io Marketplace

Device integrations, network servers and plugins, installed from the console. Start from a device that already sends meaningful data, or write to info@thinger.io if yours is missing.