Introduction to C# Scripts
Scripting help to easily extend the functionality of the HumanOS IoT Runtime.
Currently, following extension points exist:
- Payload processing for device connectors (UHAL Plugins)
- Creating payloads for data loggers (PeSeL Plugins)
- Payload processing for data subscribers (PeSeL Plugins)
- Correlation and data aggregation logics for processors
Connector Extensions
Some of the connectors require scripting to parse and extract data from native communication protocols.
Stream based connectors use a task processor to handle data streams.
-
HumanOS.UHAL.BluetoothDeviceDriver. Data stream from bluetooth devices. Parsing byte based data packages.
-
HumanOS.UHAL.SerialDeviceDriver. Data stream from serial interfaces (COMx). Parsing byte based data packages.
-
HumanOS.UHAL.TcpClientControl. Data stream from TCP/IP based connections. Parsing byte based data packages.
-
HumanOS.UHAL.WebControl. Data responses from REST API and other HTTP based protocols. Parsing string based data packages.
DataLogger Scripts
Some data logger use the scripting to generate customized payloads. This allows to adapt HumanOS easily to any surrounding system like ERPs, platforms, etc.
-
HumanOS.PeSeL.AzureIoTClient. Payloads to pack all information into a AMQ message for AzureIoT Platform, typically in JSON format.
-
HumanOS.PeSeL.MQTTClient. Creates payloads for another MQTT client.
-
HumanOS.PeSeL.RabbitMqClient. Creates payloads for another RmQ client.
-
HumanOS.PeSeL.RestDataLogger. Creates payloads for a REST API.
Subscriber Scripts
Some service plugins allow to receive data from platforms. Their payloads are parsed and extracted by scripts.
-
HumanOS.PeSeL.AzureIoTClient. Parsing payloads from AzureIoT platforms, typically to receive data or commands.
-
HumanOS.PeSeL.MQTTClient. Parsing payloads from other MQTT clients.
-
HumanOS.PeSeL.RabbitMqClient. Parsing payloads from other RmQ clients.
Processor Scripts
Complex processors can be realized with C# scripts. Here, data extraction, aggregations and other mathematical function can be easily realized.