What is a device driver?


Device drivers make it possible access device-specific functionality across a large number of device models from different manufacturers via a unified interface. Device drivers also allow to conveniently use advanced device functionality, such as over-the-air-configuration and even complex communication patterns like batch reporting and payload splitting. All of this is possible without the user having to know or understand the device's payload specification or implementing custom code for working with new devices.Device drivers typically supports the following functionalities:

  • Extract data and configuration fields from device receptions > decode payload from uplinks
  • Translation of configuration parameters or steering commands to the device into control commands suitable for the device > encode payloads for downlinks
  • Update the devices "Reported State". Read more on the Device State here: Device Management

What is the driver registry?

All drivers available within one thingsHub instance (tenant) are organized through the so-called "Driver registry". A "Driver registry" does exist per thingsHub tenant. This does allow to only install / deploy only those device drivers the user´s of a tenant really needs. E.x. all room sensor device drivers for room sensor customers and all metering device drivers for the metering customers.

You can see all installed device drivers of your instance by clicking on the "Drivers" main menu item:

SmartMakers implements LoRaWAN device drivers daily and shares them with its customers through the "Driver registry". Read more below.

How to retreive the latest device drivers from SmartMakers / thingsHub´s global driver database?

SmartMakers has already implemented device drivers for over a few hundred LoRaWAN devices from different manufacturers so that our customers can use these immediately and without time-consuming implementation efforts. Just click on the button "Update all thingsHub drivers" in the drivers overview page and wait a few minutes until your thingsHub instance retreived all pre implemented device drivers from SmartMakers "global" Driver Registry.

How to use a device driver? How to assign a device driver?

Read the "How to assign a device driver?" chapter on the following page Device Management.

How to develop a device driver?

Read the "Quickstart Guide" on our git repository: https://gitlab.com/smartmakers/drivers/sdk.

How to upload your own device driver?

Read the "Quickstart Guide" on our git repository: https://gitlab.com/smartmakers/drivers/sdk.

How to delete an device driver?

It is not possible to delete a device driver via the web user interface, since a device driver can be assigned to many hundreds of IoT devices and in the worst case this would lead to massive malfunctions and data loss in your IoT application. Only experienced administrators can delete device drivers through the REST API. How this works can be found in the swagger rest api documentation of your thingsHub instance.