The primary direction of data flow in the thingsHub is from the devices to the application. Hence, upstream is considered the direction where the IoT network and devices are, while downstream is the direction of the IoT platform or application consuming the device data. The following are the different stages through which data flows, beginning at the devices and ending at the target application. Note that data also flows in the opposite direction, though considerably less for most uses cases.
Devices send data over a network to the thingsHub. The topology of this network is irrelevant for the thingsHub's operations. For example, the LoRa network is usually described as a star-of-star topology, with the LoRa network server on the highest level, gateways on the second level and devices on the lowest level. Devices send data to gateways, which in turn send data to the LoRa network server, which aggregates data the data and acts as a single point of access for data from all devices connected to this network.
On the highest level, the thingsHub is built of three stages: connectors, the engine and integrations, which are described below.
The Connector Stage
The Connector Stage is the thingsHub's first stage and is the home of the Network Connectors. Network Connectors manage the connections from network providers to the thingsHub. Connectors allow receiving uplinks from devices and sending downlinks to devices. Furthermore, Connectors provide a unified interface for working with devices.
The Device Driver Stage
The Device Driver Stage is the thingsHub's second stage and manages devices and the decoding and encoding of device data. The driver registry is also placed in this stage.
The Integration Stage
The third stage, the Integration Stage, allows connecting the thingsHub to third-party applications and IoT platforms.