You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/industrial-iot/overview-what-is-industrial-iot.md
+13-8Lines changed: 13 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ Microsoft Azure Industrial Internet of Things (IIoT) is a suite of Azure cloud m
18
18
19
19
The Azure Industrial IoT Platform allows plant operators to discover OPC UA-enabled servers in a factory network and register them in Azure IoT Hub. Operations personnel can subscribe and react to events on the factory floor from anywhere in the world. Azure IIoT will enable the reception of alerts and alarms, and will allow reaction to them in real time.
20
20
21
-
Azure IIoT provides a set of microservices that connect to OPC UA systems on the shop floor. The microservices REST APIs mirrors the OPC UA systems functionality. The REST APIs enable your cloud applications to browse OPC UA server address spaces, read/write values of OPC UA nodes, and execute OPC UA methods. Components at the factory floor are implemented as Azure IoT Edge modules. The cloud microservices are ASP.NET microservices with a REST interface and run on managed Azure Kubernetes Services or standalone on Azure App Service. Azure IoT Edge modules and Azure IIoT cloud services are available as pre-built Docker containers in the Microsoft Container Registry (MCR).
21
+
Azure IIoT provides a set of microservices that connect to OPC UA systems on the shop floor. The microservices REST APIs mirror the OPC UA systems functionality. The REST APIs enable your cloud applications to browse OPC UA server address spaces, read/write values of OPC UA nodes, and execute OPC UA methods. Components at the factory floor are implemented as Azure IoT Edge modules. The cloud microservices are ASP.NET microservices with a REST interface and run on managed Azure Kubernetes Services or standalone on Azure App Service. Azure IoT Edge modules and Azure IIoT cloud services are available as pre-built Docker containers in the Microsoft Container Registry (MCR).
22
22
23
23
The edge modules and cloud services collaborate closely and must be used together. Azure IIoT provides easy-to-use deployment scripts that allow to deploy the entire platform with a single command.
24
24
@@ -30,37 +30,42 @@ Azure Industrial IoT manages OPC UA Application Certificates and Trust Lists of
30
30
31
31
## Industrial IoT Components
32
32
33
-
Azure IIoT solutions are built from specific components. These components include the following:
33
+
Azure IIoT solutions are built from specific components:
34
34
35
35
-**At least one Azure IoT Hub.**
36
36
-**IoT Edge devices.**
37
37
-**Industrial Edge Modules.**
38
38
39
39
### IoT Hub
40
-
The [Azure IoT Hub](https://azure.microsoft.com/services/iot-hub/) acts as a central message hub for secure, bi-directional communications between any IoT application and the devices it manages. It's an open and flexible cloud platform as a service (PaaS) that supports open-source SDKs and multiple protocols.
40
+
41
+
The [Azure IoT Hub](https://azure.microsoft.com/services/iot-hub/) acts as a central message hub for secure, bi-directional communications between any IoT application and the devices it manages. It's an open and flexible cloud platform as a service (PaaS) that supports open-source SDKs and multiple protocols.
41
42
42
43
Gathering your industrial and business data onto an IoT Hub lets you store your data securely, perform business and efficiency analyses on it, and generate reports from it. You can also apply Microsoft Azure services and tools, such as [Power BI](https://powerbi.microsoft.com), on your combined data.
43
44
44
45
### IoT Edge devices
46
+
45
47
The [edge services](https://azure.microsoft.com/services/iot-edge/) are implemented as Azure IoT Edge modules and run on-premises. The cloud microservices are implemented as ASP.NET microservices with a REST interface and run on managed Azure Kubernetes Services or stand-alone on Azure App Service. For both edge and cloud services, we have provided pre-built Docker containers in the Microsoft Container Registry (MCR), removing this step for the customer. The edge and cloud services are applying each other and must be used together. We have also provided easy-to-use deployment scripts that allow one to deploy the entire platform with a single command.
46
48
47
49
An IoT Edge device is composed of an IoT Edge Runtime and IoT Edge Modules.
48
-
-**Edge Modules** are docker containers, which are the smallest unit of computation, like OPC Publisher and OPC Twin.
50
+
51
+
-**Edge Modules** are docker containers, which are the smallest unit of computation, like OPC Publisher and OPC Twin.
49
52
-**Edge device** is used to deploy such modules, which act as mediator between OPC UA server and IoT Hub in cloud.
50
53
51
54
### Industrial IoT Edge Modules
55
+
52
56
-**OPC Publisher**: The OPC Publisher module connects to OPC UA server systems and publishes JSON encoded telemetry data from these servers in OPC UA "Pub/Sub" format to Azure. The OPC Publisher can run in two modes:
53
57
- In combination with and controlled by the Industrial-IoT cloud microservices (orchestrated mode)
54
-
- Configured by a local configuration file to allow operation without any Industrial-IoT cloud microservice (standalone mode)
55
-
-**OPC Twin**: The OPC Twin module enables connection from the cloud to OPC UA server systems on the factory network. OPC Twin provides access to OPC UA server systems through REST APIs exposed by the Industrial-IoT cloud microservices.
58
+
- Configured by a local configuration file to allow operation without any Industrial-IoT cloud microservice (standalone mode)
59
+
-**OPC Twin**: The OPC Twin module enables connection from the cloud to OPC UA server systems on the factory network. OPC Twin provides access to OPC UA server systems through REST APIs exposed by the Industrial-IoT cloud microservices.
56
60
-**Discovery**: The Discovery module works only in combination with the Industrial-IoT cloud microservices. The Discovery module implements OPC UA server system discovery and reports the results to the Industrial-IoT cloud microservices.
57
-
58
61
59
62
## Next steps
63
+
60
64
Now that you have learned what Industrial IoT is, you can read more about the OPC Publisher or get started with deploying the IIoT Platform:
61
65
62
66
> [!div class="nextstepaction"]
63
67
> [What is the OPC Publisher?](overview-what-is-opc-publisher.md)
64
68
65
69
> [!div class="nextstepaction"]
66
-
> [Deploy the Industrial IoT Platform](tutorial-deploy-industrial-iot-platform.md)
70
+
> [Deploy the Industrial IoT Platform](tutorial-deploy-industrial-iot-platform.md)
Copy file name to clipboardExpand all lines: articles/industrial-iot/tutorial-publisher-configure-opc-publisher.md
+33-27Lines changed: 33 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ In this tutorial contains information on the configuration of the OPC Publisher.
15
15
In this tutorial, you learn how to:
16
16
17
17
> [!div class="checklist"]
18
+
>
18
19
> * Configure the OPC Publisher via Configuration File
19
20
> * Configure the OPC Publisher via Command-line Arguments
20
21
> * Configure the OPC Publisher via IoT Hub Direct Methods
@@ -26,14 +27,16 @@ IoT Edge provides OPC Publisher with its security configuration for accessing Io
26
27
27
28
To access OPC UA systems, X.509 certificates are used by OPC UA. The certificates are used for authentication and encryption of the data exchanged. OPC Publisher uses a file system-based certificate store to manage all application certificates. During startup, OPC Publisher checks existence of its own certificate in the certificate store. If no certificate exists for OPC Publisher, it creates a new self-signed certificate and associated private key. Self-signed certificates provide weak authentication, since they are not signed by a trusted Certificate Authority.
28
29
29
-
Security is enabled in the configuration file via the `"UseSecurity": true,` flag. The most secure endpoint available on the OPC UA servers the OPC Publisher is supposed to connect to is automatically selected.
30
-
By default, OPC Publisher uses anonymous user authentication (in extra to the application authentication described above). However, OPC Publisher also supports user authentication using username and password. These credentials can be specified via the REST API configuration interface (described below) or the configuration file as follows:
31
-
```
30
+
Security is enabled in the configuration file via the `"UseSecurity": true,` flag. The most secure endpoint available on the OPC UA server the OPC Publisher is supposed to connect to is automatically selected.
31
+
By default, OPC Publisher uses anonymous user authentication (in addition to the application authentication described above). However, OPC Publisher also supports user authentication using username and password. These credentials can be specified via the REST API configuration interface (described below) or the configuration file as follows:
32
+
33
+
```json
32
34
"OpcAuthenticationMode": "UsernamePassword",
33
35
"OpcAuthenticationUsername": "usr",
34
36
"OpcAuthenticationPassword": "pwd",
35
37
```
36
-
OPC Publisher version 2.5 and below encrypts the username and password in the configuration file. Version 2.6 and above only supports the username and password in plaintext.
38
+
39
+
OPC Publisher version 2.5 and below encrypts the username and password in the configuration file. Version 2.6 and above only supports the username and password in plaintext.
37
40
38
41
To persist the security configuration of OPC Publisher, the certificate store must be mapped to the IoT Edge host OS filesystem or a container data volume.
39
42
@@ -43,7 +46,8 @@ The simplest way to configure OPC Publisher is via a configuration file. An exam
43
46
Configuration file syntax has changed over time. OPC Publisher still can read old formats, but converts them into the latest format when writing the file.
@@ -61,16 +65,18 @@ A basic configuration file looks like this:
61
65
```
62
66
63
67
OPC UA server systems optimize network bandwidth by only sending data changes to OPC Publisher when the data has changed. If data changes need to be published more often or at regular intervals, OPC Publisher supports a "heartbeat" setting for every configured OPC UA node. This "heartbeat" can be enabled by specifying the `HeartbeatInterval` key in the node configuration. The interval is specified in seconds:
64
-
```
68
+
69
+
```json
65
70
"HeartbeatInterval": 3600,
66
71
```
67
72
68
73
An OPC UA server system always sends the current value of a node when OPC Publisher connects to it. To prevent publishing this data to the cloud, the `SkipFirst` key can be additionally specified in the node configuration:
69
-
```
74
+
75
+
```json
70
76
"SkipFirst": true,
71
77
```
72
78
73
-
>[!NOTE]
79
+
>[!NOTE]
74
80
> This feature is only available in version 2.5 and below of OPC Publisher.
75
81
76
82
Both settings can be enabled globally via command-line options, too.
@@ -79,54 +85,54 @@ Both settings can be enabled globally via command-line options, too.
79
85
80
86
There are [several command-line arguments](reference-command-line-arguments.md) that can be used to set global settings for OPC Publisher.
81
87
82
-
83
88
## Configuration via the built-in OPC UA Server Interface
84
89
85
-
>[!NOTE]
90
+
>[!NOTE]
86
91
> This feature is only available in version 2.5 and below of OPC Publisher.
87
92
88
93
OPC Publisher has a built-in OPC UA server, running on port 62222. It implements three OPC UA methods:
89
94
90
-
- PublishNode
91
-
- UnpublishNode
92
-
- GetPublishedNodes
95
+
* PublishNode
96
+
* UnpublishNode
97
+
* GetPublishedNodes
93
98
94
99
This interface can be accessed using an OPC UA client application, for example [UA Expert](https://www.unified-automation.com/products/development-tools/uaexpert.html).
95
100
96
101
## Configuration via IoT Hub Direct Methods
97
102
98
-
>[!NOTE]
103
+
>[!NOTE]
99
104
> This feature is only available in version 2.5 and below of OPC Publisher.
100
105
101
106
OPC Publisher implements the following [IoT Hub Direct Methods](../iot-hub/iot-hub-devguide-direct-methods.md), which can be called from an application (from anywhere in the world) using the [IoT Hub Device SDK](../iot-hub/iot-hub-devguide-sdks.md):
102
107
103
-
- PublishNodes
104
-
- UnpublishNodes
105
-
- UnpublishAllNodes
106
-
- GetConfiguredEndpoints
107
-
- GetConfiguredNodesOnEndpoint
108
-
- GetDiagnosticInfo
109
-
- GetDiagnosticLog
110
-
- GetDiagnosticStartupLog
111
-
- ExitApplication
112
-
- GetInfo
108
+
* PublishNodes
109
+
* UnpublishNodes
110
+
* UnpublishAllNodes
111
+
* GetConfiguredEndpoints
112
+
* GetConfiguredNodesOnEndpoint
113
+
* GetDiagnosticInfo
114
+
* GetDiagnosticLog
115
+
* GetDiagnosticStartupLog
116
+
* ExitApplication
117
+
* GetInfo
113
118
114
119
## Configuration via Cloud-based, Companion REST Microservice
115
120
116
-
>[!NOTE]
121
+
>[!NOTE]
117
122
> This feature is only available in version 2.6 and above of OPC Publisher.
118
123
119
124
A cloud-based, companion microservice with a REST interface is described and available [here](https://github.com/Azure/Industrial-IoT/blob/main/docs/services/publisher.md). It can be used to configure OPC Publisher via an OpenAPI-compatible interface, for example through Swagger.
120
125
121
126
## Configuration of the simple JSON telemetry format via Separate Configuration File
122
127
123
-
>[!NOTE]
128
+
>[!NOTE]
124
129
> This feature is only available in version 2.5 and below of OPC Publisher.
125
130
126
131
OPC Publisher allows configuration of the simple telemetry format via a configuration file. This file can be specified via the `--tc` command-line option. By default the full JSON telemetry format is sent to IoT Hub. The format of the telemetry configuration file is described [here](reference-opc-publisher-telemetry-format.md#opc-publisher-telemetry-configuration-file-format).
127
132
128
133
## Next steps
129
-
After successful configuration of OPC Publisher, the next step is to learn how to tune the performance and memory of the module:
134
+
135
+
After a successful configuration of OPC Publisher, the next step is to learn how to tune the performance and memory of the module:
130
136
131
137
> [!div class="nextstepaction"]
132
138
> [Performance and Memory Tuning](tutorial-publisher-performance-memory-tuning-opc-publisher.md)
0 commit comments