-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Developer Guide Extension (#13) * Updated all the open source software (Grafana, InfluxDB, NodeRed) * Changed NodeRed flows due to software update * Add additional security aspect in docker-compose.yml: Linux capabilities, read-only file system, non-root user, container initialization * Add tracee * Delete MQTT external networks in docker-compose * Separate basic example and security extension into HandsOn_1 and HandsOn_2 folder * Add Demo OPCUA Server Simulator and add OPCUA Client Flows in NodeRED Co-authored-by: Si Hao Shen <[email protected]> Co-authored-by: Ondrej Havlicek <[email protected]> * Sync changes with Dev Guide 1.5 wip documentation (#15) * fix: switch from grafana to native influxDB dashboards, fix ndoe red flows * doc: change visualization & connector in docs to InfluxDB & OPC UA Connector * add disclaimer and fix link to edge website * fix year in License * this is correct S7 flow * this should fix the opc ua server * remove grafana * fix oc ua flows * delete opc ua server simulator * rename dockerfiles to examples * add coment to examples dockerfiles * remove opc ua simulator * bump port number to allowed ranges * remove nodered - already in first handon * replace grafana with influxdb UI --------- Co-authored-by: Jason Shen <[email protected]> Co-authored-by: Si Hao Shen <[email protected]> Co-authored-by: Daniel Stuš <[email protected]>
- Loading branch information
1 parent
91799e1
commit 0ee3702
Showing
46 changed files
with
2,562 additions
and
4,709 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/src/solution/HandsOn_1/opcua_server/opcua_server_simulator/node_modules | ||
/src/solution/HandsOn_2/opcua_server/opcua_server_simulator/node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,14 +2,22 @@ | |
|
||
Creating a first Industrial Edge App on a development environment to deploy it to an Industrial Edge Device based on App Developer Guide. | ||
|
||
- [Prerequisites](#prerequisites) | ||
- [Description](#description) | ||
- [Contribution](#contribution) | ||
- [Licence and Legal Information](#licence-and-legal-information) | ||
- [My first Industrial Edge App - App Developer Guide](#my-first-industrial-edge-app---app-developer-guide) | ||
- [Prerequisites](#prerequisites) | ||
- [Installation](#installation) | ||
- [Description](#description) | ||
- [Documentation](#documentation) | ||
- [Contribution](#contribution) | ||
- [License and Legal Information](#license-and-legal-information) | ||
- [Disclaimer](#disclaimer) | ||
|
||
## Prerequisites | ||
|
||
Prerequisites are in the App Developer Guide which is available on [SIOS](https://support.industry.siemens.com/cs/ww/en/view/109795865). It contains description of the requirements as well as the step-by-step description how to work with this Developer Guide repository. | ||
Prerequisites are in the App Developer Guide which is available on [industrial-edge.io](https://industrial-edge.io/developer/index.html). It contains description of the requirements as well as the step-by-step description how to work with this Developer Guide repository. | ||
|
||
## Installation | ||
|
||
If you would like to run the solution of this app you need to rename all files called "Dockerfile.example" to Dockerfile. These Dockerfiles are just an example how you could implement it. | ||
|
||
## Description | ||
|
||
|
@@ -19,16 +27,16 @@ As the example app will cover the most common use case in the Industrial Edge en | |
|
||
The app contains three parts – the connectivity to collect the data from the OPC UA Server by system apps, the IE Databus for distributions of the data and the process, storing and visualization of data in the Edge App. | ||
|
||
1. The IE Databus based on MQTT is responsible to distribute data to certain topics, which are filled by system or custom apps by publishing and subscribing to these topics. | ||
2. To receive the data from the OPC UA server, which is providing data from a PLC, the SIMATIC S7 Connector connectivity is used. SIMATIC S7 Connector is a system app, which publish the data to IE Databus. Another system app, the IE Flow Creator, consumes the data from the SIMATIC S7 Connector topics on the IE Databus. The data is preprocessed in the SIMATIC Flow Creator and published again on the IE Databus. | ||
3. The developed data analytics container with Python is consuming the preprocessed data on the topics from the SIMATIC Flow Creator. The Python data analytics is doing calculations and evaluations and provides the results like KPIs back on the IE Databus.The data analytics container needs a MQTT client to handle the publishes and subscriptions of the IE Databus | ||
4. The IE Flow Creator consumes the analyzed data again. The IE Flow Creator stores the (raw) data and analyzed data to the InfluxDB persistently. | ||
5. The InfluxDB is a time series database which is optimized for fast, high-availability storage and retrieval of time series data. It stores the data, which is transmitted by the OPC UA server to the app as well as the analyzed data. | ||
6. Grafana is a visualization and analytics software. It allows to query, visualize, alert and explore metrics. It provides tools to turn time-series database data to graphs and visualization. There is the possibility to build custom dashboards. Grafana is used to visualize the data from the InfluxDB database | ||
1. The **IE Databus** based on MQTT is responsible for distributing data to certain topics, that are filled by system or custom apps by publishing and subscribing to these topics. | ||
2. To receive the data from the OPC UA server, which is providing data from a PLC, the **OPC UA Connector connectivity** is used. OPC UA Connector is a system app, that publishes the data to IE Databus. Another system app, the SIMATIC Flow Creator, consumes the data from the OPC UA Connector topics on the IE Databus. The data is preprocessed in the SIMATIC Flow Creator before being published on the IE Databus again. | ||
3. The developed **data analytics container** with Python is consuming the preprocessed data on the topics from the SIMATIC Flow Creator. The Python data analytics performs calculations and evaluations and returns the results as KPIs back to the IE Databus. To handle the IE Databus publishes and subscriptions, the data analytics container requires a MQTT client. | ||
4. The **SIMATIC Flow Creator** consumes the analyzed data again. The SIMATIC Flow Creator persistently stores the (raw) and analyzed data in InfluxDB. | ||
5. The **InfluxDB** is a time series database which is optimized for fast, high-availability storage and retrieval of time series data. It stores both the data transmitted by the OPC UA server to the app and the analyzed data. | ||
6. The data stored in the database can be queried and graphed in dashboards to format them and present them in meaningful and easy to understand way. There are many types of dashboards to choose from including those that come with InfluxDB or other open source projects like Grafana. In this application, the native **InfluxDB Dashboards** are leveraged for basic data visualization. | ||
|
||
## Documentation | ||
|
||
- Here is a link to the [SIOS](https://support.industry.siemens.com/cs/ww/en/view/109795865) where the App Developer Guide of this application example can be found. | ||
- Here is a link to the [industrial-edge.io](https://industrial-edge.io/developer/index.html) where the App Developer Guide of this application example can be found. | ||
- You can find further documentation and help in the following links | ||
- [Industrial Edge Hub](https://iehub.eu1.edge.siemens.cloud/#/documentation) | ||
- [Industrial Edge Forum](https://www.siemens.com/industrial-edge-forum) | ||
|
@@ -41,6 +49,12 @@ Additionally everybody is free to propose any changes to this repository using P | |
|
||
If you are interested in contributing via Pull Request, please check the [Contribution License Agreement](Siemens_CLA_1.1.pdf) and forward a signed copy to [[email protected]](mailto:[email protected]?subject=CLA%20Agreement%20Industrial-Edge). | ||
|
||
## Licence and Legal Information | ||
## License and Legal Information | ||
|
||
Please read the [Legal information](LICENSE.txt). | ||
|
||
## Disclaimer | ||
|
||
IMPORTANT - PLEASE READ CAREFULLY: | ||
|
||
Please read the [Legal information](LICENSE.md). | ||
This documentation describes how you can download and set up containers which consist of or contain third-party software. By following this documentation you agree that using such third-party software is done at your own discretion and risk. No advice or information, whether oral or written, obtained by you from us or from this documentation shall create any warranty for the third-party software. Additionally, by following these descriptions or using the contents of this documentation, you agree that you are responsible for complying with all third party licenses applicable to such third-party software. All product names, logos, and brands are property of their respective owners. All third-party company, product and service names used in this documentation are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions
1
src/solution/HandsOn_1/IE Flow Creator Flows/flow_data_gen.json
Large diffs are not rendered by default.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
BASE_IMAGE=python:3.9.2-alpine3.13 | ||
INFLUXDB_VERSION=2.4-alpine | ||
INFLUXDB_DB=edgedb | ||
INFLUXDB_DATA_INDEX_VERSION=tsi1 | ||
http_proxy="" | ||
https_proxy="" | ||
no_proxy=localhost,127.0.0.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.