Servizi AWS IoT core e MQTT: creazione di oggetti AWS con certificato e policy – 2

Spread the love

Ora dobbiamo connettere il nostro dispositivo tramite MQTT; il sistema di sicurezza utilizzato da Amazon è tramite certificato generato direttamente dall’interfaccia web. Puoi collegare un solo dispositivo con il relativo certificato, quindi devi fare cinque certificati se vuoi creare cinque dispositivi.

Amazon AWS IoT Core MQTT ceate IoT things with certificate and policy
Amazon AWS IoT Core MQTT create IoT things with certificate and policy

Per comunicare con i dispositivi esp8266, esp32 o Arduino, deve connettersi ad AWS IoT Core con le credenziali del dispositivo. Devi anche specificare gli argomenti per i quali ha il permesso di publish e subscribe.

Seleziona la regione corretta

È essenziale prevenire errori o selezionare la regione corretta in cui sviluppi e ospiti le tue risorse.

  • Per il Nord America la regione predefinita è us-east-1
  • Per l’Europa scelgo eu-west-1

Presta attenzione se selezioni una regione non supportata dal tuo dispositivo Alexa quando eseguiamo il test sul dispositivo; la tua skill non funzionerà.
Per supportare tutti i dispositivi, devi rilasciare lambda in più regioni .

Recupera il tuo Account ID

Innanzitutto, è necessario l’ID account e, per farlo, apri questo collegamento Impostazioni account, ottieni il valore ID account e inseriscilo nel file setup.txt nella sezione [ID account].

Recupera l’endpoint MQTT IoT

IoT Core crea per te un End-point MQTT; puoi trovarlo su AWS IoT Console e fare clic sul menu Impostazioni a sinistra.

https://eu-west-1.console.aws.amazon.com/iot/home?region=eu-west-1#/settings (Europe)
https://us-east-1.console.aws.amazon.com/iot/home?region=us-east-1#/settings (North America)

Ottieni l’endpoint personalizzato XXXXXXXXXXXXXX-ats.iot.eu-west-1.amazonaws.com e incolla il file setup.txt nella sezione [IoT MQTT EndPoint].

Crea un nuovo oggetto

Nel progetto che hai già scaricato, controlla la cartella esp8266_relay_iot_core/certificates.

  1. Nella console AWS IoT (IoT Core), scegli dal menù di sinistra Manage and Things .
    Oppure direttamente:
https://us-east-1.console.aws.amazon.com/iot/home?region=us-east-1#/thinghub (Nord America)
https://eu-west-1.console .aws.amazon.com/iot/home?region=eu-west-1#/thinghub (Europa)
  1. Quindi fai clic sul pulsante Create in alto a destra, quindi Register a single AWS IoT thing.
  2. Assegna un nome al nuovo oggetto esp8266_relay e copialo anche nel file setup.txt nella sezione [Device name]. Lascia i campi rimanenti impostati sui valori predefiniti. Scegli  Avanti .
  3.  Scegli  Crea certificato.
  4. Scarica all’interno della cartella esp8266_relay_iot_core/certificatesCertificato per questo Oggettochiave privata, quindi fai clic vicino a A CA root per AWS IoT sul link Download, e seleziona Amazon Root CA 1..
  5. Scegli  Attiva.
  6. Quindi fare clic su Collega policy.
  7. Per ora qui fare clic su Fatto.
IoT Core esp8266 esp32 MQTT Scarica certificati
IoT Core esp8266 esp32 MQTT Scarica certificati

Crea una policy

  1. Ora su AWS IoT Console fai clic sul menu a sinistra Sicurezza e nel sottomenu fai clic su Policy
https://eu-west-1.console.aws.amazon.com/iot/home?region=eu-west-1#/policyhub (Europa)
https://us-east-1.console.aws.amazon .com/iot/home?region=us-east-1#/policyhub (Nord America)
  1. Fare clic sul pulsante Crea in alto a destra.
  2. Imposta il nome della politica  esp8266_relay_policy. Scegli la scheda Avanzate  .
  3. Incolla il seguente modello di criteri.
IoT Core Creazione policy per permettere la connessione
IoT Core Creazione policy per permettere la connessione

Modello generico (controlla il tag circondato da []e sostituisci i valori da file setup.txt).

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:[Region]:[Account ID]:client/[Device name]"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:[Region]:[Account ID]:topicfilter/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:[Region]:[Account ID]:topic/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": "arn:aws:iot:[Region]:[Account ID]:topic/relay/pub"
    }
  ]
}

Europa (controlla la regione)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:eu-west-1:XXXXXXXXXXXX:client/esp8266_relay"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:eu-west-1:XXXXXXXXXXXX:topicfilter/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:eu-west-1:XXXXXXXXXXXX:topic/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": "arn:aws:iot:eu-west-1:XXXXXXXXXXXX:topic/relay/pub"
    }
  ]
}

Nord America (controlla la regione)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:us-east-1:XXXXXXXXXXXX:client/esp8266_relay"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:XXXXXXXXXXXX:topicfilter/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:XXXXXXXXXXXX:topic/relay/sub"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": "arn:aws:iot:us-east-1:XXXXXXXXXXXX:topic/relay/pub"
    }
  ]
}
  1. Sostituisci  XXXXXXXXXXXX  con il tuo ID account, che puoi trovare in setup.txt.
  2. Scegli  Crea.

Allega una policy a un oggetto

  1. Nella console AWS IoT, scegli  sicurezza, Certificati.  Seleziona quello creato per il tuo dispositivo, puoi identificarlo spuntando il prefisso del file di certificato che avevi precedentemente scaricato, controlla il certificato e nel menu Operazioni in alto a destra scegli Collega policy .
  2. Scegli esp8266_relay_policyCollega.
IoT Core Collegare policy a certificato
IoT Core Collegare policy a certificato

Il tuo dispositivo AWS IoT è ora configurato per avere l’autorizzazione per connettersi a AWS IoT Core. Può anche pubblicare sul topic relay/pub e iscriversi al topic relay/sub. Per ulteriori informazioni sulla protezione dei dispositivi, consulta Criteri AWS IoT .
Copia relay/pub e relay/sub rispettivamente nel [IoT MQTT publish topic][IoT MQTT subscribe topic] del nostro file setup.txt.

Grazie

  1. Servizi AWS IoT core e MQTT: introduzione e prerequisiti
  2. Servizi AWS IoT core e MQTT: creazione di oggetti AWS con certificato e policy
  3. Servizi AWS IoT core e MQTT: connettere i dispositivi esp8266
  4. Servizi AWS IoT core e MQTT: connettere i dispositivi esp32
  5. Servizi AWS IoT core e MQTT: connettere i dispositivi Arduino SAMD (WiFiNINA).
  6. Servizi AWS IoT core e MQTT: test da console e MQTT.fx

Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *