Difference between revisions of "42Q-MES0184-IIoT Configuration"

From 42Q
Jump to navigation Jump to search
 
(84 intermediate revisions by 4 users not shown)
Line 7: Line 7:
  
 
 
 
 
<center>'''IIoT'''</center> <center>'''Device Self Service'''</center> <center>'''Version MES 15.76'''</center> <center>'''Revision B1'''</center> <center>&nbsp;</center>  
+
<center>'''IIoT Configuration'''</center> <center>'''Device Self Service'''</center> <center>'''Version MES 15.82'''</center> <center>'''Revision G1'''</center> <center>&nbsp;</center>  
 
&nbsp;
 
&nbsp;
 
<center>&nbsp;</center>  
 
<center>&nbsp;</center>  
 
&nbsp;
 
&nbsp;
  
= <span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction">Introduction</span></span></span></span></span></span></span></span> =
+
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction"><span class="mw-headline" id="Introduction">Introduction</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
The concept of GGC stands for “Green Grass Computer”, the word: “Computer” also refers to any kind of device. This document will teach users how to configure, install, and deploy a GGC, as well as create and set up a Device Self-Service for establishing a connection between the computer (device) and the 42Q portal to send data (payloads).
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites">Prerequisites</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
*Only Linux is supported for the computer or device to install the Green Grass Core. The related shell scripts and test code only work on Linux systems (Windows is not currently supported).
 +
*Python 3.8 or higher must be installed and configured to run the test code.
 +
 
 +
&nbsp;
 +
 
 +
== <span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements"><span class="mw-headline" id="Operating_System_and_Software_Requirements">Operating System and Software Requirements</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
 +
 
 +
*Linux kernel version 4.4 or later (Ubuntu 20.04 and CentOS 8.5).
 +
*Java Runtime Environment (JRE) version 11 or greater (included in the installation script).
 +
*Python version 3.8 for functions that use the Python 3.8 runtime (included in the installation script).
  
The concept of GGC stands for “Green Grass Computer”, the word: “Computer” also refers to any kind of device. This document will teach users how to configure, install, and deploy a GGC, as well as create and set up an Edge Device for the purpose of establishing a connection between the computer (device) and the 42Q portal to send data (payloads).
+
&nbsp;
  
 
&nbsp;
 
&nbsp;
  
 
&nbsp;
 
&nbsp;
 +
 +
=== <span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements"><span class="mw-headline" id="Cgroups_Requirements">Cgroups Requirements</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ===
 +
 +
The AWS IoT Greengrass Core software currently only supports Cgroups v1, not v2. In order to satisfy AWS Greengrass Core dependencies as stated in the official documentation "Setting up AWS IoT Greengrass core devices"&nbsp; ([https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html Setting up AWS IoT Greengrass core devices - AWS IoT Greengrass] ), the system should be configured with the following Linux kernel parameters and restarted:
 +
 +
To enable these Cgroups options, boot the device using the following Linux kernel parameters:
 +
 +
[[https://docs.aws.amazon.com/greengrass/v2/developerguide/troubleshooting.html#lambda-cgroups-not-mounted https://docs.aws.amazon.com/greengrass/v2/developerguide/troubleshooting.html#lambda-cgroups-not-mounted]
 +
 +
'''Step 1:''' &nbsp;sudo vi /etc/default/grub<br/> Find GRUB_CMDLINE_LINUX, and add the following command to it.
 +
 +
*'''For Centos 8.5'''
 +
 +
'''''cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0'''''
 +
 +
'''Figure 1: Command&nbsp;'''
 +
 +
'''[[File:IIot command.png|900px|IIot command.png]]'''
  
 
&nbsp;
 
&nbsp;
  
= <span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites"><span class="mw-headline" id="Prerequisites">Prerequisites</span></span></span></span></span></span></span></span> =
+
'''For Ubuntu 22.04'''
 +
 
 +
'''''cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=false'''''
 +
 
 +
'''Step 2:''' Enter the command: sudo update-grub<br/> '''Step 3:''' Restart the system. sudo reboot<br/> Then check the Cgroup, response tmpfs is right.<br/> &nbsp;root@:~# stat -fc %T /sys/fs/cgroup/tmpfs<br/> &nbsp;
 +
 
 +
==== <span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_Cgroup_configuration"><span class="mw-headline" id="Adjusting_cgroup_configuration"><span class="mw-headline" id="Adjusting_cgroup_configuration"><span class="mw-headline" id="Adjusting_cgroup_configuration"><span class="mw-headline" id="Adjusting_cgroup_configuration">Adjusting Cgroup configuration</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ====
 +
 
 +
#Edit /etc/default/grub - Find the line that starts with "GRUB_CMDLINE_LINUX=" and append or change the following values: cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=false - Save the file
 +
#Apply the configuration change by running: update-grub
 +
#Restart the system
 +
#Verify that the Cgroup configuration has been set to v1 by running the following command and ensuring that the response is "tmpfs": stat -fc %T /sys/fs/cgroup/;
  
*Only Linux is supported for the computer or device to install the Green Grass Core. The related shell scripts and test code only work on Linux systems (Windows is not currently supported).
+
&nbsp;
*Python 3.8 or higher must be installed and configured to run the test code.
 
*Operating System and &nbsp;Software requirements:
 
**Linux kernel version 4.4 or later (Ubuntu 20.04 and CentOS 8.5).
 
**Java Runtime Environment (JRE) version 8 or greater (included in the installation script).
 
**Python version 3.8 for functions that use the Python 3.8 runtime (included in the installation script). 
 
*Network requirements:<br/> A Region is an AWS region that hosts 42Q portal APIs. The Green Grass Core hardware needs to be able to access the following endpoints through specific ports:
 
**[https://www.amazontrust.com/repository/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem].
 
**[https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.6.0.zip https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.6.0.zip].
 
**greengrass-ats.iot.us-east-1.amazonaws.com. '''Ports:''' &nbsp; 8443, 443.
 
***.iot.us-east-1.amazonaws.com. '''Ports:''' &nbsp;8883, 8443, 443.
 
***.credentials.iot.us-east-1.amazonaws.com. '''Ports:''' 443   
 
  
 
&nbsp;
 
&nbsp;
Line 41: Line 80:
 
&nbsp;
 
&nbsp;
  
= <span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description">Functional Description</span></span></span></span></span></span></span> =
+
== <span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements"><span class="mw-headline" id="Network_requirements">Network requirements</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
 +
 
 +
<br/> The Green Grass Core device&nbsp; must be able to access the following endpoints through specific ports:
 +
 
 +
*[https://www.amazontrust.com/repository/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem].
 +
*[https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.6.0.zip https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.12.6.zip.]
 +
*greengrass-ats.iot.us-east-1.amazonaws.com. '''Ports:'''&nbsp;443.
 +
*.iot.us-east-1.amazonaws.com. '''Ports:''' 443.
 +
*.credentials.iot.us-east-1.amazonaws.com. '''Ports:''' 443.
 +
 
 +
For more details on what traffic needs to be authorized and why, please visit the official&nbsp;[https://docs.aws.amazon.com/greengrass/v2/developerguide/allow-device-traffic.html AWS documentation].
  
There are three different functional components: '''CloudPrinting''', '''MachineInterface''', and '''DataIngestion'''.<br/> To access the Edge Devices portlet, navigate to: '''Shop Floor Control > Configuration > IIoT Configuration > Edge Devices'''.
+
&nbsp;
  
<br/> '''Figure 1: Accessing Edge Devices'''<br/> [[File:DSS Accessing Edge Devices.png|900px|DSS Accessing Edge Devices.png]]
+
&nbsp;
  
 
&nbsp;
 
&nbsp;
 +
 +
= <span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description"><span class="mw-headline" id="Functional_Description">Functional Description</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 +
There are three different functional components: '''CloudPrinting, MachineInterface, FileUploader, '''and&nbsp;'''DataIngestion.'''<br/> To access the Edge Devices portlet, navigate to: '''Shop Floor Control > Configuration > IIoT Configuration > Edge Devices'''.
 +
 +
<br/> '''Figure 2: Accessing Edge Devices'''<br/> [[File:DSS Accessing Edge Devices.png|900px|DSS Accessing Edge Devices.png]]
  
 
&nbsp;
 
&nbsp;
  
'''Figure 2: Edge Devices Functions'''
+
'''Figure 3: Edge Devices Functions'''
  
[[File:DSS Edge Devices Functions.png|900px|DSS Edge Devices Functions.png]]
+
[[File:IIoT Edge Devices Functions.png|900px|IIoT Edge Devices Functions.png]]
  
 
&nbsp;
 
&nbsp;
  
#Users can query the list of all devices by '''Edge Device Name''' or '''Group Name'''.  
+
#Users can query the list of all devices by '''Edge Device Name''' or '''Functionality Name'''.  
#Users can create a new edge device.  
+
#Users can '''create''' a new '''Edge Device'''.
#Users can view the details of the edge device.  
+
#Users can '''activate or deactivate''' the certificate status.&nbsp;
#Users can download the software of the edge device.  
+
#Users can '''view or edit''' the details of the edge device and its logs.  
#Users can upgrade this edge device with more features.  
+
#Users can '''download''' the Edge device software.  
 +
#Users can '''Upgrade''' this edge device with more features.  
 
#Users can get all functional components through this button when no functional components are deployed on their local core device.  
 
#Users can get all functional components through this button when no functional components are deployed on their local core device.  
#Users can delete the edge device.  
+
#Users can '''Delete''' the edge device.
 +
#'''Settings''' allow users to configure or get the palindrome information which can be used by the functionalities in the IIoT application.&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 4: Settings'''
 +
 
 +
[[File:DSS Settings.png|900px|DSS Settings.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
== <span class="mw-headline" id="Edit_Edge_Device"><span class="mw-headline" id="Edit_Edge_Device"><span class="mw-headline" id="Edit_Edge_Device"><span class="mw-headline" id="Edit_Edge_Device"><span class="mw-headline" id="Edit_Edge_Device">Edit Edge Device</span></span></span></span></span> ==
 +
 
 +
When the status of the Edge Device is "'''Healthy'''", '''select''' the '''Edit''' button to enter the Edge Device information. The users can add functionality, associated client devices, and view its logs.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 5: Edit Button'''
 +
 
 +
[[File:DSS Edit Button.png|900px|DSS Edit Button.png]]
 +
 
 +
&nbsp;
 +
 
 +
=== <span class="mw-headline" id="Components"><span class="mw-headline" id="Components"><span class="mw-headline" id="Components"><span class="mw-headline" id="Components"><span class="mw-headline" id="Components">Components&nbsp;</span></span></span></span></span> ===
 +
 
 +
The '''components''' tab allows users to view all components installed in this Edge device. It displays the version and status of the installed components.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 6: Components Tab'''
 +
 
 +
[[File:DSS Components Tab.png|900px|DSS Components Tab.png]]
 +
 
 +
&nbsp;
 +
 
 +
=== <span class="mw-headline" id="Deployments"><span class="mw-headline" id="Deployments"><span class="mw-headline" id="Deployments"><span class="mw-headline" id="Deployments"><span class="mw-headline" id="Deployments">Deployments</span></span></span></span></span> ===
 +
 
 +
The Deployments tab allows users to view all the Functionality statuses installed in this Edge device.&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 7: Deployments Tab'''<br/> [[File:DSS Deployments Tab.png|900px|DSS Deployments Tab.png]]
 +
 
 +
&nbsp;
 +
 
 +
=== <span class="mw-headline" id="Functionality"><span class="mw-headline" id="Functionality"><span class="mw-headline" id="Functionality"><span class="mw-headline" id="Functionality">Functionality</span></span></span></span> ===
 +
 
 +
#Select the '''FUNCTIONALITY''' tab.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 8: Functionality tab'''
 +
 
 +
[[File:DSS Functionality tab.png|900px|DSS Functionality tab.png]]
 +
 
 +
&nbsp;
 +
<ol start="2">
 +
<li>Select the'''ADD FUNCTIONALITY.'''</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 9: Add Functionality&nbsp;'''
 +
 
 +
[[File:DSS Add Functionality .png|900px|DSS Add Functionality .png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 +
<li>Users can edit or delete the functionality. Each functionality supports two versions (1.0 and 1.1) and users can switch between these versions (from 1.0 to 1.1 or from 1.1 to 1.0).</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 10: Edit Functionality Version'''<br/> [[File:DSS Edit Functionality Version.png|900px|DSS Edit Functionality Version.png]]
 +
 
 +
&nbsp;
 +
 
 +
<u>'''Note'''</u>: An Edge device will install '''Python 3.11''' by default however it supports both Python 3.8 and Python 3.11. A single functionality can only be set to either Version 1.0 or Version 1.1. Ensure that the appropriate Python version is installed locally:
 +
 
 +
*Functionality Version 1.0 requires '''Python 3.8.'''
 +
*Functionality Version 1.1 requires '''Python 3.11'''.
 +
 
 +
Users can execute the following two new scripts in the terminal to install Python 3.11 and Python 3.8.
 +
 
 +
*sudo sh Install_Python3.8.sh
 +
*sudo sh Install_Python3.11.sh<br/> &nbsp;
 +
 
 +
'''&nbsp;Figure 11: Python Scripts'''<br/> [[File:DSS Python Scripts.png|900px|DSS Python Scripts.png]]
 +
 
 +
&nbsp;
 +
<ol start="4">
 +
<li>Users can use the settings option in the Edge device '''Functionality''' tab to manage the functionality configurations.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 12: File Upload Setting'''
 +
 
 +
[[File:DSS File Upload Setting.png|900px|DSS File Upload Setting.png]]
  
 
&nbsp;
 
&nbsp;
Line 69: Line 225:
 
&nbsp;
 
&nbsp;
  
= <span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software">Install 42Q Edge Software</span></span></span></span></span></span></span> =
+
=== <span class="mw-headline" id="Client_Devices"><span class="mw-headline" id="Client_Devices"><span class="mw-headline" id="Client_Devices"><span class="mw-headline" id="Client_Devices">Client Devices&nbsp;</span></span></span></span> ===
 +
 
 +
#'''Select''' the '''CLIENT DEVICES''' tab.
 +
#'''Select ASSOCIATE CLIENT DEVICES'''.
 +
 
 +
&nbsp;
  
== <span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting">CloudPrinting</span></span></span></span></span></span></span> ==
+
'''Figure 13: Client Devices Tab'''
 +
 
 +
[[File:DSS Client Devices Tab.png|900px|DSS Client Devices Tab.png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 +
<li>'''Enter''' the name of the '''Client Device''' to be created.</li>
 +
</ol>
 +
 
 +
'''<u>Note</u>''': The name can be up to 128 characters. Valid characters: a-z, A-Z, 0-9, underscore (_), and hyphen (-).
 +
<ol start="4">
 +
<li>Select '''SAVE'''.</li>
 +
<li>Users can '''activate or deactivate''' the certificate status.&nbsp;</li>
 +
<li>The Client Device tab supports batch downloads and deletions.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 14: Creating a Client Device'''
 +
 
 +
[[File:Figure 19- Creating a Client Device1.png|900px|Figure 19- Creating a Client Device1.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
==== <span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets"><span class="mw-headline" id="Assets">Assets</span></span></span></span></span></span></span></span> ====
 +
 
 +
The Asset is used to enable the 42Q/Machine communication feature. For more information, refer&nbsp;<span style="box-sizing: border-box; margin: 0px; padding: 0px;">to[https://42qrpt1.42-q.com/mes_wiki/index.php/How_to_configure_a_bidirectional_event-link_communication_channel_between_IT_and_OT &nbsp;How]</span>[https://42qrpt1.42-q.com/mes_wiki/index.php/How_to_configure_a_bidirectional_event-link_communication_channel_between_IT_and_OT &nbsp;to Configure a bidirectional event-link communication channel between IT and OT].&nbsp;
 +
 
 +
#Select the '''Assets''' icon to manage the assets that integrated the shadows/machines.
 +
#Users can '''Select''' and '''Delete''' multiple assets at once.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 15: Manage Assets'''
 +
 
 +
[[File:IIoT Manage Assets.png|900px|IIoT Manage Assets.png]]
 +
<ol start="3">
 +
<li>At the Assets page, select '''ADD ASSET'''.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 16: Add Assets'''
 +
 
 +
[[File:IIoT Add Assets.png|900px|IIoT Add Assets.png]]
 +
<ol start="4">
 +
<li>Select the '''Asset Type, Assets, and add the Attributes.'''
 +
*'''Asset Type''': The users can select the Asset Type that already exists, or create a new asset Type by selecting the Add button.
 +
*'''Assets''': The users can select the Assets that already exist, or create a new asset by selecting the Add button.
 +
*'''Attributes''': Add the attributes of the asset. '''<u>Note</u>''': The attributes will be associated with the Asset Type. One Asset Type can have multiple attributes. The channels for this asset type should have the same value.&nbsp; '''Channel''': Optional, Each protocol or driver used in a server project is called a channel. &nbsp;A server project may consist of many channels with the same communications driver or with unique communications drivers. A channel acts as the basic building block of an OPC link. This group is used to specify general channel properties, such as the identification attributes and operating mode.&nbsp; The channel in the attribute is optional, but If the customer needs to use Kepware to change/update tag value from MQTT messages, you would need to enter the channel(same as the channel in Kepware) when defining the asset type. &nbsp; <ol start="5">
 +
</ol>  </ul> </li>
 +
</ol>
 +
 
 +
*Select '''SAVE''', then close the assets page to return to the Edge Device Info page.
 +
 
 +
=== <span class="mw-headline" id="Logs"><span class="mw-headline" id="Logs">Logs</span></span> ===
 +
 
 +
#'''Select''' the '''Logs''' tab to view GreenGlass logs for each Edge Device and for various functionalities, such as Data Ingestion, Cloud Printing, Machine Interface, and File Uploader.
 +
#Users can '''filter''' the logs by Message, Functionality Nam, Start Time, and End Time.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 17: Logs Tab'''
 +
 
 +
[[File:DSS logstab.png|900px|DSS logstab.png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 +
<li>'''Select''' the required '''log and log details '''option to see the detailed information of the log.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 18: Log Details'''
 +
 
 +
[[File:DSS Log Details.png|900px|DSS Log Details.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software"><span class="mw-headline" id="Install_42Q_Edge_Software">Install 42Q Edge Software</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
== <span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting"><span class="mw-headline" id="CloudPrinting">CloudPrinting</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 19: Cloud Printing'''
 +
 
 +
'''[[File:ED CloudPrinting.png|border|900px|ED CloudPrinting.png]]'''
 +
 
 +
&nbsp;
  
 
Please follow the steps below to create a 42Q Cloud Printing Edge Device in 42Q:
 
Please follow the steps below to create a 42Q Cloud Printing Edge Device in 42Q:
Line 80: Line 334:
 
&nbsp;
 
&nbsp;
  
'''Figure 3: CREATE EDGE DEVICE Button'''
+
'''Figure 20: CREATE EDGE DEVICE Button'''
  
[[File:DSS CREATE EDGE DEVICE Button.png|900px|DSS CREATE EDGE DEVICE Button.png]]
+
[[File:IIoT CREATE EDGE DEVICE Button.png|900px|IIoT CREATE EDGE DEVICE Button.png]]
  
 
&nbsp;
 
&nbsp;
Line 90: Line 344:
 
</ol>
 
</ol>
  
<u>'''Note:'''</u> After selecting the Group Name, the Group Version will automatically be selected.
+
<u>'''Note:'''</u> Once the Functionality Name is selected, the Functionality Version will automatically be selected.
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 4: Create Edge Device Form'''
+
<br/> '''Figure 21: Create Edge Device Form'''
  
[[File:DSS Create Edge Device Form.png|DSS Create Edge Device Form.png]]
+
[[File:IIoT Create Edge Device Form.png|900px|IIoT Create Edge Device Form.png]]
  
 
&nbsp;
 
&nbsp;
Line 108: Line 362:
 
&nbsp;
 
&nbsp;
  
'''Figure 5: Downloading The Files'''
+
'''Figure 22: Downloading The Files'''
  
[[File:DSS Downloading The Files.png|900px|DSS Downloading The Files.png]]
+
[[File:Figure 6- Downloading The Files.png|border|900px|DSS Downloading The Files.png]]
  
 
&nbsp;
 
&nbsp;
Line 125: Line 379:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 6: User Logged In as a Root User'''
+
<br/> '''Figure 23: User Logged In as a Root User'''
  
 
[[File:DSS User Logged In as a Root User.png|DSS User Logged In as a Root User.png]]
 
[[File:DSS User Logged In as a Root User.png|DSS User Logged In as a Root User.png]]
Line 138: Line 392:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 7: Edge Device Folder'''
+
<br/> '''Figure 24: Edge Device Folder'''
  
[[File:DSS Edge Device Folder.png|900px|DSS Edge Device Folder.png]]
+
[[File:IIoT Edge Device Folder.png|900px|IIoT Edge Device Folder.png]]
  
 
&nbsp;
 
&nbsp;
  
=== <span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens">Testing Label Printing Function Using Label Engine Screens</span></span></span></span></span></span></span> ===
+
=== <span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens"><span class="mw-headline" id="Testing_Label_Printing_Function_Using_Label_Engine_Screens">Testing Label Printing Function Using Label Engine Screens</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ===
  
 
#'''Navigate''' to: '''Administration > Label Engine Admin > Printer'''.  
 
#'''Navigate''' to: '''Administration > Label Engine Admin > Printer'''.  
Line 151: Line 405:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 8: Add Printer Button'''<br/> [[File:DSS Add Printer Button.png|900px|DSS Add Printer Button.png]]
+
<br/> '''Figure 25: Add Printer Button'''<br/> [[File:DSS Add Printer Button.png|border|900px|DSS Add Printer Button.png]]
  
 
&nbsp;
 
&nbsp;
 
<ol start="3">
 
<ol start="3">
 
<li>'''Enter''' the '''Printer Name'''.</li>
 
<li>'''Enter''' the '''Printer Name'''.</li>
<li>'''Select''' the'''Resolution''' from the drop-down list.</li>
+
<li>'''Select''' the&nbsp;'''Resolution''' from the drop-down list.</li>
 
<li>'''Select''' the Connectivity Type as '''Edge Device'''.</li>
 
<li>'''Select''' the Connectivity Type as '''Edge Device'''.</li>
 
</ol>
 
</ol>
Line 162: Line 416:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 9: Entering The Printer Details'''
+
<br/> '''Figure 26: Entering The Printer Details'''
  
 
[[File:DSS Entering The Printer Details.png|DSS Entering The Printer Details.png]]
 
[[File:DSS Entering The Printer Details.png|DSS Entering The Printer Details.png]]
Line 168: Line 422:
 
&nbsp;
 
&nbsp;
  
<u>'''Note:'''</u> The TCP IP Address should be the address of the printer or start a TCP Server as a simulator by executing the next command in the Terminal: '''python3 tcpServer.py'''.
+
<u>'''Note:'''</u> The TCP IP Address should be the address of the printer or start a TCP Server as a simulator by executing the next command in the Terminal:
  
&nbsp;
+
'''&nbsp;sudo -H -u ggc_user python3.8 tcpServer.py or sudo -H -u ggc_user python3.11 tcpServer.py. '''The File'''tcpServer.py '''be included in the Edge Device ZIP file.
 
<ol start="6">
 
<ol start="6">
 
<li>'''Navigate''' to: '''Production > Label Engine Labels > LE Labels'''.</li>
 
<li>'''Navigate''' to: '''Production > Label Engine Labels > LE Labels'''.</li>
Line 180: Line 434:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 10: Print Button'''
+
<br/> '''Figure 27: Print Button'''
  
 
[[File:DSS Print Button.png|900px|DSS Print Button.png]]
 
[[File:DSS Print Button.png|900px|DSS Print Button.png]]
Line 195: Line 449:
 
&nbsp;
 
&nbsp;
  
'''Figure 11: Entering Test Print Data'''
+
'''Figure 28: Entering Test Print Data'''
  
 
[[File:DSS Entering Test Print Data.png|900px|DSS Entering Test Print Data.png]]
 
[[File:DSS Entering Test Print Data.png|900px|DSS Entering Test Print Data.png]]
Line 208: Line 462:
 
&nbsp;
 
&nbsp;
  
&nbsp;
+
'''Figure 29: Successful Testing Message'''
  
'''Figure 12: Successful Testing Message'''
+
[[File:DSS Successful Testing Message.png|DSS Successful Testing Message.png]]<br/> &nbsp;
  
[[File:DSS Successful Testing Message.png|DSS Successful Testing Message.png]]<br/> &nbsp;
+
&nbsp;
  
 
&nbsp;
 
&nbsp;
Line 218: Line 472:
 
&nbsp;
 
&nbsp;
  
== <span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface">MachineInterface</span></span></span></span></span></span> ==
+
== <span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface"><span class="mw-headline" id="MachineInterface">MachineInterface</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
  
This function is used for sending commands to machines from the cloud.<br/> Below there is an example for stopping a machine when the server finds MSD material expired.
+
This function is used for sending commands to machines from the cloud.<br/> Below there is an example of stopping a machine when the server finds MSD material expired.
  
 
&nbsp;
 
&nbsp;
  
'''Figure 13: Server Stopping A Machine Due To Material Expired Diagram'''
+
'''Figure 30: Server Stopping A Machine Due To Material Expired Diagram'''
  
[[File:DSS Server Stopping A Machine Due To Material Expired Diagram.png|900px|DSS Server Stopping A Machine Due To Material Expired Diagram.png]]<br/> &nbsp;
+
[[File:EdgeDevice Diagram.png|border|900px|EdgeDevice Diagram.png]]<br/> &nbsp;
  
 
The diagram above is divided into three steps:
 
The diagram above is divided into three steps:
  
 
#Install an Edge Device on a server in the plant.  
 
#Install an Edge Device on a server in the plant.  
#The plant creates a new local application which can communicate with the Edge Device by TCP and also can send commands to machines.  
+
#The plant creates a new local application that can communicate with the Edge Device by TCP and also can send commands to machines.  
 
#The Cloud application will send commands to the Edge Device, then the Edge Device will forward the message to the local application through TCP/IP.  
 
#The Cloud application will send commands to the Edge Device, then the Edge Device will forward the message to the local application through TCP/IP.  
  
Line 274: Line 528:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 14: Sending The Payload Using Postman'''
+
<br/> '''Figure 31: Sending The Payload Using Postman'''
  
[[File:DSS Sending The Payload Using Postman..png|DSS Sending The Payload Using Postman..png]]<br/> &nbsp;
+
[[File:DSS Sending The Payload Using Postman..png|border|DSS Sending The Payload Using Postman..png]]<br/> &nbsp;
 
<ol start="20">
 
<ol start="20">
 
<li>'''Open''' the '''Terminal'''.</li>
 
<li>'''Open''' the '''Terminal'''.</li>
Line 286: Line 540:
 
&nbsp;
 
&nbsp;
  
'''Figure 15: Successful Payload Sending Logs'''
+
'''Figure 32: Successful Payload Sending Logs'''
  
 
[[File:DSS Successful Payload Sending Logs.png|900px|DSS Successful Payload Sending Logs.png]]<br/> &nbsp;
 
[[File:DSS Successful Payload Sending Logs.png|900px|DSS Successful Payload Sending Logs.png]]<br/> &nbsp;
Line 294: Line 548:
 
&nbsp;
 
&nbsp;
  
== <span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion">DataIngestion</span></span></span></span></span> ==
+
&nbsp;
 +
 
 +
== <span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion"><span class="mw-headline" id="DataIngestion">DataIngestion</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
  
 
Please follow the steps below to create a 42Q Cloud Data Ingestion Edge Device in 42Q:
 
Please follow the steps below to create a 42Q Cloud Data Ingestion Edge Device in 42Q:
Line 321: Line 577:
 
&nbsp;
 
&nbsp;
 
<ol start="13">
 
<ol start="13">
<li>When the status of this Edge Device is '''"Healthy"''', '''select''' the '''Edit''' button to enter the Edge Device information.</li>
+
<li>'''Select '''the'''Edge Device, '''and'''select '''the'''Edit button.'''</li>
 +
<li>'''Select '''the'''CLIENT DEVICES tab.'''</li>
 +
<li>'''Select ASSOCIATE CLIENT DEVICES.'''</li>
 +
</ol>
 +
 
 +
<br/> '''Figure 33: CLIENT DEVICES TAB'''
 +
 
 +
[[File:DSS Client Devices Tab.png|900px|DSS Client Devices Tab.png]]
 +
 
 +
&nbsp;
 +
<ol start="16">
 +
<li>'''Enter '''the name of the'''Client Device''' to be created'''.'''</li>
 +
</ol>
 +
 
 +
<u>'''Note'''</u>: The name can be up to 128 characters. Valid characters: a-z, A-Z, 0-9, underscore (_), and hyphen (-).
 +
<ol start="17">
 +
<li>'''Select SAVE'''.</li>
 +
<li>'''Select''' the '''Download''' icon to download the '''Client Device ZIP file'''.</li>
 +
<li>'''Right-click''' on the '''ZIP file'''.</li>
 +
<li>Select '''Extract Here''' to unzip the file.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 16: Edit Button'''
+
'''Figure 34: Creating a Client Device'''
 +
 
 +
[[File:Figure 19- Creating a Client Device1.png|border|DSS Creating a Client Device.png]]
 +
 
 +
<br/> '''Figure 35: Client Device Folder'''
 +
 
 +
[[File:IIoT Client Device Folder.png|900px|IIoT Client Device Folder.png]]
 +
 
 +
&nbsp;
 +
<ol start="21">
 +
<li>'''Open''' the '''MqttTest.py''' file.</li>
 +
<li>'''Find''' the line that contains: '''‘# Change This’'''.</li>
 +
<li>'''Modify''' the '''data information''' to be sent; users may see an example below (user’s will be different).</li>
 +
</ol>
  
[[File:DSS Edit Button.png|900px|DSS Edit Button.png]]
+
&nbsp;
 +
 
 +
<br/> '''Figure 36: Data To Be Modified'''
 +
 
 +
[[File:IIoT Data To Be Modified.png|900px|IIoT Data To Be Modified.png]]
 +
 
 +
&nbsp;
 +
<ol start="24">
 +
<li>'''Open''' the '''Terminal'''.</li>
 +
<li>'''Enter''' the next command: '''python MqttTest.py''', and then press Enter. The result should be similar to the image below:</li>
 +
</ol>
 +
 
 +
<br/> '''Figure 37: Result Of Executing The MqttTest.py File'''
 +
 
 +
[[File:DSS Result Of Executing The MqttTest.py File.png|900px|DSS Result Of Executing The MqttTest.py File.png]]
 +
 
 +
&nbsp;
 +
<ol start="26">
 +
<li>'''Navigate''' to the local device’s path: '''/greengrass/v2/log''' to view the logs.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 38: Successful MqttTest.py Running Logs'''
 +
 
 +
[[File:DSS Successful MqttTest.py Running Logs.png|800px|DSS Successful MqttTest.py Running Logs.png]]
 +
 
 +
&nbsp;
 +
 
 +
<u>'''Note:'''</u> If the message from the previous image is printed in your local log, the function has succeeded.
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
== <span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader"><span class="mw-headline" id="File_Uploader">File Uploader</span></span></span></span></span></span></span></span></span></span> ==
 +
 
 +
'''OS''':&nbsp;
 +
 
 +
*Ubuntu 20.04 / 22.04
 +
*Centos 8.5
 +
 
 +
The following is an example of FileUploader.
 +
 
 +
#Select the desired Edge Device and download the ZIP file. Then, right-click and choose 'Extract Here' to unzip the file.&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 39: Folders'''
 +
 
 +
[[File:DSS folder.png|900px|DSS folder.png]]
 +
 
 +
&nbsp;
 +
<ol start="2">
 +
<li>Open Terminal and execute the following command: '''sudo sh fileUploader.sh'''</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 40: Enter the command'''<br/> [[File:DSS Enter the command.png|900px|DSS Enter the command.png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 +
<li>'''Create or update edge devices in 42Q.&nbsp;'''</li>
 +
</ol>
 +
<ul style="margin-left: 40px;">
 +
<li>Visit IIoT configuration in 42Q, and create a new edge device. (For first-time install)</li>
 +
</ul>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 41: Create Edge Device'''
 +
 
 +
[[File:IIoT Create Edge Device.png|900px|IIoT Create Edge Device.png]]
 +
 
 +
&nbsp;
 +
<ul style="margin-left: 40px;">
 +
<li>Update the existing edge device by adding it to the FileUpload Group. (For existing edge devices)</li>
 +
</ul>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 42: Add Functionality'''
 +
 
 +
[[File:IIoT Add Functionality.png|900px|IIoT Add Functionality.png]]
 +
<ol start="4">
 +
<li>'''Install Edge Device:'''</li>
 +
</ol>
 +
<ul style="margin-left: 40px;">
 +
<li>For existing edge devices, please stop greengrass by the following command: '''sudo systemctl stop greengrass.service'''</li>
 +
<li>Download and unzip the greengrass package locally.</li>
 +
</ul>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 43: Edge device tab'''
 +
 
 +
'''[[File:IIoT Edge device tab.png|900px|IIoT Edge device tab.png]]'''
 +
 
 +
&nbsp;
 +
<ul style="margin-left: 40px;">
 +
<li>Ask the 42Q mes-support team to provide a '''palindrome client ID and a secret''' that can access the mes-API and PTSR database.</li>
 +
<li>Edit '''core_config.json''' and add '''ClientId''' and '''Secret''' as given below.&nbsp;</li>
 +
</ul>
 +
 
 +
{<br/> &nbsp; &nbsp; "MaximumUploads":"3",<br/> &nbsp; &nbsp; "PoolMaxWorkers":"10",<br/> &nbsp; &nbsp; "RetentionDays":"7",<br/> &nbsp; &nbsp; "ClientId":"****",<br/> &nbsp; &nbsp; "Secret":"****",<br/> &nbsp; &nbsp; "FileType":[<br/> &nbsp; &nbsp; &nbsp; &nbsp; {<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "SubFolder":"/",<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MachineType":"panacim",<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Processer":[<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Extension":".xml",<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Parser":"panacim"<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]<br/> &nbsp; &nbsp; &nbsp; &nbsp; }<br/> &nbsp; &nbsp; ]<br/> }<br/> The ClientId and secret can also be defined in the settings. The ClientId and Secret correspond to the Token and Key on the Settings page. The Token and Key on the Settings page are site-level and will be applied to all edge devices within the site. The other parameters don’t require a change.
 +
<ul style="margin-left: 40px;">
 +
<li>Open the terminal, and install greengrass by executing the command: '''sudo sh ggcV2.sh'''</li>
 +
</ul>
 +
 
 +
&nbsp;
 +
<ol start="5">
 +
<li>'''Test Steps:'''</li>
 +
</ol>
 +
 
 +
*Put the (eg.'''panacim xml''' ) file into the '''/home/traceability/incoming''' folder (step 1 installed). If the XML file is uploaded successfully, then check the success folder.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 44: Incoming folder&nbsp;'''
 +
 
 +
[[File:DSS Incoming folder .png|900px|DSS Incoming folder .png]]
 +
 
 +
&nbsp;
 +
 
 +
*Once the XML file is in the success folder, Navigate to the '''Reporting > MESWeb > PTSR reports''' to check '''Material on Board, Material on Board by Batch, and Material Where Used reports''', so that the data will be displayed in these reports. <ol style="margin-left: 40px;">
 +
</ol>  </ul>
 +
<ol style="margin-left: 80px;">
 +
<li>'''Material on Board Report:''' Select the '''data source''', input the XML file’s barcode on '''Board Barcode''', and select '''Go''' to get the report.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 45: Material on Board Report'''
 +
 
 +
[[File:DSS Material on Board Report.png|900px|DSS Material on Board Report.png]]
 +
 
 +
&nbsp;
 +
<ol start="2" style="margin-left: 80px;">
 +
<li>'''Material on Board by Batch Report''': Select the '''data source''', input the XML file’s barcode on '''Board Serial No''', and select '''Go''' to get the report.</li>
 +
</ol>
  
 
&nbsp;
 
&nbsp;
<ol start="14">
+
 
<li>'''Select''' the '''CLIENT DEVICES''' tab.</li>
+
'''Figure 46: Material on Board by Batch Report'''
<li>'''Select''' '''CREATE CLIENT DEVICES'''.</li>
+
 
 +
[[File:DSS Material on Board by Batch Report.png|900px|DSS Material on Board by Batch Report.png]]
 +
<ol start="3" style="margin-left: 80px;">
 +
<li>'''Material Where Used Report''': Select the '''data source''', input the XML file’s REELBAR on the '''Component barcode'''(Optional), select the '''date range''', and select '''Go''' to get the report.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 17: CLIENT DEVICES TAB'''
+
'''Figure 47: Material Where Used Report'''
 +
 
 +
[[File:DSS Material Where Used Report.png|900px|DSS Material Where Used Report.png]]
 +
 
 +
&nbsp;
 +
 
 +
*Navigate '''Administrator >Multimedia Admin > Multimedia Maintenance''', input the name(eg. SANM-E30) on '''Tenant Name''', (eg. PTS) on Tag Name, and then select the '''search''' button, to see the newly uploaded XML file.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 48: Multimedia Maintenance'''
 +
 
 +
[[File:DSS Multimedia Maintenance.png|900px|DSS Multimedia Maintenance.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things_https:.2F.2Flh7-rt.googleusercontent.com.2Fdocsz.2FAD_4nXdmSgfYdA6m_AnU7uUZjaudfIuwslyaevsfHyV4_8245SA7oJHGHBtmpicZxkmztUwZc-tYcWZnrHrX1hXzePtkEDtPI1ZX713MRzlcZFD9n7vbbbq_bUZdaOqQ4N01MsPaesqmmvkB4RUc9975yobDx74.3Fkey.3DXrHVrEcpKpCG_AEZiqCmHQ"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things"><span class="mw-headline" id="Things">Things&nbsp;[[File:DSS Things.png|DSS Things.png]]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
  
[[File:DSS CLIENT DEVICES TAB.png|900px|DSS CLIENT DEVICES TAB.png]]
+
In this portlet, users can make sure whether the AWS Cloud has stored the data uploaded successfully or not.<br/> To do so, follow the steps below:
 +
 
 +
#'''Navigate''' to: '''Shop Floor Control > Configuration > IIoT Configuration > Things'''.
 +
 
 +
&nbsp; &nbsp; &nbsp; &nbsp;2. If the '''“Thing ID”''' is the same as the '''“id”''' configured in MqttTest.py file, it means that AWS Cloud has already stored the data uploaded.
 +
 
 +
&nbsp; &nbsp; &nbsp; &nbsp;3.&nbsp;To search for a specific thing, users can use the filters by '''Thing ID''', '''Thing Time,''' and '''Thing Updated Time.''' Enter the appropriate value in the '''filter''' field; the system will automatically search the value.&nbsp;
 +
 
 +
&nbsp; &nbsp; &nbsp; &nbsp;4. Select the '''Refresh''' icon to refresh the records on the page.&nbsp;
  
 
&nbsp;
 
&nbsp;
<ol start="16">
+
 
<li>'''Enter''' the name of the '''Client Device''' to be created.</li>
+
'''Figure 49: Thing ID'''
 +
 
 +
'''[[File:DSS ThingID.png|900px|DSS ThingID.png]]'''
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations"><span class="mw-headline" id="Locations">Locations</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>&nbsp;[[File:DSS Location.png|DSS Location.png]]</span></span> =
 +
 
 +
The Locations portlet allows users to assign a location to the Edge Devices in order to identify their Physical Location.<br/> To add a location, follow the steps below:
 +
 
 +
#'''Navigate''' to: '''Shop Floor Control''' > '''Configuration''' > '''IIoT Configuration''' > '''Locations'''.
 +
#'''Select''' the '''ADD LOCATIONS''' button.
 +
 
 +
<br/> '''Figure 50: ADD LOCATION Button'''
 +
 
 +
[[File:DSS ADDLOCATIONButton.png|900px|DSS ADDLOCATIONButton.png]]
 +
<ol start="3">
 +
<li>'''Enter''' the '''Site'''.</li>
 +
<li>'''Enter''' the '''Physical Location'''.</li>
 +
<li>'''Select''' the '''SAVE''' button.</li>
 
</ol>
 
</ol>
  
<u>'''Note:'''</u> The name can be up to 128 characters. Valid characters: a-z, A-Z, 0-9, colon (:), underscore (_), and hyphen (-).
+
<br/> '''Figure 51: Creating A Location'''
 +
 
 +
[[File:Figure 28- Creating A Location1.png|border|DSS Creating A Location.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups"><span class="mw-headline" id="Groups">Groups&nbsp;[[File:DSS Groups.png|DSS Groups.png]]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
Users can create different groups of Edge Devices. Each group must have a unique name and one or more Thing IDs associated with it.
 +
 
 +
== <br/> <span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group"><span class="mw-headline" id="Add_a_Group">Add a Group</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
 +
 
 +
To add a group, follow the steps below:
 +
 
 +
#'''Navigate''' to: '''Shop Floor Control''' > '''Configuration''' > '''IIoT Configuration''' > '''Groups'''.
 +
#'''Select''' the '''ADD GROUP''' button.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 52: ADD GROUP Button'''
 +
 
 +
[[File:IIoT ADD GROUP Button.png|900px|IIoT ADD GROUP Button.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="17">
+
<ol start="3">
<li>'''Select''' '''ASSOCIATE'''.</li>
+
<li>'''Enter''' the '''Unique Group Name'''.</li>
 +
<li>'''Select''' a '''Thing ID'''.</li>
 +
<li>'''Select''' the '''SAVE''' button.</li>
 +
<li>Select the '''Refresh''' icon to refresh the records on the page.</li>
 
</ol>
 
</ol>
 +
 +
<br/> '''Figure 53: Creating A Group'''
 +
 +
[[File:Figure 30- Add a Group1.png|border|DSS GROUP Button.png]] &nbsp;
 +
 +
== <span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group"><span class="mw-headline" id="Add_a_Rule_To_An_Existing_Group">Add a Rule To An Existing Group</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> ==
 +
 +
To add a rule, follow the steps below:
 +
 +
#'''Hover the mouse over''' a '''Group Name''' from the Group list.
 +
#'''Select''' the '''Edit Group'''&nbsp;icon.
 +
#'''Select''' a rule from the '''Select Rules''' drop-down list.
 +
#'''Select''' the '''SAVE''' button.
 +
 +
<br/> '''Figure 54: Editing A Group'''
 +
 +
[[File:Figure 32- Editing A Group1.png|border|DSS Editing A Group.png]]
  
 
&nbsp;
 
&nbsp;
Line 358: Line 883:
 
&nbsp;
 
&nbsp;
  
'''Figure 18: Creating a Client Device'''
+
= <span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup"><span class="mw-headline" id="Notification_Setup">Notification Setup&nbsp;[[File:DSS Notification Setup.png|DSS Notification Setup.png]]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
Before creating any rules, users have to set up notifications. Each user can subscribe to one or more '''SNS topics''' (Simple Notification Service); these users will receive notifications via text messages or email.<br/> To set up notifications, follow the steps below:
 +
 
 +
#'''Navigate''' to: '''Shop Floor Control''' > '''Configuration''' > '''IIoT Configuration''' > '''Notification Setup'''.
 +
#'''Select''' the '''CREATE SNS TOPIC''' button. A pop-up window will appear.
 +
 
 +
<br/> '''Figure 55: CREATE SNS TOPIC Button'''
 +
 
 +
[[File:IIoT CREATE SNS TOPIC Button.png|900px|IIoT CREATE SNS TOPIC Button.png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 +
<li>'''Enter''' the '''Topic Name'''.</li>
 +
<li>'''Select''' the '''SAVE''' button.</li>
 +
<li>Select the '''Refresh''' icon to refresh the records on the page.&nbsp;</li>
 +
</ol>
 +
 
 +
<br/> '''Figure 56: Create SNS Topic Pop-up Window'''
  
[[File:DSS Creating a Client Device.png|DSS Creating a Client Device.png]]
+
[[File:DSS Create SNS Topic Pop-up Window.png|DSS Create SNS Topic Pop-up Window.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="18">
+
<ol start="6">
<li>'''Select''' the '''Download''' icon to download the '''Client Device ZIP file'''.</li>
+
<li>'''Hover the cursor over''' the '''Topic'''.</li>
<li>'''Right-click''' on the '''ZIP file'''.</li>
+
<li>'''Select''' the '''Subscribe''' icon. A new pop-up window will appear.</li>
<li>'''Select''' '''Extract Here''' to unzip the file.</li>
 
 
</ol>
 
</ol>
 +
 +
<br/> '''Figure 57: Subscribe Icon'''
 +
 +
[[File:IIoT Subscribe Icon.png|900px|IIoT Subscribe Icon.png]]
  
 
&nbsp;
 
&nbsp;
 +
<ol start="8">
 +
<li>'''Select''' the '''SUBSCRIBE TO SNS TOPIC''' button. A new pop-up window will appear.</li>
 +
</ol>
  
<br/> '''Figure 19: Client Device Folder'''
+
<br/> '''Figure 58: SUBSCRIBE TO SNS TOPIC Button'''
  
[[File:DSS Client Device Folder.png|900px|DSS Client Device Folder.png]]
+
[[File:IIoT SUBSCRIBE TO SNS TOPIC Button.png|900px|IIoT SUBSCRIBE TO SNS TOPIC Button.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="21">
+
<ol start="9">
<li>'''Open''' the '''MqttTest.py''' file.</li>
+
<li>'''Select''' the '''Notification Method''' (Email or Phone).</li>
<li>'''Find''' the line that contains: '''‘# Change This’'''.</li>
+
<li>'''Enter''' the '''Notification End Point''' (email address).</li>
<li>'''Modify''' the '''data information''' to be sent; users may see an example below (user’s will be different).</li>
+
<li>'''Select''' the '''SUBSCRIBE TO SNS TOPIC''' button to save the information.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 20: Data To Be Modified'''
+
<br/> '''Figure 59:&nbsp;Subscribing To A SNS Topic'''
  
[[File:DSS Data To Be Modified.png|900px|DSS Data To Be Modified.png]]
+
[[File:DSS Subcribing To A SNS Topic.png|border|DSS Subcribing To A SNS Topic.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="24">
+
<ol start="12">
<li>'''Open''' the '''Terminal'''.</li>
+
<li>The Subscribe List will display the '''Pending Confirmation''' and '''Confirmed''' End Points.</li>
<li>'''Enter''' the next command: '''python MqttTest.py''', and then press Enter. The result should be similar to the image below:</li>
+
</ol>
 +
 
 +
<br/> '''Figure 60: Subscribe List'''
 +
 
 +
[[File:IIoT Subscribe List.png|900px|IIoT Subscribe List.png]]
 +
<ol start="13">
 +
<li>A confirmation mail will be sent to the entered email address. '''Open''' the '''mail'''.</li>
 +
<li>'''Select''' the '''Confirm subscription''' link.</li>
 +
<li>A window will be opened in a new tab confirming the subscription. To unsubscribe '''select''' the '''“click here to unsubscribe”''' link, else '''close''' the '''window'''.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 21: Result Of Executing The MqttTest.py File'''
+
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules"><span class="mw-headline" id="Rules">Rules&nbsp;[[File:DSS Rules.png|DSS Rules.png]]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
In this portlet, users can create, view, edit, and delete rules. After setting up notifications, users may create rules that will trigger alerts. Each rule is associated with one or more Groups or Thing IDs.
 +
 
 +
'''Navigate''' to: '''Shop Floor Control''' > '''Configuration''' > '''IIoT Configuration''' > '''Rules'''.
 +
 
 +
&nbsp;
 +
 
 +
== <span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule"><span class="mw-headline" id="Add_Rule">Add Rule</span></span></span></span></span></span></span></span> ==
  
[[File:DSS Result Of Executing The MqttTest.py File.png|900px|DSS Result Of Executing The MqttTest.py File.png]]
+
#Select the '''Add Rule''' button. A new pop-up window will appear.  
  
 
&nbsp;
 
&nbsp;
<ol start="26">
+
 
<li>'''Navigate''' to the local device’s path: '''/greengrass/v2/log''' to view the logs.</li>
+
'''Figure 61: Add rule'''<br/> [[File:IIoT addrules.png|900px|IIoT addrules.png]]
 +
<ol start="2">
 +
<li>Enter the '''Rule name, Notification interval, SNS topic''', and '''Maximum Alert times'''.&nbsp;</li>
 +
<li>Check in the box to receive alerts for the things that have not uploaded measured data for more than the given time.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
 +
 +
'''Figure 62: Entering Publish Rule Information'''<br/> [[File:DSS EnteringPublishRuleInformation.png|900px|DSS EnteringPublishRuleInformation.png]]
  
 
&nbsp;
 
&nbsp;
  
'''Figure 22: Successful MqttTest.py Running Logs'''
+
Next, select one of the two '''Bounds''' (rules):
 +
 
 +
*'''Threshold''': This rule will trigger an alert whenever a measured value crosses a specific threshold.  
 +
*'''Independent''': This rule will trigger an alert whenever a measured value satisfies the user-defined criteria.
 +
 
 +
&nbsp;
  
[[File:DSS Successful MqttTest.py Running Logs.png|800px|DSS Successful MqttTest.py Running Logs.png]]
+
'''Figure 63: Defining A Bound'''<br/> [[File:DSS DefiningABound.png|900px|DSS DefiningABound.png]]
 +
 
 +
&nbsp;
 +
<ol start="4">
 +
<li>If the Threshold is selected, choose one option from the Boundary Considerations list and the Control Values list.</li>
 +
<li>Enter the Limit Value.</li>
 +
<li>Select one of the Rule Options.</li>
 +
<li>Select the Save button.</li>
 +
</ol>
 +
 
 +
<span class="mw-headline" id="">&nbsp;</span>
  
<br/> &nbsp;
+
== <span class="mw-headline" id="Edit_and_Delete_Rule"><span class="mw-headline" id="Edit_and_Delete_Rule"><span class="mw-headline" id="Edit_and_Delete_Rule"><span class="mw-headline" id="Edit_and_Delete_Rule"><span class="mw-headline" id="Edit_and_Delete_Rule"><span class="mw-headline" id="Edit_and_Delete_Rule">Edit and Delete Rule</span></span></span></span></span></span> ==
  
<u>'''Note:'''</u> If the message from the previous image is printed in your local log, the function has succeeded.
+
#Select the '''Edit''' button. A new pop-up window will appear.  
  
 
&nbsp;
 
&nbsp;
<ol start="27">
+
 
<li>'''Navigate''' to: '''Shop Floor Control > Configuration > IIoT Configuration > Things'''.</li>
+
'''Figure 64: Edit Rule'''
 +
 
 +
[[File:IIoT editrule.png|900px|IIoT editrule.png]]
 +
<ol start="2">
 +
<li>Users can edit '''Notification Interval, SNS topic, Maximum Alert times, '''and'''Boundary''' except '''Rule name'''.&nbsp;</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 23: Things Portlet'''
+
'''Figure 65: Editing the options'''
  
[[File:DSS Things Portlet.png|900px|DSS Things Portlet.png]]
+
[[File:DSS Editingtheoptions.png|900px|DSS Editingtheoptions.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="28">
+
<ol start="3">
<li>If the '''“Thing ID”''' is the same as the '''“id”''' configured in MqttTest.py file, it means that AWS Cloud has already stored the data uploaded.</li>
+
<li>Select the '''Save''' button to complete the action.&nbsp;</li>
 +
<li>Select the '''Delete''' button to delete the rule.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
 +
 +
'''Figure 66: Delete rule&nbsp;'''
 +
 +
[[File:IIoT deleterule.png|900px|IIoT deleterule.png]]
 +
 +
&nbsp;
 +
 +
== <span class="mw-headline" id="Mapping"><span class="mw-headline" id="Mapping"><span class="mw-headline" id="Mapping"><span class="mw-headline" id="Mapping"><span class="mw-headline" id="Mapping"><span class="mw-headline" id="Mapping">Mapping</span></span></span></span></span></span> ==
 +
 +
#Select the '''Mapping''' icon to apply a rule to the Things and Groups.
  
 
&nbsp;
 
&nbsp;
  
'''Figure 24: Thing ID'''<br/> [[File:DSS Thing ID.png|900px|DSS Thing ID.png]]
+
'''Figure 67: Mapping the rule'''<br/> [[File:IIoT-Mapping the rule.png|900px|IIoT-Mapping the rule.png]]
 +
 
 +
&nbsp;
 +
<ol start="2">
 +
<li>Users can select Things and Groups for the rule or remove some existing things from the rule.</li>
 +
</ol>
  
 
&nbsp;
 
&nbsp;
<ol start="29">
+
 
<li>'''Navigate''' to: '''Reporting > IIoT Dashboard'''.</li>
+
'''Figure 68: Selecting Things and Groups'''<br/> [[File:DSS Selecting Things and Groups.png|900px|DSS Selecting Things and Groups.png]]
<li>'''Select''' the '''+''' icon to create a new widget.</li>
+
<ol start="3">
 +
<li>Select the '''Save''' button to complete the action.</li>
 +
<li>Select the '''Refresh''' icon to refresh the records on the page.</li>
 
</ol>
 
</ol>
  
 
&nbsp;
 
&nbsp;
 +
 +
'''Figure 69: Refresh the Page'''<br/> [[File:IIoT Refresh the Page.png|900px|IIoT Refresh the Page.png]]
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
= <span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline" id="Alerts"><span class="mw-headline">Alerts&nbsp;[[File:DSS Alerts.png|DSS Alerts.png]]</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 +
After setting up notifications and rules, when a rule’s conditions comply, the alerts will be triggered, causing the notifications to be sent to the subscribed users.<br/> To access the Alerts portlet, follow the steps below:
 +
 +
#'''Navigate''' to: '''Shop Floor Control''' > '''Configuration''' > '''IIoT Configuration''' > '''Alerts'''.
 +
#To search for a specific alert, users can use the filters: '''Thing ID''',&nbsp;'''Rule, Rule Type, Status,&nbsp;'''and&nbsp;'''Alert Time'''. To do so, '''enter''' the appropriate '''value''' in the filter field; the system will automatically search the value.
 +
#Select the Refresh icon to refresh the records on the page.&nbsp;
 +
#Users can filter the Alerts record with multiple statuses
  
 
&nbsp;
 
&nbsp;
  
'''Figure 25: Add (+) Icon'''<br/> [[File:DSS Add (+) Icon.png|900px|DSS Add (+) Icon.png]]
+
'''Figure 70: Thing ID And Rule Filters'''
 +
 
 +
[[File:IIoT Thing ID And Rule Filters.png|900px|IIoT Thing ID And Rule Filters.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="31">
+
 
 +
'''Figure 71: Alert Status'''
 +
 
 +
[[File:DSS Alertstatus.png|900px|DSS Alertstatus.png]]
 +
 
 +
&nbsp;
 +
 
 +
*'''Alerting''': Processing.
 +
*'''Auto Stop Alert''': There are ‘max alert times’ in the rule, if the system already sends out the message/mails equal to the ‘max alert times’, marking it as ‘Auto Stop Alert’.
 +
*'''Acknowledged''': If a user received the email or message, he could mark it as acknowledged to stop the system from sending events/emails. (User click the acknowledge button)
 +
*'''Auto Processed''': Edge device/Client application/OPC received events and response success.
 +
<ol start="5">
 +
<li>To acknowledge an alert, '''select''' an '''alert checkbox'''.</li>
 +
<li>'''Select''' the '''Acknowledge&nbsp;Alert''' button.</li>
 +
</ol>
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 72: Acknowledge An Alert'''
 +
 
 +
[[File:DSS AcknowledgeAnAlert.png|900px|DSS AcknowledgeAnAlert.png]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
= <span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard"><span class="mw-headline" id="Dashboard">Dashboard</span></span></span></span></span></span></span></span></span></span></span></span></span></span> =
 +
 
 +
&nbsp;
 +
 
 +
#'''Navigate''' to: '''Reporting > IIoT Dashboard'''.
 +
#'''Select''' the '''+''' icon to create a new widget.
 +
 
 +
&nbsp;
 +
 
 +
'''Figure 73: Add (+) Icon'''<br/> [[File:DSS Add (+) Icon.png|border|900px|DSS Add (+) Icon.png]]
 +
 
 +
&nbsp;
 +
<ol start="3">
 
<li>'''Enter''' the '''Widget Name'''.</li>
 
<li>'''Enter''' the '''Widget Name'''.</li>
 +
<li>'''Select''' one of the '''types of widgets''':</li>
 +
</ol>
 +
 +
*'''Historical'''
 +
*'''Predictive'''
 +
*'''Variation:''' This option requires entering the Lower and Upper Control Limit.
 +
*'''CPK/PPK(Single Thing Only):''' This option requires entering the Lower and Upper Control Limit. This type of widget is not possible to associate with groups, only Things.
 +
<ol start="5">
 +
<li>'''Select''' one or more '''Group Name''' from the '''GROUPS''' tab.</li>
 
<li>'''Select''' the '''THINGS''' tab.</li>
 
<li>'''Select''' the '''THINGS''' tab.</li>
<li>'''Select''' the '''"id"''' value previously configured in the MqttTest.py file.</li>
+
<li>'''Select''' the '''Thing ID''' that matches the '''"id"''' value previously configured in the MqttTest.py file.</li>
 
<li>'''Select''' the '''SAVE''' button located at the end of the Add Widget Form.</li>
 
<li>'''Select''' the '''SAVE''' button located at the end of the Add Widget Form.</li>
 
</ol>
 
</ol>
Line 461: Line 1,134:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 26: Creating a Widget'''
+
<br/> '''Figure 74:&nbsp;Creating a Widget'''
  
[[File:DSS Creating a Widget.png|900px|DSS Creating a Widget.png]]
+
[[File:Figure 52- Creating a Widget.png|border|600px|DSS Creating a Widget.png]]
  
 
&nbsp;
 
&nbsp;
<ol start="35">
+
<ol start="9">
 
<li>'''Select''' the '''show/hide''' icon to view the values of the '''widget''' created.</li>
 
<li>'''Select''' the '''show/hide''' icon to view the values of the '''widget''' created.</li>
 
</ol>
 
</ol>
Line 472: Line 1,145:
 
&nbsp;
 
&nbsp;
  
<br/> '''Figure 27: Show/Hide Icon'''
+
<br/> '''Figure 75: Show/Hide Icon'''
  
[[File:DSS Show-Hide Icon.png|900px|DSS Show-Hide Icon.png]]
+
[[File:DSS Show-Hide Icon.png|border|900px|DSS Show-Hide Icon.png]]
  
 
<br/> <u>'''Note:'''</u> Users can check the payload sent through either of the following:
 
<br/> <u>'''Note:'''</u> Users can check the payload sent through either of the following:
  
 
*IIoT widget.  
 
*IIoT widget.  
 +
 +
----
  
 
&nbsp;
 
&nbsp;

Latest revision as of 15:38, 15 October 2024

42Q Home > IIoT > Device Self Service

 


 

 

IIoT Configuration
Device Self Service
Version MES 15.82
Revision G1
 

 

 

 

 

 

Introduction

The concept of GGC stands for “Green Grass Computer”, the word: “Computer” also refers to any kind of device. This document will teach users how to configure, install, and deploy a GGC, as well as create and set up a Device Self-Service for establishing a connection between the computer (device) and the 42Q portal to send data (payloads).

 

Prerequisites

  • Only Linux is supported for the computer or device to install the Green Grass Core. The related shell scripts and test code only work on Linux systems (Windows is not currently supported).
  • Python 3.8 or higher must be installed and configured to run the test code.

 

Operating System and Software Requirements

  • Linux kernel version 4.4 or later (Ubuntu 20.04 and CentOS 8.5).
  • Java Runtime Environment (JRE) version 11 or greater (included in the installation script).
  • Python version 3.8 for functions that use the Python 3.8 runtime (included in the installation script).

 

 

 

Cgroups Requirements

The AWS IoT Greengrass Core software currently only supports Cgroups v1, not v2. In order to satisfy AWS Greengrass Core dependencies as stated in the official documentation "Setting up AWS IoT Greengrass core devices"  (Setting up AWS IoT Greengrass core devices - AWS IoT Greengrass ), the system should be configured with the following Linux kernel parameters and restarted:

To enable these Cgroups options, boot the device using the following Linux kernel parameters:

[https://docs.aws.amazon.com/greengrass/v2/developerguide/troubleshooting.html#lambda-cgroups-not-mounted

Step 1:  sudo vi /etc/default/grub
Find GRUB_CMDLINE_LINUX, and add the following command to it.

  • For Centos 8.5

cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

Figure 1: Command 

IIot command.png

 

For Ubuntu 22.04

cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=false

Step 2: Enter the command: sudo update-grub
Step 3: Restart the system. sudo reboot
Then check the Cgroup, response tmpfs is right.
 root@:~# stat -fc %T /sys/fs/cgroup/tmpfs
 

Adjusting Cgroup configuration

  1. Edit /etc/default/grub - Find the line that starts with "GRUB_CMDLINE_LINUX=" and append or change the following values: cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=false - Save the file
  2. Apply the configuration change by running: update-grub
  3. Restart the system
  4. Verify that the Cgroup configuration has been set to v1 by running the following command and ensuring that the response is "tmpfs": stat -fc %T /sys/fs/cgroup/;

 

 

 

Network requirements


The Green Grass Core device  must be able to access the following endpoints through specific ports:

For more details on what traffic needs to be authorized and why, please visit the official AWS documentation.

 

 

 

Functional Description

There are three different functional components: CloudPrinting, MachineInterface, FileUploader, and DataIngestion.
To access the Edge Devices portlet, navigate to: Shop Floor Control > Configuration > IIoT Configuration > Edge Devices.


Figure 2: Accessing Edge Devices
DSS Accessing Edge Devices.png

 

Figure 3: Edge Devices Functions

IIoT Edge Devices Functions.png

 

  1. Users can query the list of all devices by Edge Device Name or Functionality Name.
  2. Users can create a new Edge Device.
  3. Users can activate or deactivate the certificate status. 
  4. Users can view or edit the details of the edge device and its logs.
  5. Users can download the Edge device software.
  6. Users can Upgrade this edge device with more features.
  7. Users can get all functional components through this button when no functional components are deployed on their local core device.
  8. Users can Delete the edge device.
  9. Settings allow users to configure or get the palindrome information which can be used by the functionalities in the IIoT application. 

 

Figure 4: Settings

DSS Settings.png

 

 

Edit Edge Device

When the status of the Edge Device is "Healthy", select the Edit button to enter the Edge Device information. The users can add functionality, associated client devices, and view its logs.

 

Figure 5: Edit Button

DSS Edit Button.png

 

Components 

The components tab allows users to view all components installed in this Edge device. It displays the version and status of the installed components.

 

Figure 6: Components Tab

DSS Components Tab.png

 

Deployments

The Deployments tab allows users to view all the Functionality statuses installed in this Edge device. 

 

Figure 7: Deployments Tab
DSS Deployments Tab.png

 

Functionality

  1. Select the FUNCTIONALITY tab.

 

Figure 8: Functionality tab

DSS Functionality tab.png

 

  1. Select theADD FUNCTIONALITY.

 

Figure 9: Add Functionality 

DSS Add Functionality .png

 

  1. Users can edit or delete the functionality. Each functionality supports two versions (1.0 and 1.1) and users can switch between these versions (from 1.0 to 1.1 or from 1.1 to 1.0).

 

Figure 10: Edit Functionality Version
DSS Edit Functionality Version.png

 

Note: An Edge device will install Python 3.11 by default however it supports both Python 3.8 and Python 3.11. A single functionality can only be set to either Version 1.0 or Version 1.1. Ensure that the appropriate Python version is installed locally:

  • Functionality Version 1.0 requires Python 3.8.
  • Functionality Version 1.1 requires Python 3.11.

Users can execute the following two new scripts in the terminal to install Python 3.11 and Python 3.8.

  • sudo sh Install_Python3.8.sh
  • sudo sh Install_Python3.11.sh
     

 Figure 11: Python Scripts
DSS Python Scripts.png

 

  1. Users can use the settings option in the Edge device Functionality tab to manage the functionality configurations.

 

Figure 12: File Upload Setting

DSS File Upload Setting.png

 

 

Client Devices 

  1. Select the CLIENT DEVICES tab.
  2. Select ASSOCIATE CLIENT DEVICES.

 

Figure 13: Client Devices Tab

DSS Client Devices Tab.png

 

  1. Enter the name of the Client Device to be created.

Note: The name can be up to 128 characters. Valid characters: a-z, A-Z, 0-9, underscore (_), and hyphen (-).

  1. Select SAVE.
  2. Users can activate or deactivate the certificate status. 
  3. The Client Device tab supports batch downloads and deletions.

 

Figure 14: Creating a Client Device

Figure 19- Creating a Client Device1.png

 

 

Assets

The Asset is used to enable the 42Q/Machine communication feature. For more information, refer to How to Configure a bidirectional event-link communication channel between IT and OT

  1. Select the Assets icon to manage the assets that integrated the shadows/machines.
  2. Users can Select and Delete multiple assets at once.

 

Figure 15: Manage Assets

IIoT Manage Assets.png

  1. At the Assets page, select ADD ASSET.

 

Figure 16: Add Assets

IIoT Add Assets.png

  1. Select the Asset Type, Assets, and add the Attributes.
    • Asset Type: The users can select the Asset Type that already exists, or create a new asset Type by selecting the Add button.
    • Assets: The users can select the Assets that already exist, or create a new asset by selecting the Add button.
    • Attributes: Add the attributes of the asset. Note: The attributes will be associated with the Asset Type. One Asset Type can have multiple attributes. The channels for this asset type should have the same value.  Channel: Optional, Each protocol or driver used in a server project is called a channel.  A server project may consist of many channels with the same communications driver or with unique communications drivers. A channel acts as the basic building block of an OPC link. This group is used to specify general channel properties, such as the identification attributes and operating mode.  The channel in the attribute is optional, but If the customer needs to use Kepware to change/update tag value from MQTT messages, you would need to enter the channel(same as the channel in Kepware) when defining the asset type.  
    • Select SAVE, then close the assets page to return to the Edge Device Info page.

    Logs

    1. Select the Logs tab to view GreenGlass logs for each Edge Device and for various functionalities, such as Data Ingestion, Cloud Printing, Machine Interface, and File Uploader.
    2. Users can filter the logs by Message, Functionality Nam, Start Time, and End Time.

     

    Figure 17: Logs Tab

    DSS logstab.png

     

    1. Select the required log and log details option to see the detailed information of the log.

     

    Figure 18: Log Details

    DSS Log Details.png

     

     

    Install 42Q Edge Software

    CloudPrinting

     

    Figure 19: Cloud Printing

    ED CloudPrinting.png

     

    Please follow the steps below to create a 42Q Cloud Printing Edge Device in 42Q:

    1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Edge Devices.
    2. Select CREATE EDGE DEVICE to create a new Green Grass Core.

     

    Figure 20: CREATE EDGE DEVICE Button

    IIoT CREATE EDGE DEVICE Button.png

     

    1. Enter the Edge Device Name of the Green Grass Core. The name can be up to 128 characters. Valid characters are: a-z, A-Z, 0-9, colon (:), underscore (_), and hyphen (-).
    2. Select the Group Name as CloudPrintingGroup.

    Note: Once the Functionality Name is selected, the Functionality Version will automatically be selected.

     


    Figure 21: Create Edge Device Form

    IIoT Create Edge Device Form.png

     

    1. Select the checkbox next to the desired Edge Device.
    2. Select the Download icon to download the Edge Device ZIP file.

     

     

    Figure 22: Downloading The Files

    DSS Downloading The Files.png

     

    1. Right-click on the ZIP file.
    2. Select Extract Here to unzip the file.
    3. Open the Terminal.
    4. Enter the command: sudo su, and then press Enter.
    5. Enter the root user’s password, and then press Enter.

    Note: If the word: root@ appears before the computer’s username as in the image below, it means that you are logged in as a root user.

     


    Figure 23: User Logged In as a Root User

    DSS User Logged In as a Root User.png

     

    1. Enter the next command: sh ggcV2.sh, and then press Enter.

    Note: After the script is installed successfully, users can navigate to the local device’s path: /greengrass/v2 to check the installed folder; logs are contained in the path: /greengrass/v2/logs.

     


    Figure 24: Edge Device Folder

    IIoT Edge Device Folder.png

     

    Testing Label Printing Function Using Label Engine Screens

    1. Navigate to: Administration > Label Engine Admin > Printer.
    2. Select Add.

     


    Figure 25: Add Printer Button
    DSS Add Printer Button.png

     

    1. Enter the Printer Name.
    2. Select the Resolution from the drop-down list.
    3. Select the Connectivity Type as Edge Device.

     


    Figure 26: Entering The Printer Details

    DSS Entering The Printer Details.png

     

    Note: The TCP IP Address should be the address of the printer or start a TCP Server as a simulator by executing the next command in the Terminal:

     sudo -H -u ggc_user python3.8 tcpServer.py or sudo -H -u ggc_user python3.11 tcpServer.py. The FiletcpServer.py be included in the Edge Device ZIP file.

    1. Navigate to: Production > Label Engine Labels > LE Labels.
    2. Search for the label called “entry”, which will print whatever "Entry" value is passed.
    3. Select the checkbox next to the printer name.
    4. Select Print.

     


    Figure 27: Print Button

    DSS Print Button.png

     

    1. Select the Printer Name previously created.
    2. Enter a value in the Entry field.
    3. Select Test Print.

     

     

    Figure 28: Entering Test Print Data

    DSS Entering Test Print Data.png

     

    1. Open the Terminal.
    2. Navigate to the local device’s path: /greengrass/v2/logs.
    3. Enter the next command: tail -f {envide}_CloudPrinting.log. After that, a message will be received to confirm the successful testing.

     

    Figure 29: Successful Testing Message

    DSS Successful Testing Message.png
     

     

     

     

    MachineInterface

    This function is used for sending commands to machines from the cloud.
    Below there is an example of stopping a machine when the server finds MSD material expired.

     

    Figure 30: Server Stopping A Machine Due To Material Expired Diagram

    EdgeDevice Diagram.png
     

    The diagram above is divided into three steps:

    1. Install an Edge Device on a server in the plant.
    2. The plant creates a new local application that can communicate with the Edge Device by TCP and also can send commands to machines.
    3. The Cloud application will send commands to the Edge Device, then the Edge Device will forward the message to the local application through TCP/IP.


    Please follow the steps below to create a 42Q Cloud Machine Interface Edge Device in 42Q:

    1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Edge Devices.
    2. Select CREATE EDGE DEVICE to create a new Green Grass Core.
    3. Enter the Edge Device Name of the Green Grass Core. The name can be up to 128 characters. Valid characters are: a-z, A-Z, 0-9, colon (:), underscore (_), and hyphen (-).
    4. Select the Group Name as MachineInterfaceGroup.

    Note: After selecting the Group Name, the Group Version will automatically be selected.

     

    1. Select the checkbox next to the desired Edge Device.
    2. Select the Download icon to download the ZIP file.
    3. Right-click on the ZIP file.
    4. Select Extract Here to unzip the file.
    5. Open the Terminal.
    6. Enter the command: sudo su, and then press Enter.
    7. Enter the root user’s password, and then press Enter.
    8. Navigate to the extract folder by using the command: cd {folder path}.
    9. Enter the next command: sh ggcV2.sh, and then press Enter.

    Note: After the script is installed successfully, users can navigate to the computer’s path: /greengrass/v2 to check the installed folder; logs are contained in the path: /greengrass/v2/logs.

     

    1. Open Postman to test its functionality.
    2. Select POST as HTTP Method.
    3. Enter the URL.
    4. Enter the Topic.
    5. Enter the Output.
    6. Enter the Error.

     

    Data nomenclature example:
    URL: https://portal-uat.42-q.com/mes-api/[SiteName]/greengrass/v2/publish
    Topic: [Envide]/machine-interface/[Envide]_[Edge device name]
    Output: [Envide]/machine-interface/results
    Error: [Envide]/machine-interface/errors

     


    Figure 31: Sending The Payload Using Postman

    DSS Sending The Payload Using Postman..png
     

    1. Open the Terminal.
    2. Navigate to the local device’s path: /greengrass/v2/log to view the logs.

     

     

    Figure 32: Successful Payload Sending Logs

    DSS Successful Payload Sending Logs.png
     

    Note: If the message from the previous image is printed in your local log, the function has succeeded.
    Adding the corresponding configuration for PTS allows PTS to send messages to Edge Device.

     

     

    DataIngestion

    Please follow the steps below to create a 42Q Cloud Data Ingestion Edge Device in 42Q:

    1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Edge Devices.
    2. Select CREATE EDGE DEVICE to create a new Green Grass Core.
    3. Enter the Edge Device Name of the Green Grass Core. The name can be up to 128 characters. Valid characters are: a-z, A-Z, 0-9, colon (:), underscore (_), and hyphen (-).
    4. Select the Group Name as DataIngestionGroup.

    Note: After selecting the Group Name, the Group Version will automatically be selected.

     

    1. Select the checkbox next to the desired Edge Device.
    2. Select the Download icon to download the ZIP file.
    3. Right-click on the ZIP file.
    4. Select Extract Here to unzip the file.
    5. Open the Terminal.
    6. Enter the command: sudo su, and then press Enter.
    7. Enter the root user’s password, and then press Enter.
    8. Enter the next command: sh ggcV2.sh, and then press Enter.

    Note: After the script is installed successfully, users can navigate to the computer’s path: /greengrass/v2 to check the installed folder; logs are contained in the path: /greengrass/v2/logs.

     

    1. Select theEdge Device, andselect theEdit button.
    2. Select theCLIENT DEVICES tab.
    3. Select ASSOCIATE CLIENT DEVICES.


    Figure 33: CLIENT DEVICES TAB

    DSS Client Devices Tab.png

     

    1. Enter the name of theClient Device to be created.

    Note: The name can be up to 128 characters. Valid characters: a-z, A-Z, 0-9, underscore (_), and hyphen (-).

    1. Select SAVE.
    2. Select the Download icon to download the Client Device ZIP file.
    3. Right-click on the ZIP file.
    4. Select Extract Here to unzip the file.

     

    Figure 34: Creating a Client Device

    DSS Creating a Client Device.png


    Figure 35: Client Device Folder

    IIoT Client Device Folder.png

     

    1. Open the MqttTest.py file.
    2. Find the line that contains: ‘# Change This’.
    3. Modify the data information to be sent; users may see an example below (user’s will be different).

     


    Figure 36: Data To Be Modified

    IIoT Data To Be Modified.png

     

    1. Open the Terminal.
    2. Enter the next command: python MqttTest.py, and then press Enter. The result should be similar to the image below:


    Figure 37: Result Of Executing The MqttTest.py File

    DSS Result Of Executing The MqttTest.py File.png

     

    1. Navigate to the local device’s path: /greengrass/v2/log to view the logs.

     

    Figure 38: Successful MqttTest.py Running Logs

    DSS Successful MqttTest.py Running Logs.png

     

    Note: If the message from the previous image is printed in your local log, the function has succeeded.

     

     

     

    File Uploader

    OS

    • Ubuntu 20.04 / 22.04
    • Centos 8.5

    The following is an example of FileUploader.

    1. Select the desired Edge Device and download the ZIP file. Then, right-click and choose 'Extract Here' to unzip the file. 

     

    Figure 39: Folders

    DSS folder.png

     

    1. Open Terminal and execute the following command: sudo sh fileUploader.sh

     

    Figure 40: Enter the command
    DSS Enter the command.png

     

    1. Create or update edge devices in 42Q. 
    • Visit IIoT configuration in 42Q, and create a new edge device. (For first-time install)

     

    Figure 41: Create Edge Device

    IIoT Create Edge Device.png

     

    • Update the existing edge device by adding it to the FileUpload Group. (For existing edge devices)

     

    Figure 42: Add Functionality

    IIoT Add Functionality.png

    1. Install Edge Device:
    • For existing edge devices, please stop greengrass by the following command: sudo systemctl stop greengrass.service
    • Download and unzip the greengrass package locally.

     

    Figure 43: Edge device tab

    IIoT Edge device tab.png

     

    • Ask the 42Q mes-support team to provide a palindrome client ID and a secret that can access the mes-API and PTSR database.
    • Edit core_config.json and add ClientId and Secret as given below. 

    {
        "MaximumUploads":"3",
        "PoolMaxWorkers":"10",
        "RetentionDays":"7",
        "ClientId":"****",
        "Secret":"****",
        "FileType":[
            {
                "SubFolder":"/",
                "MachineType":"panacim",
                "Processer":[
                    {
                        "Extension":".xml",
                        "Parser":"panacim"
                    }
                ]
            }
        ]
    }
    The ClientId and secret can also be defined in the settings. The ClientId and Secret correspond to the Token and Key on the Settings page. The Token and Key on the Settings page are site-level and will be applied to all edge devices within the site. The other parameters don’t require a change.

    • Open the terminal, and install greengrass by executing the command: sudo sh ggcV2.sh

     

    1. Test Steps:
    • Put the (eg.panacim xml ) file into the /home/traceability/incoming folder (step 1 installed). If the XML file is uploaded successfully, then check the success folder.

     

    Figure 44: Incoming folder 

    DSS Incoming folder .png

     

    • Once the XML file is in the success folder, Navigate to the Reporting > MESWeb > PTSR reports to check Material on Board, Material on Board by Batch, and Material Where Used reports, so that the data will be displayed in these reports.
      1. Material on Board Report: Select the data source, input the XML file’s barcode on Board Barcode, and select Go to get the report.

       

      Figure 45: Material on Board Report

      DSS Material on Board Report.png

       

      1. Material on Board by Batch Report: Select the data source, input the XML file’s barcode on Board Serial No, and select Go to get the report.

       

      Figure 46: Material on Board by Batch Report

      DSS Material on Board by Batch Report.png

      1. Material Where Used Report: Select the data source, input the XML file’s REELBAR on the Component barcode(Optional), select the date range, and select Go to get the report.

       

      Figure 47: Material Where Used Report

      DSS Material Where Used Report.png

       

      • Navigate Administrator >Multimedia Admin > Multimedia Maintenance, input the name(eg. SANM-E30) on Tenant Name, (eg. PTS) on Tag Name, and then select the search button, to see the newly uploaded XML file.

       

      Figure 48: Multimedia Maintenance

      DSS Multimedia Maintenance.png

       

       

       

      Things DSS Things.png

      In this portlet, users can make sure whether the AWS Cloud has stored the data uploaded successfully or not.
      To do so, follow the steps below:

      1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Things.

             2. If the “Thing ID” is the same as the “id” configured in MqttTest.py file, it means that AWS Cloud has already stored the data uploaded.

             3. To search for a specific thing, users can use the filters by Thing ID, Thing Time, and Thing Updated Time. Enter the appropriate value in the filter field; the system will automatically search the value. 

             4. Select the Refresh icon to refresh the records on the page. 

       

      Figure 49: Thing ID

      DSS ThingID.png

       

       

      Locations DSS Location.png

      The Locations portlet allows users to assign a location to the Edge Devices in order to identify their Physical Location.
      To add a location, follow the steps below:

      1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Locations.
      2. Select the ADD LOCATIONS button.


      Figure 50: ADD LOCATION Button

      DSS ADDLOCATIONButton.png

      1. Enter the Site.
      2. Enter the Physical Location.
      3. Select the SAVE button.


      Figure 51: Creating A Location

      DSS Creating A Location.png

       

       

      Groups DSS Groups.png

      Users can create different groups of Edge Devices. Each group must have a unique name and one or more Thing IDs associated with it.


      Add a Group

      To add a group, follow the steps below:

      1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Groups.
      2. Select the ADD GROUP button.

       

      Figure 52: ADD GROUP Button

      IIoT ADD GROUP Button.png

       

      1. Enter the Unique Group Name.
      2. Select a Thing ID.
      3. Select the SAVE button.
      4. Select the Refresh icon to refresh the records on the page.


      Figure 53: Creating A Group

      DSS GROUP Button.png  

      Add a Rule To An Existing Group

      To add a rule, follow the steps below:

      1. Hover the mouse over a Group Name from the Group list.
      2. Select the Edit Group icon.
      3. Select a rule from the Select Rules drop-down list.
      4. Select the SAVE button.


      Figure 54: Editing A Group

      DSS Editing A Group.png

       

       

      Notification Setup DSS Notification Setup.png

      Before creating any rules, users have to set up notifications. Each user can subscribe to one or more SNS topics (Simple Notification Service); these users will receive notifications via text messages or email.
      To set up notifications, follow the steps below:

      1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Notification Setup.
      2. Select the CREATE SNS TOPIC button. A pop-up window will appear.


      Figure 55: CREATE SNS TOPIC Button

      IIoT CREATE SNS TOPIC Button.png

       

      1. Enter the Topic Name.
      2. Select the SAVE button.
      3. Select the Refresh icon to refresh the records on the page. 


      Figure 56: Create SNS Topic Pop-up Window

      DSS Create SNS Topic Pop-up Window.png

       

      1. Hover the cursor over the Topic.
      2. Select the Subscribe icon. A new pop-up window will appear.


      Figure 57: Subscribe Icon

      IIoT Subscribe Icon.png

       

      1. Select the SUBSCRIBE TO SNS TOPIC button. A new pop-up window will appear.


      Figure 58: SUBSCRIBE TO SNS TOPIC Button

      IIoT SUBSCRIBE TO SNS TOPIC Button.png

       

      1. Select the Notification Method (Email or Phone).
      2. Enter the Notification End Point (email address).
      3. Select the SUBSCRIBE TO SNS TOPIC button to save the information.

       


      Figure 59: Subscribing To A SNS Topic

      DSS Subcribing To A SNS Topic.png

       

      1. The Subscribe List will display the Pending Confirmation and Confirmed End Points.


      Figure 60: Subscribe List

      IIoT Subscribe List.png

      1. A confirmation mail will be sent to the entered email address. Open the mail.
      2. Select the Confirm subscription link.
      3. A window will be opened in a new tab confirming the subscription. To unsubscribe select the “click here to unsubscribe” link, else close the window.

       

       

      Rules DSS Rules.png

      In this portlet, users can create, view, edit, and delete rules. After setting up notifications, users may create rules that will trigger alerts. Each rule is associated with one or more Groups or Thing IDs.

      Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Rules.

       

      Add Rule

      1. Select the Add Rule button. A new pop-up window will appear.

       

      Figure 61: Add rule
      IIoT addrules.png

      1. Enter the Rule name, Notification interval, SNS topic, and Maximum Alert times
      2. Check in the box to receive alerts for the things that have not uploaded measured data for more than the given time.

       

      Figure 62: Entering Publish Rule Information
      DSS EnteringPublishRuleInformation.png

       

      Next, select one of the two Bounds (rules):

      • Threshold: This rule will trigger an alert whenever a measured value crosses a specific threshold.
      • Independent: This rule will trigger an alert whenever a measured value satisfies the user-defined criteria.

       

      Figure 63: Defining A Bound
      DSS DefiningABound.png

       

      1. If the Threshold is selected, choose one option from the Boundary Considerations list and the Control Values list.
      2. Enter the Limit Value.
      3. Select one of the Rule Options.
      4. Select the Save button.

       

      Edit and Delete Rule

      1. Select the Edit button. A new pop-up window will appear.

       

      Figure 64: Edit Rule

      IIoT editrule.png

      1. Users can edit Notification Interval, SNS topic, Maximum Alert times, andBoundary except Rule name

       

      Figure 65: Editing the options

      DSS Editingtheoptions.png

       

      1. Select the Save button to complete the action. 
      2. Select the Delete button to delete the rule.

       

      Figure 66: Delete rule 

      IIoT deleterule.png

       

      Mapping

      1. Select the Mapping icon to apply a rule to the Things and Groups.

       

      Figure 67: Mapping the rule
      IIoT-Mapping the rule.png

       

      1. Users can select Things and Groups for the rule or remove some existing things from the rule.

       

      Figure 68: Selecting Things and Groups
      DSS Selecting Things and Groups.png

      1. Select the Save button to complete the action.
      2. Select the Refresh icon to refresh the records on the page.

       

      Figure 69: Refresh the Page
      IIoT Refresh the Page.png

       

       

      Alerts DSS Alerts.png

      After setting up notifications and rules, when a rule’s conditions comply, the alerts will be triggered, causing the notifications to be sent to the subscribed users.
      To access the Alerts portlet, follow the steps below:

      1. Navigate to: Shop Floor Control > Configuration > IIoT Configuration > Alerts.
      2. To search for a specific alert, users can use the filters: Thing IDRule, Rule Type, Status, and Alert Time. To do so, enter the appropriate value in the filter field; the system will automatically search the value.
      3. Select the Refresh icon to refresh the records on the page. 
      4. Users can filter the Alerts record with multiple statuses

       

      Figure 70: Thing ID And Rule Filters

      IIoT Thing ID And Rule Filters.png

       

      Figure 71: Alert Status

      DSS Alertstatus.png

       

      • Alerting: Processing.
      • Auto Stop Alert: There are ‘max alert times’ in the rule, if the system already sends out the message/mails equal to the ‘max alert times’, marking it as ‘Auto Stop Alert’.
      • Acknowledged: If a user received the email or message, he could mark it as acknowledged to stop the system from sending events/emails. (User click the acknowledge button)
      • Auto Processed: Edge device/Client application/OPC received events and response success.
      1. To acknowledge an alert, select an alert checkbox.
      2. Select the Acknowledge Alert button.

       

      Figure 72: Acknowledge An Alert

      DSS AcknowledgeAnAlert.png

       

       

      Dashboard

       

      1. Navigate to: Reporting > IIoT Dashboard.
      2. Select the + icon to create a new widget.

       

      Figure 73: Add (+) Icon
      DSS Add (+) Icon.png

       

      1. Enter the Widget Name.
      2. Select one of the types of widgets:
      • Historical
      • Predictive
      • Variation: This option requires entering the Lower and Upper Control Limit.
      • CPK/PPK(Single Thing Only): This option requires entering the Lower and Upper Control Limit. This type of widget is not possible to associate with groups, only Things.
      1. Select one or more Group Name from the GROUPS tab.
      2. Select the THINGS tab.
      3. Select the Thing ID that matches the "id" value previously configured in the MqttTest.py file.
      4. Select the SAVE button located at the end of the Add Widget Form.

       


      Figure 74: Creating a Widget

      DSS Creating a Widget.png

       

      1. Select the show/hide icon to view the values of the widget created.

       


      Figure 75: Show/Hide Icon

      DSS Show-Hide Icon.png


      Note: Users can check the payload sent through either of the following:

      • IIoT widget.