

Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita [Migrate](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html) from. AWS IoT Greengrass Version 1

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Modulo 4: Interazione con i dispositivi client in un gruppo AWS IoT Greengrass
<a name="module4"></a>

Questo modulo mostra come i dispositivi IoT locali, chiamati *dispositivi o *dispositivi* client*, possono connettersi e comunicare con un dispositivo AWS IoT Greengrass principale. I dispositivi client che si connettono a un AWS IoT Greengrass core fanno parte di un AWS IoT Greengrass gruppo e possono partecipare al paradigma AWS IoT Greengrass di programmazione. In questo modulo, un dispositivo client invia un messaggio Hello World a un altro dispositivo client del gruppo Greengrass.

![\[AWS IoT connesso a un AWS IoT Greengrass core, che è collegato al dispositivo client #1 e al dispositivo client #2.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-065.5.png)


Prima di iniziare, eseguire lo script [Greengrass Device Setup](quick-start.md) o completare il [modulo 1](module1.md) e il [modulo 2](module2.md). Questo modulo crea due dispositivi client simulati. Non sono necessari altri componenti o dispositivi.

Il completamento di questo modulo dovrebbe richiedere meno di 30 minuti.

**Topics**
+ [Creare dispositivi client in un AWS IoT Greengrass gruppo](device-group.md)
+ [Configurazione delle sottoscrizioni](config-subs.md)
+ [Installa il SDK per dispositivi AWS IoT for Python](IoT-SDK.md)
+ [Test delle comunicazioni](test-comms.md)

# Creare dispositivi client in un AWS IoT Greengrass gruppo
<a name="device-group"></a>

In questo passaggio, aggiungi due dispositivi client al tuo gruppo Greengrass. Questo processo include la registrazione dei dispositivi come AWS IoT oggetti e la configurazione di certificati e chiavi per consentire loro di connettersi. AWS IoT Greengrass

1. <a name="console-gg-groups"></a>Nel riquadro di navigazione della AWS IoT console, in **Gestione**, espandi **i dispositivi Greengrass**, quindi scegli **Gruppi (V1**).

1. <a name="group-choose-target-group"></a>Scegliere il gruppo target.

1. <a name="gg-group-add-device"></a>**Nella pagina di configurazione del gruppo, scegli **Dispositivi client**, quindi scegli Associa.**

1. <a name="gg-group-create-device"></a>Nella finestra Modale **Associa un dispositivo client a questo gruppo**, scegli **Crea nuovo AWS IoT elemento**.

   La pagina **Crea oggetti** si apre in una nuova scheda.

1. <a name="gg-group-create-single-thing"></a>Nella pagina **Crea elementi**, scegli **Crea elemento singolo**, quindi scegli **Avanti**.

1. Nella pagina **Specificare le proprietà** dell'oggetto, registra questo dispositivo client come**HelloWorld\$1Publisher**, quindi scegli **Avanti**.

1. <a name="gg-group-create-device-configure-certificate"></a>Nella pagina **Configura il certificato del dispositivo**, scegli **Avanti**.

1. <a name="gg-group-create-device-attach-policy"></a>Nella pagina **Allega le politiche al certificato**, esegui una delle seguenti operazioni:
   + Seleziona una politica esistente che conceda le autorizzazioni richieste dai dispositivi client, quindi scegli **Crea** oggetto.

     Si apre una finestra modale in cui è possibile scaricare i certificati e le chiavi utilizzati dal dispositivo per connettersi al core Cloud AWS .
   + Crea e allega una nuova policy che conceda le autorizzazioni per i dispositivi client. Esegui questa operazione:

     1. Scegli **Crea policy**.

        La pagina **Create policy (Crea policy)** viene aperta in una nuova scheda.

     1. Nella pagina **Create policy (Crea policy)**, eseguire le operazioni seguenti:

        1. Per **Nome della politica**, inserisci un nome che descriva la politica, ad esempio. **GreengrassV1ClientDevicePolicy**

        1. Nella scheda **Dichiarazioni politiche**, in **Documento di politica**, scegli **JSON**.

        1. Inserisci il seguente documento di policy. Questa politica consente al dispositivo client di scoprire i core Greengrass e comunicare su tutti gli argomenti MQTT. Per informazioni su come limitare l'accesso a questa politica, vedere. [Autenticazione e autorizzazione del dispositivo per AWS IoT Greengrass](device-auth.md)

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. Scegliere **Crea** per creare la policy.

     1. Torna alla scheda del browser con la pagina **Allega politiche al certificato** aperta. Esegui questa operazione:

        1. Nell'elenco **Politiche**, seleziona la politica che hai creato, ad esempio **GreengrassV1ClientDevicePolicy**.

           Se non vedi la politica, scegli il pulsante di aggiornamento.

        1. Scegli **Create thing (Crea oggetto)**.

           Si apre una finestra modale in cui è possibile scaricare i certificati e le chiavi utilizzati dal dispositivo per connettersi al Cloud AWS core.

1. <a name="gg-group-create-device-download-certs"></a>Nella modalità **Scarica certificati e chiavi**, scarica i certificati del dispositivo.
**Importante**  
Prima di scegliere **Fine**, scarica le risorse di sicurezza.

   Esegui questa operazione:

   1. Per **Certificato del dispositivo**, scegli **Scarica** per scaricare il certificato del dispositivo.

   1. Per il **file della chiave pubblica**, scegli **Scarica** per scaricare la chiave pubblica per il certificato.

   1. Per **File di chiave privata**, scegli **Scarica** per scaricare il file di chiave privata per il certificato.

   1. Consulta [l'autenticazione del server](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html) nella *Guida per gli AWS IoT sviluppatori* e scegli il certificato CA principale appropriato. Ti consigliamo di utilizzare gli endpoint Amazon Trust Services (ATS) e i certificati CA root ATS. In **Certificati CA root**, scegli **Scarica** per un certificato CA root.

   1. Seleziona **Fatto**.

   Prendi nota dell'ID del certificato che è comune nei nomi dei file per il certificato e le chiavi del dispositivo. perché sarà necessaria in seguito.

1. Torna alla scheda del browser con la modalità **Associa un dispositivo client a questo gruppo** aperta. Esegui questa operazione:

   1. Come **nome della AWS IoT cosa**, scegli la **HelloWorld\$1Publisher**cosa che hai creato.

      Se non vedi l'oggetto, scegli il pulsante di aggiornamento.

   1. Selezionare **Associate (Associa)**.

1. Ripeti i passaggi da 3 a 10 per aggiungere un secondo dispositivo client al gruppo.

   Assegna un nome a questo dispositivo client**HelloWorld\$1Subscriber**. Scarica i certificati e le chiavi per questo dispositivo client sul tuo computer. Ancora una volta, prendi nota dell'ID del certificato che è comune nei nomi di file per il dispositivo HelloWorld \$1Subscriber.

   Ora dovresti avere due dispositivi client nel tuo gruppo Greengrass:
   + HelloWorld\$1Editore
   + HelloWorld\$1Sottoscrittore

1. Crea una cartella sul tuo computer per le credenziali di sicurezza di questi dispositivi client. Copia i certificati e le chiavi in questa cartella.

# Configurazione delle sottoscrizioni
<a name="config-subs"></a>

In questo passaggio, si abilita il dispositivo client HelloWorld \$1Publisher per inviare messaggi MQTT al dispositivo client HelloWorld \$1Subscriber.

1. **Nella pagina di configurazione del gruppo, scegli la scheda **Abbonamenti**, quindi scegli Aggiungi.**

1. Nella pagina **Crea un abbonamento**, procedi come segue per configurare l'abbonamento:

   1. Per **Tipo di origine**, scegli **Dispositivo client**, quindi scegli **HelloWorld\$1Publisher**.

   1. In **Tipo di destinazione**, scegli **Dispositivo client**, quindi scegli **HelloWorld\$1Subscriber**.

   1. In **Topic filter (Filtro argomento)**, immettere **hello/world/pubsub**.
**Nota**  
Adesso puoi eliminare le sottoscrizioni indicate nei moduli precedenti. **Nella pagina **Sottoscrizioni** del gruppo, seleziona gli abbonamenti da eliminare, quindi scegli Elimina.**

   1. Scegli **Crea sottoscrizione**.

1. <a name="enable-automatic-detection"></a>Assicurati che il rilevamento automatico sia abilitato in modo che il core di Greengrass possa pubblicare un elenco dei suoi indirizzi IP. I dispositivi client utilizzano queste informazioni per scoprire il core. Esegui questa operazione:

   1. Nella pagina di configurazione del gruppo, scegli la scheda **Funzioni Lambda**.

   1. **In **Funzioni System Lambda**, scegli **Rilevatore IP**, quindi scegli Modifica.**

   1. **In **Modifica le impostazioni del rilevatore IP**, scegli **Rileva automaticamente e sostituisci gli endpoint del broker MQTT**, quindi scegli Salva.**

1. Assicuratevi che il demone Greengrass sia in esecuzione, come descritto in. [Distribuire configurazioni cloud su un dispositivo core](configs-core.md)

1. <a name="console-actions-deploy"></a>**Nella pagina di configurazione del gruppo, scegliete Deploy.**

Lo stato della distribuzione è visualizzato sotto il nome del gruppo nell'intestazione di pagina. Per visualizzare i dettagli della distribuzione, scegli la scheda **Distribuzioni**.

# Installa il SDK per dispositivi AWS IoT for Python
<a name="IoT-SDK"></a>

I dispositivi client possono utilizzare SDK per dispositivi AWS IoT for Python per comunicare con AWS IoT i dispositivi AWS IoT Greengrass principali (utilizzando il linguaggio di programmazione Python). Per ulteriori informazioni, compresi i requisiti, consultate il SDK per dispositivi AWS IoT [Readme](https://github.com/aws/aws-iot-device-sdk-python) for Python on. GitHub

In questo passaggio, installerai l'SDK e otterrai la funzione di `basicDiscovery.py` esempio utilizzata dai dispositivi client simulati sul tuo computer.

1. Per installare l'SDK sul computer con tutti i componenti richiesti, scegliere il sistema operativo:

------
#### [ Windows ]

   1. Apri un [prompt di comandi elevati](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx) ed esegui il seguente comando:

      ```
      python --version
      ```

      Se non vengono restituite le informazioni relative alla versione o se il numero di versione è inferiore a 2.7 per Python 2 o meno di 3.3 per Python 3, seguire le istruzioni in [Download di Python](https://wiki.python.org/moin/BeginnersGuide/Download) per installare Python 2.7\$1 o Python 3.3\$1. Per ulteriori informazioni sulla manutenzione Windows, consulta [Utilizzo di Python su Windows](https://docs.python.org/3.6/using/windows.html).

   1. Scaricate il `zip` file [SDK per dispositivi AWS IoT for Python](https://github.com/aws/aws-iot-device-sdk-python) ed estraetelo in una posizione appropriata sul vostro computer.

      Prendi nota del percorso file alla cartella `aws-iot-device-sdk-python-master` estratta che contiene il file `setup.py`. Nel passaggio successivo, questo percorso del file è indicato da*path-to-SDK-folder*.

   1. Dal prompt di comandi elevati, esegui il comando seguente:

      ```
      cd path-to-SDK-folder
      python setup.py install
      ```

------
#### [ macOS ]

   1. Apri una finestra del terminale ed esegui il comando seguente:

      ```
      python --version
      ```

      Se non vengono restituite le informazioni relative alla versione o se il numero di versione è inferiore a 2.7 per Python 2 o meno di 3.3 per Python 3, seguire le istruzioni in [Download di Python](https://wiki.python.org/moin/BeginnersGuide/Download) per installare Python 2.7\$1 o Python 3.3\$1. Per ulteriori informazioni sulla manutenzione Windows, consulta [Utilizzo di Python su Macintosh](https://docs.python.org/3/using/mac.html).

   1. Nella finestra del terminale, esegui i seguenti comandi per determinare la versione di OpenSSL:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Annota il valore della versione di OpenSSL. 
**Nota**  
Se Python 3 è in esecuzione, utilizza **print(ssl.OPENSSL\$1VERSION)**.

      Per chiudere lo shell di Python, esegui il seguente comando:

      ```
      >>>exit()
      ```

      Se la versione di OpenSSL è 1.0.1 o successiva, vai alla [fase c](#step-c-install-python-sdk). In caso contrario, procedi come descritto:

      1. Nella finestra del terminale, esegui il comando seguente per determinare se il computer sta utilizzando Simple Python Version Management:

        ```
        which pyenv
        ```

      Se viene restituito un percorso di file, scegli la `pyenv` scheda **Utilizzo**. Se non viene restituito nulla, scegli la `pyenv` scheda **Non in uso**.

------
#### [ Using pyenv ]

      1. Consulta [Versioni di Python per Mac OS X](https://www.python.org/downloads/mac-osx/) (o simile) per determinare la versione stabile più recente di Python. Nell'esempio seguente, questo valore è indicato da*latest-Python-version*.

      1. Dalla finestra di terminale, esegui i comandi seguenti:

         ```
         pyenv install latest-Python-version
         pyenv global latest-Python-version
         ```

         Ad esempio, se la versione più recente per Python 2 è 2.7.14, i comandi sono:

         ```
         pyenv install 2.7.14
         pyenv global 2.7.14
         ```

      1. Chiudi e riapri la finestra del terminale ed esegui i comandi seguenti:

         ```
         python
         >>>import ssl
         >>>print ssl.OPENSSL_VERSION
         ```

         La versione di OpenSSL deve essere almeno 1.0.1. Se la versione è precedente a 1.0.1, l'aggiornamento non è riuscito. Controlla la versione di Python usata nei comandi **pyenv install** e **pyenv global** e riprova.

      1. Esegui il comando seguente per uscire dallo shell di Python:

         ```
          exit()
         ```

------
#### [ Not using pyenv ]

      1. Da una finestra del terminale, esegui il comando seguente per determinare se [brew](https://brew.sh/) è installato:

         ```
         which brew
         ```

         Se non viene restituito un percorso di file, installa `brew` come segue:

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**Nota**  
Segui le istruzioni di installazione. Il download degli strumenti a riga di comando Xcode può richiedere del tempo.

      1. Esegui i comandi seguenti:

         ```
         brew update
         brew install openssl
         brew install python@2
         ```

          SDK per dispositivi AWS IoT for Python richiede OpenSSL versione 1.0.1 (o successiva) compilata con l'eseguibile Python. Il comando **brew install python** installa un eseguibile `python2` che soddisfa questa esigenza. L'eseguibile `python2` è installato nella directory `/usr/local/bin`, che dovrebbe essere parte della variabile di ambiente `PATH`. Per averne la conferma, esegui il comando seguente:

         ```
         python2 --version
         ```

         Se le informazioni di versione di `python2` vengono fornite, vai alla fase successiva. In caso contrario, aggiungi definitivamente il percorso `/usr/local/bin` alla variabile di ambiente `PATH` aggiungendo la seguente riga al profilo shell:

         ```
         export PATH="/usr/local/bin:$PATH"
         ```

         Ad esempio, se stai utilizzando `.bash_profile` o non disponi di un profilo shell, esegui il seguente comando da una finestra del terminale:

         ```
         echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
         ```

         Quindi, [rintraccia l'origine](https://en.wikipedia.org/wiki/Source_(command)) del profilo shell e conferma che `python2 --version` fornisca le informazioni sulla versione. Ad esempio, se utilizzi `.bash_profile`, esegui i comandi seguenti:

         ```
         source ~/.bash_profile
         python2 --version
         ```

         Le informazioni sulla versione di `python2` dovrebbero essere restituite.

      1. Aggiungi la riga seguente al profilo shell:

         ```
         alias python="python2"
         ```

         Ad esempio, se stai utilizzando `.bash_profile` o non disponi di un profilo shell, esegui il seguente comando:

         ```
         echo 'alias python="python2"' >> ~/.bash_profile
         ```

      1. Quindi, [rintraccia l'origine](https://en.wikipedia.org/wiki/Source_(command)) del profilo shell. Ad esempio, se utilizzi `.bash_profile`, esegui il comando seguente:

         ```
         source ~/.bash_profile
         ```

         Richiamando il comando **python** verrà avviato l'eseguibile Python che contiene la versione di OpenSSL richiesta (`python2`).

      1. Esegui i comandi seguenti:

         ```
         python
          import ssl
          print ssl.OPENSSL_VERSION
         ```

         La versione di OpenSSL deve essere almeno 1.0.1. o successiva.

      1. Per uscire dallo shell di Python, esegui il comando seguente:

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>Esegui i seguenti comandi per installare il SDK per dispositivi AWS IoT for Python:

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------
#### [ UNIX-like system ]

   1. Dalla finestra di un terminale, eseguire il comando riportato qui sotto:

      ```
      python --version
      ```

      Se non vengono restituite le informazioni relative alla versione o se il numero di versione è inferiore a 2.7 per Python 2 o meno di 3.3 per Python 3, seguire le istruzioni in [Download di Python](https://wiki.python.org/moin/BeginnersGuide/Download) per installare Python 2.7\$1 o Python 3.3\$1. Per ulteriori informazioni, consulta [Utilizzo di Python su piattaforme Unix](https://docs.python.org/3.6/using/unix.html).

   1. Nel terminale, esegui i seguenti comandi per determinare la versione di OpenSSL:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      Annota il valore della versione di OpenSSL. 
**Nota**  
Se Python 3 è in esecuzione, utilizza **print(ssl.OPENSSL\$1VERSION)**.

      Per chiudere lo shell di Python, esegui il seguente comando:

      ```
       exit()
      ```

      Se la versione di OpenSSL è 1.0.1 o successiva, vai alla fase successiva. In caso contrario, esegui il comando/i per aggiornare OpenSSL per la distribuzione (ad esempio, `sudo yum update openssl`, `sudo apt-get update` e così via).

      Verifica che la versione di OpenSSL sia 1.0.1 o successiva eseguendo i comandi seguenti:

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      >>>exit()
      ```

   1. Esegui i seguenti comandi per installare il SDK per dispositivi AWS IoT for Python:

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------

1. Dopo aver installato SDK per dispositivi AWS IoT for Python, vai alla `samples` cartella e apri la `greengrass` cartella.

   Per questo tutorial si copia la funzione di esempio `basicDiscovery.py`, che utilizza i certificati e le chiavi che sono stati scaricati in [Creare dispositivi client in un AWS IoT Greengrass gruppo](device-group.md).

1. Copia `basicDiscovery.py` nella cartella che contiene i certificati e le chiavi dei dispositivi HelloWorld \$1Publisher e HelloWorld \$1Subscriber.

# Test delle comunicazioni
<a name="test-comms"></a>

1. <a name="ping-device"></a>Assicurati che il computer e il dispositivo AWS IoT Greengrass principale siano connessi a Internet utilizzando la stessa rete.

   1. Sul dispositivo AWS IoT Greengrass principale, esegui il comando seguente per trovare il relativo indirizzo IP.

      ```
      hostname -I
      ```

   1. Sul computer, esegui il comando seguente utilizzando l'indirizzo IP del core. È possibile utilizzare Ctrl \$1 C per arrestare il comando **ping**.

      ```
      ping IP-address
      ```

      Un output simile al seguente indica una comunicazione riuscita tra il computer e il dispositivo AWS IoT Greengrass principale (perdita di pacchetti pari allo 0%):  
![\[Output del comando "ping" eseguito con successo.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**Nota**  
Se non riesci a eseguire il ping di un' EC2 istanza in esecuzione AWS IoT Greengrass, assicurati che le regole del gruppo di sicurezza in entrata relative all'istanza consentano il traffico ICMP per i messaggi di richiesta [Echo](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping). Per ulteriori informazioni, consulta [Aggiungere regole a un gruppo di sicurezza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) nella *Amazon EC2 User Guide*.  
Sui computer host Windows, nell'app Windows Firewall with Advanced Security, potrebbe anche essere necessario abilitare una regola in entrata che consenta le richieste echo in entrata (ad esempio, **condivisione di file e stampanti (Echo Request - ICMPv4 -In))** o crearne una.

1. Ottieni il tuo endpoint. AWS IoT 

   1. <a name="iot-settings"></a>Dal pannello di navigazione [AWS IoT della console](https://console.aws.amazon.com/iot/), scegli **Impostazioni**.

   1. <a name="iot-settings-endpoint"></a>In **Device data endpoint**, prendi nota del valore di **Endpoint**. Si utilizza questo valore per sostituire il *AWS\$1IOT\$1ENDPOINT* segnaposto nei comandi nei passaggi seguenti.
**Nota**  
Assicurati che gli [endpoint corrispondano al tipo di certificato](gg-core.md#certificate-endpoints).

1. Sul computer (non sul dispositivo AWS IoT Greengrass principale), apri due finestre della [riga di comando](https://en.wikipedia.org/wiki/Command-line_interface) (terminale o prompt dei comandi). Una finestra rappresenta il dispositivo client HelloWorld \$1Publisher e l'altra rappresenta il dispositivo client \$1Subscriber. HelloWorld

   Al momento dell'esecuzione, `basicDiscovery.py` tenta di raccogliere informazioni sulla posizione del AWS IoT Greengrass core nei relativi punti terminali. Queste informazioni vengono memorizzate dopo che il dispositivo client è stato scoperto e connesso correttamente al core. In questo modo le operazioni e la messaggistica future saranno eseguite in locale (senza bisogno di una connessione a Internet).
**Nota**  
Il client IDs utilizzato per le connessioni MQTT deve corrispondere al nome dell'oggetto del dispositivo client. Lo `basicDiscovery.py` script imposta l'ID client per le connessioni MQTT sul nome dell'oggetto specificato quando si esegue lo script.   
Eseguite il comando seguente dalla cartella che contiene il `basicDiscovery.py` file per informazioni dettagliate sull'utilizzo dello script:  

   ```
   python basicDiscovery.py --help
   ```

1. Dalla finestra del dispositivo client HelloWorld \$1Publisher, esegui i comandi seguenti.
   + Sostituisci *path-to-certs-folder* con il percorso della cartella che contiene i certificati, le chiavi e`basicDiscovery.py`.
   + Sostituisci *AWS\$1IOT\$1ENDPOINT* con il tuo endpoint.
   + Sostituisci le due *publisherCertId* istanze con l'ID del certificato nel nome del file per il tuo dispositivo client HelloWorld \$1Publisher.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert publisherCertId-certificate.pem.crt --key publisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'
   ```

   L'output risultante dovrebbe essere analogo al seguente, con voci come `Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.
**Nota**  
Se lo script restituisce un messaggio `error: unrecognized arguments`, cambia le virgolette singole in virgolette doppie per i parametri `--topic` e `--message` ed esegui nuovamente il comando.  
Per risolvere un problema di connessione, puoi provare a usare il [rilevamento IP manuale](#corp-network-manual-detection).  
![\[Screenshot dell'output del publisher.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. Dalla finestra del dispositivo client HelloWorld \$1Subscriber, esegui i seguenti comandi.
   + Sostituisci *path-to-certs-folder* con il percorso della cartella che contiene i certificati, le chiavi e. `basicDiscovery.py`
   + Sostituisci *AWS\$1IOT\$1ENDPOINT* con il tuo endpoint.
   + Sostituisci le due *subscriberCertId* istanze con l'ID del certificato nel nome del file per il tuo dispositivo client HelloWorld \$1Subscriber.

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert subscriberCertId-certificate.pem.crt --key subscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribe
   ```

   L'output risultante dovrebbe essere il seguente, con voci come `Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}`.  
![\[Screenshot dell'output del sottoscrittore.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-077.png)

Chiudi il HelloWorld\$1Publisher finestra per impedire l'accumulo di messaggi nel HelloWorld\$1Subscriber finestra.

Il test su una rete aziendale potrebbe interferire con la connessione al core. Come soluzione alternativa, puoi immettere manualmente l'endpoint. Ciò garantisce che lo `basicDiscovery.py` script si connetta all'indirizzo IP corretto del dispositivo AWS IoT Greengrass principale.

**Per immettere manualmente l'endpoint**

1. <a name="console-gg-groups"></a>Nel riquadro di navigazione della AWS IoT console, in **Gestione**, espandi **i dispositivi Greengrass**, quindi scegli **Gruppi (V1**).

1. In **Gruppi Greengrass**, scegli il tuo gruppo.

1. Configura il core per gestire manualmente gli endpoint del broker MQTT. Esegui questa operazione:

   1. Nella pagina di configurazione del gruppo, scegli la scheda **Funzioni Lambda**.

   1. **In **Funzioni System Lambda**, scegli **Rilevatore IP**, quindi scegli Modifica.**

   1. **In **Modifica le impostazioni del rilevatore IP**, scegli **Gestisci manualmente gli endpoint del broker MQTT**, quindi scegli Salva.**

1. Inserisci l'endpoint del broker MQTT per il core. Esegui questa operazione:

   1. In **Panoramica**, scegli il core **Greengrass**.

   1. **In Endpoints del **broker MQTT, scegli Gestisci endpoints**.**

   1. Scegli **Aggiungi endpoint** e assicurati di avere un solo valore di endpoint. Questo valore deve essere l'endpoint dell'indirizzo IP per la porta 8883 del dispositivo AWS IoT Greengrass principale (ad esempio,). `192.168.1.4`

   1. Scegli **Aggiorna**.