Internet of Things Agility integration

From Agility
Jump to: navigation, search

IoT (Internet of Things) Introduction

Currently there is no world wide standard for interfacing IoT clouds. To link with particular network, new set of interfaces needs to be defined. Even different network types share same idea of sensors structure. Agility contains generic module which is intended to help organize different IoT providers. Agility IoT extensions are embedded in Agility [1], but all extensions are hidden in standard product. Please follow instructions in this document to enable and setup IoT Extensions.


IoT Definitions

It is module which helps to describe and organise IoT structure. There is not much logic behind IoT Definitions it is kind of specialised dictionary which contains additional data to describe network and to bind appropriate export interface. To access Iot Definitions add to menu Item with link to form AGpmIotScan.

IoT Def Scan.png


Detail form

IoT Def Det.png

IoT device definition is generic structure. Most of fields are optional and had no hardcoded purpose. Meaning of particular field is defined in Interface (Export Definition).

Code
This field is mandatory and unique. It is used as link for readings (it is not database constrain, but code is used as reference)
DevicePath
Path common for all sensors (prefix)
Interface
Export Definition which defines interface between agility and IoT provider. Interface Eurotech - Get etric Value is embedded for reference in standard agility system (check import / export definitions).
SensorLookupInterface
This field is currently not used, but it is intended to store link to additional interface. For example it can be interface which is able to query IoT provider and return list of sensors. Such list can be used to feed combo SensorID on Reading Point Details.
List of Sensor Types
First level of network description. For Euroteh Cloud it is sensor type.


Sensor Types (Subdetail)

IoT Def Property.png

Code
Code & Description of sensor type definition is similar as standard dictionary. In future it can be extended with other fields required with different IoT provider. Used to feed combo on Reading Point Details.
List of Sensor Properties
Second level of network description. For Euroteh Cloud it is just metric name. Used also on Reading Point Details to feed combo.

Reading Point IoT extension

Basic principle with IoT Agility integration is to automate process of adding readings in agility. To enable IoT version of reading point detail use form override functionality and override AGDetailsOfReadingPoints -> AGDetailsOfReadingPoints-IoT.

ReadingPointDetails IoT version.png

IoT Enabled
When check box is set to true then additional options appear on form. In above screen system was prepared to work with Eurotech Cloud solution.
Network Definition
Allows to select predefined in system IoT Definition.
Sensor Type & Sensor Property
Both combos represent predefined in IoT Definition structure (different for each Network Definition).
Sensor ID
Unique identification of physical sensor (unique for particular IoT network). In Eurotech Solution each sensor contain ID printed on case. Sensor ID can be determined also by browsing network with tools provided by IoT provider.
Automatic Reading Period (seconds)
System will read periodically (with given number of seconds) property of particular sensor and store received value as new reading. System will start to periodically read value only when period is greater than 9 seconds and appropriate status flow is enabled. Check if background is running, status flow is enabled in configuration file and IoT Pool Sensor Reading status flow is Active (Business Rules -> ReadingPointBO -> DataBO.ProcessMngt.ReadingPointBO -> Status Flow -> IoT Pool Sensor Reading).
Pull Sensor Value
Allows to manually call IoT network and immaterially add results to reading (without Status Flow or Background)

Reading Point Structure

Reading point structure is extended with generic fields IotSensorRef01... IotSensorRef09. Currently used are: IotSensorRef01 for sensor type lookup and IotSensorRef02 for sensor property lookup. Additional fields can bu used with different IoT network providers.

Column Name Data Type Allow Nulls
IotEnabled sxpLogical NULL
IotSensorCode sxpCode NULL
IotDefID sxpID NULL
IotReadingPeriod sxpInt NULL
IotSensorRef01 sxpDesc NULL
IotSensorRef02 sxpDesc NULL
IotSensorRef03 sxpDesc NULL
IotSensorRef04 sxpDesc NULL
IotSensorRef05 sxpDesc NULL
IotSensorRef06 sxpDesc NULL
IotSensorRef07 sxpDesc NULL
IotSensorRef08 sxpDesc NULL
IotSensorRef09 sxpDesc NULL

References

  1. Agility from version 7.2.12