Edge computing is performed when the data is analyzed directly on the device itself, that is at the edge of the network, rather than on the cloud. This type of computing helps organizations to analyze data in real-time instead of spending time in communicating with the cloud. This reduces response times, data traversing the network as well as bandwidth costs.
With IoTConnect, you can connect your edge devices and perform analytics closer to your application and data sources.
Before we go further let us understand the requirement of IoTConnect Edge Device
- Device can store and process of data at Edge
- To Reduce the network traffic by not sending all data points to cloud
- Still need ability to evaluate rule and notifications
- Aggregation of data and send to cloud on periodically
- Collect child device data process its and send aggregation of data to cloud
If Device having processing and storage capacity and the use case does not required all data to be sent out to cloud, still get ability to process each message and run rule evaluation on that then you can use IoTConnect Edge Device.
In IoTConnect Device get identified form the behavior of data, so based on that we have Normal Device, Gateway Device and Edge Device, so we can blueprint of data behavior and create Template. Templates provide you to build the definition of data in terms of Attribute, Settings and Command.
- Attributes: This defines what telemetry data that device is going to send as reporting, example temperature, humidity etc.
- Settings: To control device behavior, example set data frequency
- Commands: Ability of firmware to take some action on receiving specific message. Like turnOn, turnoff
Edge template will have additional property called Tumbling Window; means device must send aggregation data on interval defied by Tumbling Window. Tumbling window apply on attribute, means you can setup interval at each individual attribute.
Valid tumbling window can be a number from 1 to 999 and a character to identify the timescale, example
- 5h: 5 Hour
- 150s: 150 Second
- 12m: 12 Minutes
Telemetry:
IoTConnect SDK receives data points from device firmware and keep adding into persistent storage also it will run the rule if defined on the template. It will send data based on Tumbling window defied at Each individual attribute. Data will have an array of 6 values ie. Min, Max, Sum, Average, Count and Latest Value
SDK will send below data to Cloud
{ "d": [{ "id": "Edge01", "d": [{ "temp": [10, 13, 47, 11, 75, 4] } ], "dt": "2021-07-05T10:33:53.7064695Z", "tg": "" } ], "cpId": "IBAVNET", "t": "2021-07-05T10:33:53.7064884Z", "mt": 2, "dtg": "3a577cd9-1195-484f-b3f0-ffa8aef917e8", "sdk": { "l": "M_C#", "v": "2.0", "e": "AVNET" } }
UI
Live tab of device will show telemetry having all aggregation for each attribute.
Example:
Device capture temperature every 15 secs and pass data to SDK method. SDK will evaluate rule on each data points and if rule condition matched then SDK will send message to cloud to send notification. If tumbling window set to 1 minute, then after 4 data received from device it will aggregate the data and send single data point having Min, Max, Sum, Average, Count and Latest Value
SDK:
All IoTConnect SDK [Except C] have this Edge capability out of the box. You can check SDK page to look at the SDK and samples.