AWS IoT
Dieses Beispiel zeigt zwei verschiedene Szenarios mit AWS IoT. Eine GET-Anfrage an einen IoT Shadow und eine POST-Anfrage an den AWS IoT Core-Message-Broker werden dargestellt.
Die GET-Anfrage ähnelt dem Beispiel „OpenWeatherMap“, es wurde lediglich der Uri in den Uri des Shadows des IoT Thing im Hinblick auf die AWS REST-API geändert.
Der Benutzer muss ein eigenes AWS-Konto haben, damit ein IoT Core-Endpunkt vorhanden ist und die Möglichkeit besteht, Zertifikate für die Kommunikation mit TwinCAT zu erstellen.
PROGRAM MAIN
VAR
// trigger command execution for AWS IoT Core samples
bGetAwsIotShadow, bPostAwsIot : BOOL;
fbHttpClientAwsIot : FB_IotHttpClient :=(sHostName:='youradress.amazonaws.com',
bKeepAlive:=FALSE, tConnectionTimeout:=T#10S);
fbHttpGetAwsIotShadow : FB_TestHTTP_Get_awsIotShadow;
fbHttpPostAwsIot : FB_TestHTTP_Post_awsIot;
END_VAR
//init client parameters at startup
IF NOT fbHttpClientAwsIot.bConfigured THEN
fbHttpClientAwsIot.stTLS.sCA:= 'C:\TwinCAT\3.1\Config\Certificates\AWS\AmazonRootCA1.pem';
fbHttpClientAwsIot.stTLS.sCert:= 'C:\TwinCAT\3.1\Config\Certificates\AWS\certificate.pem.crt';
fbHttpClientAwsIot.stTLS.sKeyFile:= 'C:\TwinCAT\3.1\Config\Certificates\AWS\private.pem.key';
fbHttpClientAwsIot.nHostPort:= 8443;
END_IF
IF fbHttpClientAwsIot.bConfigured THEN
fbHttpGetAwsIotShadow(bSend:=bGetAwsIotShadow, fbClient:=fbHttpClientAwsIot);
fbHttpPostAwsIot(bSend:=bPostAwsIot, fbClient:=fbHttpClientAwsIot);
END_IF
fbHttpClientAwsIot.Execute();