MQTT: add test projects, to be later included in automated testing.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_client/beremiz.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?> +<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://localhost:61131" Disable_Extensions="false"> + <Libraries Enable_Python_Library="false"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_client/mqtt_0@mqtt/baseconfnode.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?> +<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="mqtt_0"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_client/mqtt_0@mqtt/confnode.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?> +<MQTTClient xmlns:xsd="http://www.w3.org/2001/XMLSchema" Broker_URI="ws://172.17.0.1:1883" Use_MQTT_5="true"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_client/mqtt_0@mqtt/selected.csv Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,10 @@
+output,smtf,1,False,DINT,0 +output,smtg,1,False,DINT,1 +output,smth,1,False,DINT,2 +output,smti,1,False,DINT,3 +output,smtj,1,False,DINT,4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_client/plc.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,296 @@
+<?xml version='1.0' encoding='utf-8'?> +<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201"> + <fileHeader companyName="Beremiz" productName="Beremiz" productVersion="1" creationDateTime="2016-10-24T18:09:22"/> + <contentHeader name="First Steps" modificationDateTime="2024-07-25T16:55:27"> + <pou name="plc_prg" pouType="program"> + <variable name="LocalVar0"> + <simpleValue value="0"/> + <variable name="LocalVar1" address="%QD0.2"> + <variable name="LocalVar2" address="%ID0.2"> + <inVariable localId="1" executionOrderId="0" height="27" width="82" negated="false"> + <position x="421" y="83"/> + <relPosition x="82" y="13"/> + <expression>LocalVar0</expression> + <inVariable localId="3" executionOrderId="0" height="27" width="82" negated="false"> + <position x="126" y="224"/> + <relPosition x="82" y="13"/> + <expression>LocalVar2</expression> + <block localId="4" typeName="ADD" executionOrderId="0" height="60" width="63"> + <position x="112" y="48"/> + <variable formalParameter="IN1"> + <relPosition x="0" y="30"/> + <connection refLocalId="2"> + <position x="112" y="78"/> + <position x="102" y="78"/> + <position x="102" y="33"/> + <position x="314" y="33"/> + <position x="314" y="78"/> + <position x="291" y="78"/> + <variable formalParameter="IN2"> + <relPosition x="0" y="50"/> + <connection refLocalId="5"> + <position x="112" y="98"/> + <position x="64" y="98"/> + <variable formalParameter="OUT"> + <relPosition x="63" y="30"/> + <inOutVariable localId="2" executionOrderId="0" height="27" width="82" negatedOut="false" negatedIn="false"> + <position x="209" y="65"/> + <relPosition x="0" y="13"/> + <connection refLocalId="4" formalParameter="OUT"> + <position x="209" y="78"/> + <position x="175" y="78"/> + <relPosition x="82" y="13"/> + <expression>LocalVar0</expression> + <inVariable localId="5" executionOrderId="0" height="27" width="18" negated="false"> + <position x="46" y="85"/> + <relPosition x="18" y="13"/> + <expression>1</expression> + <block localId="6" typeName="MOD" executionOrderId="0" height="60" width="63"> + <position x="588" y="66"/> + <variable formalParameter="IN1"> + <relPosition x="0" y="30"/> + <connection refLocalId="1"> + <position x="588" y="96"/> + <position x="503" y="96"/> + <variable formalParameter="IN2"> + <relPosition x="0" y="50"/> + <connection refLocalId="7"> + <position x="588" y="116"/> + <position x="548" y="116"/> + <variable formalParameter="OUT"> + <relPosition x="63" y="30"/> + <inVariable localId="7" executionOrderId="0" height="27" width="26" negated="false"> + <position x="522" y="103"/> + <relPosition x="26" y="13"/> + <expression>50</expression> + <block localId="8" typeName="GT" executionOrderId="0" height="60" width="63"> + <position x="721" y="65"/> + <variable formalParameter="IN1"> + <relPosition x="0" y="30"/> + <connection refLocalId="6" formalParameter="OUT"> + <position x="721" y="95"/> + <position x="704" y="95"/> + <position x="704" y="96"/> + <position x="651" y="96"/> + <variable formalParameter="IN2"> + <relPosition x="0" y="50"/> + <connection refLocalId="9"> + <position x="721" y="115"/> + <position x="709" y="115"/> + <position x="709" y="117"/> + <position x="697" y="117"/> + <variable formalParameter="OUT"> + <relPosition x="63" y="30"/> + <inVariable localId="9" executionOrderId="0" height="27" width="26" negated="false"> + <position x="671" y="104"/> + <relPosition x="26" y="13"/> + <expression>24</expression> + <outVariable localId="10" executionOrderId="0" height="27" width="82" negated="false"> + <position x="1112" y="106"/> + <relPosition x="0" y="13"/> + <connection refLocalId="11" formalParameter="OUT"> + <position x="1112" y="119"/> + <position x="1065" y="119"/> + <position x="1065" y="83"/> + <position x="1019" y="83"/> + <expression>LocalVar1</expression> + <block localId="11" typeName="SEL" executionOrderId="0" height="80" width="63"> + <position x="956" y="53"/> + <variable formalParameter="G"> + <relPosition x="0" y="30"/> + <connection refLocalId="8" formalParameter="OUT"> + <position x="956" y="83"/> + <position x="870" y="83"/> + <position x="870" y="95"/> + <position x="784" y="95"/> + <variable formalParameter="IN0"> + <relPosition x="0" y="50"/> + <connection refLocalId="12"> + <position x="956" y="103"/> + <position x="927" y="103"/> + <position x="927" y="115"/> + <position x="898" y="115"/> + <variable formalParameter="IN1"> + <relPosition x="0" y="70"/> + <connection refLocalId="13"> + <position x="956" y="123"/> + <position x="933" y="123"/> + <position x="933" y="171"/> + <position x="910" y="171"/> + <variable formalParameter="OUT"> + <relPosition x="63" y="30"/> + <inVariable localId="12" executionOrderId="0" height="27" width="34" negated="false"> + <position x="872" y="102"/> + <relPosition x="34" y="13"/> + <expression>666</expression> + <inVariable localId="13" executionOrderId="0" height="27" width="34" negated="false"> + <position x="876" y="158"/> + <relPosition x="34" y="13"/> + <expression>666</expression> + <configuration name="config"> + <resource name="resource1"> + <task name="plc_task" priority="1" interval="T#100ms"> + <pouInstance name="plc_task_instance" typeName="plc_prg"/> + <globalVars constant="true"> + <variable name="ResetCounterValue"> + <simpleValue value="17"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/beremiz.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?> +<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://192.168.45.1:3000"> + <Libraries Enable_SVGHMI_Library="false"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/baseconfnode.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?> +<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="3" Name="mqtt_0"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/confnode.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='utf-8'?> +<MQTTClient xmlns:xsd="http://www.w3.org/2001/XMLSchema" Broker_URI="wss://192.168.19.25:18885"> + <x509 Client_certificate="" Broker_certificate="test-root-ca.crt" Verify_hostname="false"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/selected.csv Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,2 @@
+input,in_topic1,1,DINT,0 +output,out_topic1,1,False,DINT,0 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/plc.xml Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='utf-8'?> +<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201"> + <fileHeader companyName="SMARTEH d.o.o." productName="LHC2_GOT_012" productVersion="1.1.359" creationDateTime="2024-07-25T15:43:22"/> + <contentHeader name="mqtt" modificationDateTime="2024-08-21T17:05:30"> + <pou name="program0" pouType="program"> + <variable name="LocalVar0" address="%ID3.0"> + <variable name="LocalVar1"> + <variable name="LocalVar2" address="%QD3.0"> + <variable name="LocalVar3"> + <inVariable localId="1" executionOrderId="0" height="26" width="82" negated="false"> + <position x="173" y="47"/> + <relPosition x="82" y="13"/> + <expression>LocalVar0</expression> + <outVariable localId="2" executionOrderId="0" height="26" width="82" negated="false"> + <position x="482" y="47"/> + <relPosition x="0" y="13"/> + <connection refLocalId="1"> + <position x="482" y="60"/> + <position x="255" y="60"/> + <expression>LocalVar1</expression> + <outVariable localId="3" executionOrderId="0" height="26" width="82" negated="false"> + <position x="479" y="140"/> + <relPosition x="0" y="13"/> + <connection refLocalId="4"> + <position x="479" y="153"/> + <position x="365" y="153"/> + <position x="365" y="168"/> + <position x="252" y="168"/> + <expression>LocalVar2</expression> + <inVariable localId="4" executionOrderId="0" height="26" width="82" negated="false"> + <position x="170" y="155"/> + <relPosition x="82" y="13"/> + <expression>LocalVar3</expression> + <configuration name="config"> + <resource name="resource1"> + <task name="main_task" priority="0" interval="T#1000ms"> + <pouInstance name="instance0" typeName="program0"/> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/mqtt_ssl/project_files/test-root-ca.crt Thu Aug 22 12:16:45 2024 +0200
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE----- +MIIDwDCCAqigAwIBAgIUPajsILLwblnD7WEDCk00ebOAASgwDQYJKoZIhvcNAQEL +BQAwcDELMAkGA1UEBhMCR0IxEjAQBgNVBAgMCVdpbHRzaGlyZTESMBAGA1UEBwwJ +U2FsaXNidXJ5MRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNVBAsMB1Rlc3Rp +bmcxEDAOBgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNDEzMTMyMjMxWhgPMjEwNTA2MDIx +MzIyMzFaMHAxCzAJBgNVBAYTAkdCMRIwEAYDVQQIDAlXaWx0c2hpcmUxEjAQBgNV +BAcMCVNhbGlzYnVyeTEVMBMGA1UECgwMUGFobyBQcm9qZWN0MRAwDgYDVQQLDAdU +ZXN0aW5nMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsqFZCPniXeWNtd5NhccCmirdLv6i/c6FAffg4iMPEYanDTh0PPWE +/tPiiOTzcGp5udF3hjjtv2lx5OSEaZYNSIgWERf0LPS0MBsHjMmVoU4S8+gZAst1 +igzWKmmZAaUwBdGz0D6cRr7ZMUBfzJnrF1V6VQMLNXfrXmYAXRpxRMcBv3FPYLUc +qXp9gbFYnc+xNbuDE3Ir6/wMOu3Q1H6BvnIGVmdGqnmrONqzkMcqCuTEGlFEBQ4s +HrZUbXQGSKtlMInAM1hyP+qHmuMwTfue8/qspewHds9fNstJL9wLCZBk3Jdf6B5I +S6S+cmHM00cThnuVVwnwgU6syGhgekCNYwIDAQABo1AwTjAdBgNVHQ4EFgQU/piK +w0GycTpKs3ZaPBcGkxGZjsgwHwYDVR0jBBgwFoAU/piKw0GycTpKs3ZaPBcGkxGZ +jsgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAhno5Byj3BGy/je/u +yPl8/uGOqh+uK0Ds+6YvUBRTHlnAFegwQrJhq17bzTdZZlw5s0+bYEVtOwX6p7Zk +mT4zUEPEQ7B223+r3TiB5xQ4ad+wZsDa9X7XY0+vqc+wf4CHFPHX4ZR0Xa1p/vBL +Y3L6ANHkwRFgx+XREmkiv4GJxeZtNSevuM63bbRZ/Y7OSZQlvKTxNlsKqi+61d7w +ciWk9BmmXNm2kQeKwsx5o7bMiETOhDXobcibD8R3U+3tf3vWp9jWIMZKkJ40U1Wb +LM0S9B1ZBkqb3Ml4Rq0AhQntQNGKDobt93ilQoGSUKq0/bR5wA8Yad9viVbbbSsm +-----END CERTIFICATE-----