Ejemplo: uso de la biblioteca AWS IoT Core Client SL
Producto: CODESYS IIOT Bibliotecas SL
Descripción
El AWS IoT Core Client SL Example.project
El ejemplo muestra cómo usar el AWS IoT Core Client SL
biblioteca.
El AWSDeviceShadow
La aplicación muestra cómo escribir y leer la "Sombra del dispositivo".
El AWSPubSub
La aplicación muestra cómo usar los bloques de funciones incluidos para publicar y suscribirse a mensajes.
El AWS_JSON_DeviceShadow
La aplicación muestra cómo usar JSONBuilder para actualizar "Device Shadow".
Empezando
Instalación de un certificado de cliente
Un certificado de cliente se usa para autenticar un dispositivo en AWS IoT Core
. El certificado de cliente puede generarse a través de la interfaz web de AWS, descargarse e instalarse en el dispositivo correspondiente.
genera un archivo CSR (solicitud de firma de certificado) en el controlador. Este archivo se usa luego para generar un certificado
Para obtener instrucciones sobre cómo hacerlo, consulte la siguiente sección.
El certificado y la clave privada se crean, descargan e instalan en el dispositivo a través de AWS.
Para obtener más información, consulte: Import of client certificates with private key
Crear el certificado con un archivo CSR
El CODESYS Security Agent el paquete debe estar instalado en su ordenador.
Para obtener más información, consulte: Agente de seguridad de CODESYS
Necesita una cuenta de AWS.
Crea un (
Thing
) dispositivo enAWS IoT Core
a través de la interfaz web.Puede ver y administrar sus (
Things
) dispositivos en el panel lateral de navegación, debajoManage > All Devices > Things
.En el proyecto de ejemplo, abra el
AWSPubSub
solicitud.Establezca el punto final en el
AWSIoTClient.sHostname
aporte.Ejemplo:
xxxxxxxxxxxxxxx.iot.yyyyyyyy.amazonaws.com)
Puede encontrar sus puntos finales en el panel lateral de navegación, en
Connect > Domain configurations
. También puede crear un nuevo punto final allí si es necesario.Establezca el nombre del dispositivo previamente asignado («Name of thing») en
AWSIoTClient.sClientId
entrada.Usa el
AWSIoTClient.sCertCNPrefix
entrada delClientId
es idéntico al nombre del host. Esto evita cargar un certificado incorrecto (por ejemplo, desdeWebServer
).Sugerencia
Si la entrada no se muestra, ejecute Restablecer los pines comando.
Ejemplo:
sCertCNPrefix := 'AWSClient', sClientId := 'MyHostname';
El "Nombre común" (CN) del certificado es
AWSClient@MyHostname
Descargue la aplicación en el controlador e iníciela.
La aplicación ahora intentará establecer una conexión cifrada con AWS, pero fallará debido a que falta el certificado. Sin embargo, este experimento de configuración es relevante en lo que sigue.
Configure el
xEnable
bandera delAWSIoTClient
paraTRUE
.En el editor de dispositivos, selecciona PLC Shell pestaña.
Ejecute el siguiente comando:
cert-getapplist
En la salida se muestra un componente con el nombre y el número de dispositivo especificados.
Note: The device is not displayed if you have not previously attempted to establish a connection to AWS (Step 5).
Ejecute el siguiente comando:
cert-createcsr <number> encoding=Base64
Sustituya
<number>
por el número obtenido en el paso 8. La generación del archivo CSR puede tardar unos segundos.En el editor de dispositivos, debajo de Registrar categoría, se emite un mensaje correspondiente después de la generación.
En el editor de dispositivos, selecciona Archivos pestaña.
Copie el archivo CSR de la
cert/export
directorio al sistema de archivos local.Ahora puede usar el archivo CSR generado para crear un certificado a través de la interfaz web de AWS.
Puede acceder a una descripción general de la administración de todos sus certificados en el panel lateral de navegación a través de
Security > Certificates
.Usa el
Add certificate > Create certificate
comando para crear un nuevo certificado con el archivo CSR exportado.Descargue el certificado y el certificado raíz.
En CODESYS, haga clic Ver → Pantalla de seguridad comando de menú.
Bajo Certificados propios, instale su certificado de cliente.
Bajo Certificados de confianza, instale el certificado raíz.
Hacer clic En línea → Restablecer frío e inicie la aplicación.
Un nuevo intento de conexión por parte del
AWSIoTClient
el bloque de función ahora establecerá elAWSIoTClient.xConnectedToBroker
salida aTRUE
.La conexión se ha establecido correctamente.
Importante
Cuando desinstalas un certificado creado mediante CSR de un controlador, dejará de funcionar si lo vuelves a instalar.
Esto se debe a que la información de la clave privada se elimina durante la desinstalación, en cuyo caso es necesario crear un certificado nuevo para el dispositivo.
Requisitos y restricciones del sistema
Sistema de programación | CODESYS Development System (versión 3.5.18.0 o superior) |
Sistema de tiempo de ejecución | CODESYS Control Win (versión 3.5.18.0 o superior) Nota: Utilice la libre |
Componentes adicionales | - |
Requerimientos adicionales | Cuenta de AWS (AWS IoT Core) |
Aviso
DESCARGAR proyectos