

Avviso di fine del supporto: il 7 ottobre 2026, AWS interromperà 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 from. AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)

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à.

# 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 trovarne l'indirizzo IP.

      ```
      hostname -I
      ```

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

      ```
      ping {{IP-address}}
      ```

      Un risultato simile al seguente indica una corretta comunicazione tra il computer e il dispositivo AWS IoT Greengrass principale (0% di perdita di pacchetti):  
![Output del comando "ping" eseguito con successo.](https://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'istanza EC2 in esecuzione AWS IoT Greengrass, assicurati che le regole del gruppo di sicurezza in entrata per l'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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping) Per ulteriori informazioni, consulta [ Adding rules to a security group ](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, potresti anche dover 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 ](https://console.aws.amazon.com/iot/)AWS IoT della console, scegli ** Impostazioni. **

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

1. Sul tuo 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 \_Publisher e l'altra rappresenta il dispositivo client HelloWorld \_Subscriber.

   Al momento dell'esecuzione, `basicDiscovery.py` tenta di raccogliere informazioni sulla posizione del AWS IoT Greengrass core nei suoi endpoint. Queste informazioni vengono archiviate 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**  
Gli ID client utilizzati per le connessioni MQTT devono 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 \_Publisher, 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\_IOT\_ENDPOINT}} con il tuo endpoint.
   + Sostituisci le due {{publisherCertId}} istanze con l'ID del certificato nel nome del file del tuo dispositivo client HelloWorld \_Publisher.

   ```
   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.](https://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. Dalla finestra del dispositivo client HelloWorld \_Subscriber, 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\_IOT\_ENDPOINT}} con il tuo endpoint.
   + Sostituisci le due {{subscriberCertId}} istanze con l'ID del certificato nel nome del file del tuo dispositivo client HelloWorld \_Subscriber.

   ```
   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.](https://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/gg-get-started-077.png)

Chiudi la HelloWorld\_Publisher finestra per impedire l'accumulo di messaggi nella finestra. HelloWorld\_Subscriber

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 pannello di navigazione della AWS IoT console, in ** Gestisci**, 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 ** System Lambda functions**, scegli ** IP Detector**, quindi scegli Modifica. ** **

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

1. Inserisci l'endpoint principale del broker MQTT. Esegui questa operazione:

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

   1. In ** MQTT broker endpoints**, scegli Manage 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. Scegliere **Aggiorna**.