As a part of the Manufacturing sector’s digitization course of, Business 4.0 automation drives real-time, information acquisition from industrial gear on the plant flooring. This information and instant suggestions have turn into a mission-critical requirement. As well as, latest provide chain disruptions have elevated the lead time to acquire edge {hardware} leading to a number of months delays to modernization tasks. Among the most difficult points of the modernization course of contain organising machine connectivity, establishing a number of communication protocols, and buying the proper {hardware} to deploy at scale and throughout industrial websites. This weblog put up explains how one can deploy a number of cases of edge software program on a single machine. On this answer, we deploy one occasion for every atmosphere (improvement and high quality) to keep away from needing to acquire further {hardware} for every atmosphere. The sting software program that we focus on embody AWS IoT SiteWise Edge utilizing AWS IoT Greengrass because the runtime atmosphere and runs in a Docker container. You deploy the software program utilizing the AWS Cloud Growth Equipment (AWS CDK) and the GNU Make utility.
Conditions
- AWS Accounts_ – Two AWS accounts with default Amazon Digital Non-public Cloud (Amazon VPC) subnet configuration. The accounts must have adequate AWS Identification and Entry Administration (IAM) permissions to launch Amazon EC2 cases, provision IoT Greengrass gadgets, and arrange AWS IoT SiteWise fashions and property. Observe that the Amazon Machine Picture (AMI) we use within the setup is obtainable solely within the Northern Virginia (us-east-1) Area. You will want to repeat the AMI for deployment to different Areas.
- Set up Docker and Docker Compose in your edge gateway machine to construct and deploy containers.
- In your native improvement machine,
- Set up and configure the AWS Command Line Interface (AWS CLI) following the steps offered at Arrange the AWS CLI.
- Set up AWS Cloud Growth Equipment (AWS CDK) to provision cloud sources. Seek advice from the AWS CDK Workshop to achieve hands-on expertise utilizing the AWS CDK.
- Clone the run-multiple-sitewise-gateways-using-containers pattern repo from GitHub following the steps offered at Cloning a repository.
Answer Walkthrough
For demonstration functions, let’s take into account an automotive manufacturing plant with a stamping manufacturing line comprising of two stamping presses. You ingest real-time measurement information from every stamping press into two AWS environments (named improvement and high quality) utilizing two cases of the sting software program working on the identical edge {hardware}.
First, you simulate temperature and strain measurement values each 1 second utilizing Ignition software program put in on an Amazon Elastic Compute Cloud (Amazon EC2) occasion. Subsequent, you create a digital illustration of the 2 stamping presses in AWS IoT SiteWise in each the event and high quality environments.
Lastly, you put together the sting gateway machine and deploy two cases of AWS IoT SiteWise Edge. You take a look at the end-to-end information move from the Stamping Presses to AWS IoT SiteWise in each the event and high quality environments. Beneath is the structure diagram of the answer that we simply described:
Steps
-
Put together your environments
Use two AWS accounts to symbolize the event and high quality environments. You possibly can both use current accounts or create new ones.
Observe: Write down the 12-digit AWS account ID for every account as you have to them within the following steps.
  2. Simulate real-time measurement information for industrial gear
Use the Ignition software program to arrange an OPC Unified Structure (OPC UA) simulator server. Set up the software program on an Amazon EC2 occasion, and configure pattern tags to simulate temperature and strain information for the stamping presses.
  2.1 Select your goal atmosphere
Choose the atmosphere the place you’ll deploy your cloud sources. First, you select the AWS account that represents your improvement atmosphere.
Once you return to this part for deploying the answer a second time on the standard atmosphere, choose the AWS account that represents your high quality atmosphere.
To decide on the goal atmosphere, replace the account
and area
parameters within the iot-factory-cdk/cdk.json file.
Observe: The Group Amazon Machine Picture (AMI) for Ignition is at the moment out there solely within the us-east-1
Area. In case you want to deploy the answer in one other Area, you’ll be able to copy the AMI utilizing the steps offered at Copy an AMI.
2.2 Set up Ignition software program
Launch an Amazon EC2 occasion and set up the Ignition software program utilizing AWS CDK. (In a real-world state of affairs, as a substitute of an Amazon EC2 occasion, you would use edge {hardware} inside your manufacturing unit.)
Change the listing to iot-factory-cdk and problem the next command to deploy a CDK stack, which incorporates all of the sources wanted to run Ignition.
cdk deploy OPCUAInstanceStack
Navigate to the AWS CloudFormation Console to confirm the deployment and search for a stack named OPCUAInstanceStack.
Observe: Write down the EC2IP
, EC2PublicIP
, and EC2Port
parameter values. You’ll use them within the following steps.
2.3 Configure the Ignition software program to simulate information
Now that you’ve got put in Ignition software program, let’s configure it to simulate the information for the stamping presses. (In a real-world state of affairs, Ignition usually collects information from industrial gear, resembling stamping presses, by means of Programmable Logic Controllers (PLCs).
To configure Ignition, entry an internet browser. Permit inbound HTTP visitors to the underlying Amazon EC2 occasion internet hosting Ignition by following the directions at Authorize inbound visitors to your Linux cases. Alternatively, you could take into account organising port forwarding as demonstrated in this weblog put up to keep away from entry to the occasion from the general public IP handle by securely create tunnels between your cases.
Launch Ignition utilizing the URL http://<EC2PublicIP>
and log in utilizing the default credentials (username: admin
, password: password
). Exchange EC2PublicIP
with the worth famous in step 2.2.
You could need to change the default credentials following the directions at Gateway Safety earlier than continuing.
Now, create a knowledge simulator machine to symbolize manufacturing line 1 and two stamping presses following the steps beneath:
- Navigate to Config > OPC UA > System Connections.
- Create a brand new machine utilizing Create new System > Programmable System Simulator > Subsequent and use
Manufacturing Line 1
as its title. Then, select Create New System. - Load an current program to simulate information for temperature and strain measurements.
- Select Extra > edit program > Load Simulator Program > Load from CSV choice.
- Browse to iot-factory-cdk/iot_factory_cdk/stacks/opcua_datasource /simulator_program_instructions.csv and choose Load Simulator Program.
- Select Save Program.
Your information simulator machine is prepared. Ignition begins simulating information for all 4 measurements each 1 second.
3.Create a digital illustration of business gear
Create asset fashions and property to digitally symbolize your stamping line and two stamping presses.
Problem the next command to deploy a CDK stack. This consists of all of the sources wanted from AWS IoT SiteWise.
cdk deploy SiteWiseAssetStack
Confirm the AWS IoT SiteWise sources by navigating to the AWS IoT SiteWise console → Belongings. You need to see the property arrange as proven within the following screenshot.
4.Provision the required edge and cloud sources to ingest information from OPC UA Server
Arrange the AWS IoT SiteWise Edge Gateway on the sting gateway machine and set up connectivity with the Ignition OPC UA server you arrange earlier.
Replace the iot-factory-cdk/env.sh with the next parameters
Setting
: Any lowercase string that represents your atmosphere, resemblingdev
.OPCUAIP
: The IP handle of the OPC UA server.EC2IP
from Step 2.2OPCUAPort
: The port used for the OPC UA server. That is the AmazonEC2Port
from Step 2.2
Use the next instructions to deploy the sources:
supply iot-factory-cdk/env.sh
cdk deploy IotFactoryCdkStack
Confirm the deployment by navigating to the [AWS CloudFormation Console](https://console.aws.amazon.com/cloudformation/house) and searching for a stack named IotFactoryCdkStack
4.1 Put together the Docker compose file
Problem the next command to create a Docker compose file.
Make sure you run the script from the identical atmosphere the place your ran cdk deploy
within the prior step.
The python script depends on parameters from the cdk.out
, which is a replica of the asset created by AWS CDK. Learn extra about CDK property at Belongings.
python3 greengrassv2-installation/docker/config_docker.py
Assessment the docker-compose.yml
file that’s created beneathgreengrassv2-installation/docker
listing.
The docker-compose file accommodates a reference to the Docker picture for IoT Greengrass v2, together with the required configurations resembling atmosphere variables, file path for the certificates required for IoT Greengrass v2 to register a core machine.
4.2 Construct a Docker picture and run the container
Observe: It’s essential to copy the greengrassv2-installation/docker
folder to your edge gateway machine as a result of it accommodates the required configurations and certificates to register the IoT Greengrass v2 core machine.
Problem the next instructions on the sting gateway machine the place the Docker daemon runs. It usually runs on edge {hardware} in your on-premises information heart that has community connectivity with each your information supply (Ignition or any OPC UA suitable server) and the AWS Cloud.
Problem the next to construct a Docker picture
cd greengrassv2-installation/docker/
make construct
Run the Docker container
cd greengrassv2-installation/docker/
make begin
4.3 Permit incoming visitors to the OPC UA server
Permit incoming connections from the AWS IoT SiteWise gateway (working on the sting gateway machine) to the Ignition OPC UA server.
Seek advice from the Gateway Port Reference to know the ports you could open.
5.Validate the Knowledge Circulate
Thus far, you deployed and configured all of the sources wanted to gather information out of your industrial gear at edge and ship it to AWS IoT SiteWise. Now, take a look at the end-to-end information move utilizing the AWS IoT SiteWise console.
- Navigate to AWS IoT SiteWise console > Belongings.
- Navigate to Sample_Site1 > Sample_Area1 > Sample_Line1 > Pattern StampingPress1.
- Swap to the Measurements tab and search for values beneath the Newest worth column.
- Make sure that you discover the real-time temperature and strain values.
- Repeat these steps for the Pattern StampingPress2 asset.
6.Create a brand new machine simulation for the High quality atmosphere
Repeat steps 2 by means of 5 within the second AWS account to symbolize your High quality atmosphere.
After you validate the outcomes, you’ll be able to delete the deployed CDK stacks to keep away from incurring further prices.
cdk destroy IotFactoryCdkStack
cdk destroy SiteWiseAssetStack
cdk destroy OPCUAInstanceStack
Conclusion
On this weblog, you realized methods to use a single edge gateway machine for a number of environments, resembling improvement and high quality. This answer averted the necessity to dedicate further {hardware} to every atmosphere. Whereas finishing the method, you deployed a number of cases of the software program on the identical edge machine – one occasion for every atmosphere. Utilizing the sting software program, you have been capable of ingest real-time information from an OPC UA server on the edge and ship it to AWS IoT SiteWise. To Study extra, checkout AWS IoT SiteWise Sources.
Creator biographies