Pervasive Services
HumanOS provides a large number of services allowing to access data and functions within the node space.
There are three types of services:
-
Server: The service provides a server infrastructure
- OPC UA Server
- MT Connect Agent
- WebService (REST API)
- ...
-
DataLogger: A DataLogger is a client that proactively sends data to a server.
- RabbitMQ Publisher
- MQTT publishers
- REST API logger (http client)
- DB Logger (Influx, MySQL, …)
- File loggers (CSV, ...)
- Azure IoT Client
- ...
-
Subscriber: A subscriber is a client which can receive data from a server (broker).
- RabbitMQ Subscriber
- MQTT subscribers
- Azure IoT Client
Event Driven DataLogger
The event driven data logger reports each time the data value changes (event).
-
Data value changes in the hardware and is read by the UHAL plugin.
-
The data node in node space is actualized. Parallel the history of the data node gets a new entry in its time series.
-
If the node filter matches, the data node is transformed into a data set.
NOTEEach field of the data set is filled with the current values and properties of the data node.
-
The data set is passed to a payload script. Here, the logic transforms the data set into the payload.
-
The payload is transferred to the outside system using the dedicated protocols.
NOTENot all data loggers require a payload script. For instance, CSV and Influx have fixed payloads.
Streaming Driven DataLogger
The streaming data logger uses a sampling rate to report the data values.
-
Data value changes constantly in the hardware and is read by the UHAL plugin.
-
The data node in node space is actualized. Parallel the history of the data node gets a new entry in its time series.
-
If the node filter matches, the data node is transformed into a data set in the pace of the sampling rate.
-
The data set is passed to a payload script. Here, the logic transforms the data set into the payload.
-
The payload is transferred to the outside system using the dedicated protocols.
The sampler has two options to define how data is sent:
- OnlyLastValue: only the last value of the sampling is sent.
- AllData: all data value changes are sent of the sampling.