Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iot-for-all/iotc-industrial-adt
IoT Central integration with Azure Digital Twins for Industrial data
https://github.com/iot-for-all/iotc-industrial-adt
Last synced: 3 months ago
JSON representation
IoT Central integration with Azure Digital Twins for Industrial data
- Host: GitHub
- URL: https://github.com/iot-for-all/iotc-industrial-adt
- Owner: iot-for-all
- Created: 2021-12-20T10:47:29.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-28T15:32:21.000Z (over 1 year ago)
- Last Synced: 2024-06-11T20:46:12.789Z (5 months ago)
- Language: TypeScript
- Size: 5.63 MB
- Stars: 1
- Watchers: 11
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-iotcentral - iotc-industrial-adt - A sample integration between OPCUA and Azure Digital Twins through IoT Central. It provides a mapping configuration tool and learning paths to setup required resources. (transformation)
README
# IoTC Industrial ADT
This repository contains tools and documentation for a sample integration solution between IIoT (OPC-UA) and Azure Digital Twins through Azure IoT Central.
The provided tools and learning paths apply to several use cases and can be extended to support more Industrial protocols in the future.## Architecture
An OPC-UA client sends data to an IoT Central Application where a continuous data export has been created. The export has an Azure Function as destination, configured with Webhook type and a data transformation query to translate the OPC payload to an ADT compatible one.
Finally the Azure Functions trigger property updates on the Azure Digital Twins instance.The sample function in this repository, accepts POST requests with a payload defined in this way:
```json
{
"twinRawId": "",
"twinName": "[FRIENDLY_NAME (OPTIONAL)]",
"modelId": "[DTDL_MODEL_ID (OPTIONAL)]",
"value": ""
}
```where __ is the unique identifier of a property in a Twin in the form _'twin_id/property_name'_ or _'twin_id/component_name/property_name'_.
Then it parses the _id_ to build the right API URL and update the property with the requested value.
The _jq_ transformation query to produce such an input can be quite complex and hard to manually define without incurring in errors. For this reason, we provide a __multi-platform configuration tool__ (see below) to help.
## Resources Setup
Instructions to create all required resources like Azure Function and Digital Twins are available [here](./docs/setup.md).
## Configuration Tool
The mapping configuration tool is an Electron application available for Windows, Mac OS and Linux. We do not provide binary releases, all the steps to get it running are detailed [here](./mapper-tool/README.md).