Esempio: Utilizzo della libreria SL per client AWS IoT Core
Prodotto: CODESYS IIOT Librerie SL
Descrizione
Le AWS IoT Core Client SL Example.project
l'esempio mostra come usare AWS IoT Core Client SL
libreria.
IL AWSDeviceShadow
applicazione mostra come scrivere e leggere il "Device Shadow".
IL AWSPubSub
applicazione mostra come utilizzare i blocchi funzione inclusi per pubblicare e sottoscrivere messaggi.
IL AWS_JSON_DeviceShadow
applicazione mostra come utilizzare il JSONBuilder per aggiornare il "Device Shadow".
Iniziare
Installazione di un certificato client
Un certificato client viene utilizzato per autenticare un dispositivo su AWS IoT Core
. Il certificato client può essere generato tramite l'interfaccia web AWS, scaricato e quindi installato sul dispositivo corrispondente.
Sul controller viene generato un file CSR (Certificate Signing Request). Questo file viene quindi utilizzato per generare un certificato
Per istruzioni su come eseguire questa operazione, vedere la sezione seguente.
Il certificato e la chiave privata vengono creati, scaricati e installati sul dispositivo tramite AWS.
Per ulteriori informazioni, vedere: Import of client certificates with private key
Creazione del certificato con un file CSR
Le CODESYS Security Agent il pacchetto deve essere installato sul computer.
Per ulteriori informazioni, vedere: CODESYS Security Agent
È necessario un account AWS.
Crea un (
Thing
) dispositivo inAWS IoT Core
tramite l'interfaccia web.Puoi visualizzare e gestire i tuoi (
Things
) dispositivi nel pannello laterale di navigazione sottoManage > All Devices > Things
.Nel progetto di esempio aprire il file
AWSPubSub
applicazione.Imposta l'endpoint su
AWSIoTClient.sHostname
ingresso.Esempio:
xxxxxxxxxxxxxxx.iot.yyyyyyyy.amazonaws.com)
Puoi trovare i tuoi endpoint nel pannello laterale di navigazione sotto
Connect > Domain configurations
. Puoi anche creare un nuovo endpoint lì, se necessarioImposta il nome del dispositivo assegnato in precedenza («Name of things») su
AWSIoTClient.sClientId
ingresso.Usa il
AWSIoTClient.sCertCNPrefix
input seClientId
è identico al nome host. Ciò impedisce il caricamento di un certificato errato (ad esempio daWebServer
).Suggerimento
Se l'input non viene visualizzato, eseguire Reimposta i Pin comando.
Esempio:
sCertCNPrefix := 'AWSClient', sClientId := 'MyHostname';
Il "Nome comune" (CN) del certificato è
AWSClient@MyHostname
Scarica l'applicazione sul controller e avviala.
L'applicazione tenterà ora di stabilire una connessione crittografata con AWS, ma fallirà a causa del certificato mancante. Tuttavia, questo esperimento di configurazione è rilevante nel seguito.
Imposta il
xEnable
bandiera delAWSIoTClient
aTRUE
.Nell'editor del dispositivo, seleziona il file Involucro PLC categoria.
Specificare i seguenti elementi lì:
cert-getapplist
Viene visualizzato un componente con il nome e il numero di dispositivo specificati.
Nota: il dispositivo non viene visualizzato se non hai precedentemente tentato di stabilire una connessione ad AWS (Fase 5).
Specificare:
cert-createcsr <number> encoding=Base64
Sostituire
<number>
con il numero ottenuto al punto 8. La generazione del file CSR può richiedere alcuni secondi.Nell'editor dei dispositivi sotto Registra categoria, dopo la generazione viene emesso un messaggio corrispondente.
Nell'editor dei dispositivi, seleziona File scheda.
Copia il file CSR dal file
cert/export
directory al file system locale.Ora puoi utilizzare il file CSR generato per creare un certificato tramite l'interfaccia web AWS.
Puoi accedere a una panoramica della gestione di tutti i tuoi certificati nel pannello laterale di navigazione tramite
Security > Certificates
.Usa il
Add certificate > Create certificate
comando per creare un nuovo certificato con il file CSR esportato.Scarica il certificato e il certificato principale.
Nel CODESYS, fai clic Visualizza → Schermata di sicurezza comando di menu.
Sotto Certificati propri, installa il certificato del tuo cliente.
Sotto Certificati affidabili, installa il certificato principale.
Clic Online → Ripristina freddo e avviare l'applicazione.
Un nuovo tentativo di connessione da parte di
AWSIoTClient
il blocco funzione imposterà ora ilAWSIoTClient.xConnectedToBroker
output aTRUE
.La connessione viene stabilita correttamente.
Importante
Quando disinstalli un certificato creato tramite CSR da un controller, non funzionerà più se lo reinstalli.
Il motivo è che le informazioni sulla chiave privata vengono rimosse durante la disinstallazione, nel qual caso è necessario creare un nuovo certificato per il dispositivo.
Requisiti di sistema e restrizioni
Sistema di programmazione | CODESYS Development System (versione 3.5.18.0 o superiore) |
Sistema di esecuzione | CODESYS Control Win (versione 3.5.18.0 o superiore) Nota: usa il file gratuito |
Componenti aggiuntivi | - |
Requisiti addizionali | Account AWS (AWS IoT Core) |
Avviso
SCARICA progetti