Skip to content
Alex Lobunets edited this page Aug 20, 2014 · 7 revisions

Device Gateway

As it was mentioned already in the General architecture The DGW represents the so-called Device Integration Layer in IoT terminology. It is used as a gateway between the low-level hardware access protocol and a TCP/IP network.

The main goals when designing DGW were:

  • Pluggable devices support
  • No modification/re-compilation/re-deployment of DGW for a new device
  • Exposure of device capabilities as network services by declaration/configuration

As a result we come up with a concept of device agent, as depicted on the Figure below. A device agent is an executable (preferably platform independent, but in the most cases they are dependent due to the different libraries for accessing the hardware), which implements the low-level communication with an actual device using its interface and protocol (i.e. talking via GPIO to temperature sensor, reading data via USB or detecting beacons via BLE). This is the left side of communication on the Figure. On the right side of the Figure we have described how the device agent communicates with a DGW that manages its execution: it is done using the most universal and ubiquitous interface - standard system input and output streams (stdin, stdout correspondingly).

Device Gateway Agent

A Figure below depicts a high-level overview of the DGW implementation.

Device Gateway Overview

Clone this wiki locally