

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

# Verifica le comunicazioni con i dispositivi client
<a name="test-client-device-communications"></a>

I dispositivi client possono utilizzare il SDK per dispositivi AWS IoT per rilevare, connettersi e comunicare con un dispositivo principale. È possibile utilizzare il Greengrass discovery client SDK per dispositivi AWS IoT per utilizzare l'[API Greengrass discovery](greengrass-discover-api.md), che restituisce informazioni sui dispositivi principali a cui un dispositivo client può connettersi. La risposta dell'API include gli endpoint del broker MQTT da connettere e i certificati da utilizzare per verificare l'identità di ciascun dispositivo principale. Quindi, il dispositivo client può provare ogni endpoint fino a quando non si connette correttamente a un dispositivo principale.

I dispositivi client possono rilevare solo i dispositivi principali a cui vengono associati. Prima di testare le comunicazioni tra un dispositivo client e un dispositivo principale, è necessario associare il dispositivo client al dispositivo principale. Per ulteriori informazioni, consulta [Associa i dispositivi client](associate-client-devices.md).

L'API Greengrass discovery restituisce gli endpoint del broker MQTT del dispositivo principale specificati. Puoi utilizzare il [componente IP Detector](ip-detector-component.md) per gestire questi endpoint al posto tuo oppure puoi gestirli manualmente per ogni dispositivo principale. Per ulteriori informazioni, consulta [Gestisci gli endpoint principali dei dispositivi](manage-core-device-endpoints.md).

**Nota**  
Per utilizzare l'API di scoperta Greengrass, un dispositivo client deve disporre dell'`greengrass:Discover`autorizzazione. Per ulteriori informazioni, consulta [AWS IoT Politica minima per i dispositivi client](device-auth.md#client-device-minimal-iot-policy).

 SDK per dispositivi AWS IoT È disponibile in più linguaggi di programmazione. Per ulteriori informazioni, consulta [AWS IoT Device SDKs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html) nella *AWS IoT Core Developer Guide*.

**Topics**
+ [Comunicazioni di test (Python)](#test-client-device-communications-python)
+ [Comunicazioni di test (C\$1\$1)](#test-client-device-communications-cpp)
+ [Comunicazioni di prova () JavaScript](#test-client-device-communications-javascript)
+ [Comunicazioni di test (Java)](#test-client-device-communications-java)

## Comunicazioni di test (Python)
<a name="test-client-device-communications-python"></a>

In questa sezione, si utilizza l'esempio di scoperta di Greengrass nella versione 2 [SDK per dispositivi AWS IoT per Python](https://github.com/aws/aws-iot-device-sdk-python-v2) per testare le comunicazioni tra un dispositivo client e un dispositivo principale.

**Importante**  
Per utilizzare la versione SDK per dispositivi AWS IoT v2 per Python, un dispositivo deve eseguire Python 3.6 o versione successiva.

**Per testare le comunicazioni (SDK per dispositivi AWS IoT v2 per Python)**

1. <a name="download-iot-device-sdk-python-v2"></a>Scarica e installa la [SDK per dispositivi AWS IoT versione 2 per Python](https://github.com/aws/aws-iot-device-sdk-python-v2) AWS IoT sull'oggetto da connettere come dispositivo client.

   Sul dispositivo client, procedi come segue:

   1. Clona il repository SDK per dispositivi AWS IoT v2 for Python per scaricarlo.

      ```
      git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
      ```

   1. Installa la SDK per dispositivi AWS IoT v2 per Python.

      ```
      python3 -m pip install --user ./aws-iot-device-sdk-python-v2
      ```

1. <a name="cd-iot-device-sdk-python-v2"></a>Passa alla cartella samples nella SDK per dispositivi AWS IoT v2 per Python.

   ```
   cd aws-iot-device-sdk-python-v2/samples/greengrass
   ```

1. <a name="test-client-device-communications-application-intro"></a>Esegui l'applicazione Greengrass discovery di esempio. Questa applicazione prevede argomenti che specifichino il nome dell'oggetto del dispositivo client, l'argomento e il messaggio MQTT da utilizzare e i certificati che autenticano e proteggono la connessione. L'esempio seguente invia un messaggio Hello World all'argomento. `clients/MyClientDevice1/hello/world`<a name="test-client-device-communications-application-command-replace"></a>
   + Sostituire *MyClientDevice1* con il nome dell'oggetto del dispositivo client.
   + Sostituisci *\$1/certs/AmazonRootCA1.pem* con il percorso del certificato Amazon root CA sul dispositivo client.
   + Sostituisci *\$1/certs/device.pem.crt* con il percorso del certificato del dispositivo sul dispositivo client.
   + Sostituisci *\$1/certs/private.pem.key* con il percorso del file della chiave privata sul dispositivo client.
   + Sostituiscilo *us-east-1* con la AWS regione in cui operano il dispositivo client e il dispositivo principale.

   ```
   python3 basic_discovery.py \\
     --thing_name MyClientDevice1 \\
     --topic 'clients/MyClientDevice1/hello/world' \\
     --message 'Hello World!' \\
     --ca_file ~/certs/AmazonRootCA1.pem \\
     --cert ~/certs/device.pem.crt \\
     --key ~/certs/private.pem.key \\
     --region us-east-1 \\
     --verbosity Warn
   ```

   <a name="test-client-device-communications-application-output-intro"></a>L'applicazione di esempio Discovery invia il messaggio 10 volte e si disconnette. Inoltre, sottoscrive lo stesso argomento in cui pubblica i messaggi. Se l'output indica che l'applicazione ha ricevuto messaggi MQTT sull'argomento, il dispositivo client può comunicare correttamente con il dispositivo principale.

   ```
   Performing greengrass discovery...
   awsiot.greengrass_discovery.DiscoverResponse(gg_groups=[awsiot.greengrass_discovery.GGGroup(gg_group_id='greengrassV2-coreDevice-MyGreengrassCore', cores=[awsiot.greengrass_discovery.GGCore(thing_arn='arn:aws:iot:us-east-1:123456789012:thing/MyGreengrassCore', connectivity=[awsiot.greengrass_discovery.ConnectivityInfo(id='203.0.113.0', host_address='203.0.113.0', metadata='', port=8883)])], certificate_authorities=['-----BEGIN CERTIFICATE-----\
   MIICiT...EXAMPLE=\
   -----END CERTIFICATE-----\
   '])])
   Trying core arn:aws:iot:us-east-1:123456789012:thing/MyGreengrassCore at host 203.0.113.0 port 8883
   Connected!
   Published topic clients/MyClientDevice1/hello/world: {"message": "Hello World!", "sequence": 0}
   
   Publish received on topic clients/MyClientDevice1/hello/world
   b'{"message": "Hello World!", "sequence": 0}'
   Published topic clients/MyClientDevice1/hello/world: {"message": "Hello World!", "sequence": 1}
   
   Publish received on topic clients/MyClientDevice1/hello/world
   b'{"message": "Hello World!", "sequence": 1}'
   
   ...
   
   Published topic clients/MyClientDevice1/hello/world: {"message": "Hello World!", "sequence": 9}
   
   Publish received on topic clients/MyClientDevice1/hello/world
   b'{"message": "Hello World!", "sequence": 9}'
   ```

   <a name="test-client-device-communications-application-troubleshooting"></a>Se invece l'applicazione genera un errore, consulta [Risoluzione dei problemi di rilevamento di Greengrass](troubleshooting-client-devices.md#greengrass-discovery-issues).

   <a name="test-client-device-communications-application-view-core-logs"></a>Puoi anche visualizzare i log di Greengrass sul dispositivo principale per verificare se il dispositivo client si connette e invia messaggi correttamente. Per ulteriori informazioni, consulta [Monitora AWS IoT Greengrass i registri](monitor-logs.md).

## Comunicazioni di test (C\$1\$1)
<a name="test-client-device-communications-cpp"></a>

In questa sezione, si utilizza l'esempio di scoperta di Greengrass nella versione [SDK per dispositivi AWS IoT 2 per C\$1\$1 per](https://github.com/aws/aws-iot-device-sdk-cpp-v2) testare le comunicazioni tra un dispositivo client e un dispositivo principale.

<a name="iot-device-sdk-cpp-v2-build-requirements-intro"></a>Per creare la SDK per dispositivi AWS IoT v2 per C\$1\$1, un dispositivo deve disporre dei seguenti strumenti:<a name="iot-device-sdk-cpp-v2-build-requirements"></a>
+ C\$1\$1 11 o versione successiva
+ CMake 3.1 o successivo
+ Uno dei seguenti compilatori:
  + GCC 4.8 o successivo
  + Clang 3.9 o successivo
  + MSVC 2015 o versione successiva

**Per testare le comunicazioni (SDK per dispositivi AWS IoT v2 per C\$1\$1)**

1. Scarica e crea la versione [SDK per dispositivi AWS IoT v2 per C\$1\$1](https://github.com/aws/aws-iot-device-sdk-cpp-v2) su cui AWS IoT connetterti come dispositivo client.

   Sul dispositivo client, procedi come segue:

   1. Create una cartella per l'area di lavoro SDK per dispositivi AWS IoT v2 for C\$1\$1 e modificatela.

      ```
      cd
      mkdir iot-device-sdk-cpp
      cd iot-device-sdk-cpp
      ```

   1. Clona il repository SDK per dispositivi AWS IoT v2 for C\$1\$1 per scaricarlo. Il `--recursive` flag specifica di scaricare i sottomoduli.

      ```
      git clone --recursive https://github.com/aws/aws-iot-device-sdk-cpp-v2.git
      ```

   1. Crea una cartella per l'output della build SDK per dispositivi AWS IoT v2 for C\$1\$1 e modificala.

      ```
      mkdir aws-iot-device-sdk-cpp-v2-build
      cd aws-iot-device-sdk-cpp-v2-build
      ```

   1. Crea la SDK per dispositivi AWS IoT v2 per C\$1\$1.

      ```
      cmake -DCMAKE_INSTALL_PREFIX="~/iot-device-sdk-cpp" -DCMAKE_BUILD_TYPE="Release" ../aws-iot-device-sdk-cpp-v2
      cmake --build . --target install
      ```

1. Crea l'applicazione di esempio Greengrass discovery nella versione SDK per dispositivi AWS IoT 2 per C\$1\$1. Esegui questa operazione:

   1. Passate alla cartella di esempio Greengrass discovery nella versione SDK per dispositivi AWS IoT 2 per C\$1\$1.

      ```
      cd ../aws-iot-device-sdk-cpp-v2/samples/greengrass/basic_discovery
      ```

   1. Crea una cartella per l'output della build di esempio di Greengrass discovery e modificala.

      ```
      mkdir build
      cd build
      ```

   1. Crea l'applicazione di esempio Greengrass discovery.

      ```
      cmake -DCMAKE_PREFIX_PATH="~/iot-device-sdk-cpp" -DCMAKE_BUILD_TYPE="Release" ..
      cmake --build . --config "Release"
      ```

1. <a name="test-client-device-communications-application-scanner-intro"></a>Esegui l'applicazione Greengrass discovery di esempio. Questa applicazione prevede argomenti che specifichino il nome dell'oggetto del dispositivo client, l'argomento MQTT da utilizzare e i certificati che autenticano e proteggono la connessione. L'esempio seguente sottoscrive l'`clients/MyClientDevice1/hello/world`argomento e pubblica un messaggio immesso nella riga di comando relativo allo stesso argomento.<a name="test-client-device-communications-application-command-replace"></a>
   + Sostituire *MyClientDevice1* con il nome dell'oggetto del dispositivo client.
   + Sostituisci *\$1/certs/AmazonRootCA1.pem* con il percorso del certificato Amazon root CA sul dispositivo client.
   + Sostituisci *\$1/certs/device.pem.crt* con il percorso del certificato del dispositivo sul dispositivo client.
   + Sostituisci *\$1/certs/private.pem.key* con il percorso del file della chiave privata sul dispositivo client.
   + Sostituiscilo *us-east-1* con la AWS regione in cui operano il dispositivo client e il dispositivo principale.

   ```
   ./basic-discovery \
     --thing_name MyClientDevice1 \
     --topic 'clients/MyClientDevice1/hello/world' \
     --ca_file ~/certs/AmazonRootCA1.pem \
     --cert ~/certs/device.pem.crt \
     --key ~/certs/private.pem.key \
     --region us-east-1
   ```

   <a name="test-client-device-communications-application-scanner-output-intro"></a>L'applicazione di esempio Discovery sottoscrive l'argomento e richiede all'utente di inserire un messaggio da pubblicare. 

   ```
   Connecting to group greengrassV2-coreDevice-MyGreengrassCore with thing arn arn:aws:iot:us-east-1:123456789012:thing/MyGreengrassCore, using endpoint 203.0.113.0:8883
   Connected to group greengrassV2-coreDevice-MyGreengrassCore, using connection to 203.0.113.0:8883
   Successfully subscribed to clients/MyClientDevice1/hello/world
   Enter the message you want to publish to topic clients/MyClientDevice1/hello/world and press enter. Enter 'exit' to exit this program.
   ```

   <a name="test-client-device-communications-application-troubleshooting"></a>Se invece l'applicazione genera un errore, consulta [Risoluzione dei problemi di rilevamento di Greengrass](troubleshooting-client-devices.md#greengrass-discovery-issues).

1. <a name="test-client-device-communications-application-scanner-input"></a>Inserisci un messaggio, ad esempio. **Hello World\$1**

   ```
   Enter the message you want to publish to topic clients/MyClientDevice1/hello/world and press enter. Enter 'exit' to exit this program.
   Hello World!
   ```

   <a name="test-client-device-communications-application-scanner-input-output"></a>Se l'output indica che l'applicazione ha ricevuto il messaggio MQTT sull'argomento, il dispositivo client può comunicare correttamente con il dispositivo principale.

   ```
   Operation on packetId 2 Succeeded
   Publish received on topic clients/MyClientDevice1/hello/world
   Message:
   Hello World!
   ```

   <a name="test-client-device-communications-application-view-core-logs"></a>Puoi anche visualizzare i log di Greengrass sul dispositivo principale per verificare se il dispositivo client si connette e invia messaggi correttamente. Per ulteriori informazioni, consulta [Monitora AWS IoT Greengrass i registri](monitor-logs.md).

## Comunicazioni di prova () JavaScript
<a name="test-client-device-communications-javascript"></a>

In questa sezione, si utilizza Greengrass discovery sample nella versione [SDK per dispositivi AWS IoT 2 per JavaScript](https://github.com/aws/aws-iot-device-sdk-js-v2) testare le comunicazioni tra un dispositivo client e un dispositivo principale. 

**Importante**  
Per utilizzare la versione SDK per dispositivi AWS IoT v2 for JavaScript, un dispositivo deve eseguire Node v10.0 o versione successiva.

**Per testare le comunicazioni (v2 for)SDK per dispositivi AWS IoT JavaScript**

1. Scarica e installa la [SDK per dispositivi AWS IoT versione 2](https://github.com/aws/aws-iot-device-sdk-js-v2) sull' AWS IoT oggetto JavaScript da connettere come dispositivo client.

   Sul dispositivo client, procedi come segue:

   1. Clona il JavaScript repository SDK per dispositivi AWS IoT v2 for per scaricarlo.

      ```
      git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
      ```

   1. Installa la v2 per SDK per dispositivi AWS IoT . JavaScript

      ```
      cd aws-iot-device-sdk-js-v2
      npm install
      ```

1. Passa alla cartella di esempio Greengrass discovery nella versione 2 per SDK per dispositivi AWS IoT . JavaScript

   ```
   cd samples/node/greengrass/basic_discovery
   ```

1. Installa l'applicazione di esempio Greengrass discovery.

   ```
   npm install
   ```

1. <a name="test-client-device-communications-application-intro"></a>Esegui l'applicazione Greengrass discovery di esempio. Questa applicazione prevede argomenti che specifichino il nome dell'oggetto del dispositivo client, l'argomento e il messaggio MQTT da utilizzare e i certificati che autenticano e proteggono la connessione. L'esempio seguente invia un messaggio Hello World all'argomento. `clients/MyClientDevice1/hello/world`<a name="test-client-device-communications-application-command-replace"></a>
   + Sostituire *MyClientDevice1* con il nome dell'oggetto del dispositivo client.
   + Sostituisci *\$1/certs/AmazonRootCA1.pem* con il percorso del certificato Amazon root CA sul dispositivo client.
   + Sostituisci *\$1/certs/device.pem.crt* con il percorso del certificato del dispositivo sul dispositivo client.
   + Sostituisci *\$1/certs/private.pem.key* con il percorso del file della chiave privata sul dispositivo client.
   + Sostituiscilo *us-east-1* con la AWS regione in cui operano il dispositivo client e il dispositivo principale.

   ```
   node dist/index.js \
     --thing_name MyClientDevice1 \
     --topic 'clients/MyClientDevice1/hello/world' \
     --message 'Hello World!' \
     --ca_file ~/certs/AmazonRootCA1.pem \
     --cert ~/certs/device.pem.crt \
     --key ~/certs/private.pem.key \
     --region us-east-1 \
     --verbose warn
   ```

   <a name="test-client-device-communications-application-output-intro"></a>L'applicazione di esempio Discovery invia il messaggio 10 volte e si disconnette. Inoltre, sottoscrive lo stesso argomento in cui pubblica i messaggi. Se l'output indica che l'applicazione ha ricevuto messaggi MQTT sull'argomento, il dispositivo client può comunicare correttamente con il dispositivo principale.

   ```
   Discovery Response:
   {"gg_groups":[{"gg_group_id":"greengrassV2-coreDevice-MyGreengrassCore","cores":[{"thing_arn":"arn:aws:iot:us-east-1:123456789012:thing/MyGreengrassCore","connectivity":[{"id":"203.0.113.0","host_address":"203.0.113.0","port":8883,"metadata":""}]}],"certificate_authorities":["-----BEGIN CERTIFICATE-----\nMIICiT...EXAMPLE=\n-----END CERTIFICATE-----\n"]}]}
   Trying endpoint={"id":"203.0.113.0","host_address":"203.0.113.0","port":8883,"metadata":""}
   [WARN] [2021-06-12T00:46:45Z] [00007f90c0e8d700] [socket] - id=0x7f90b8018710 fd=26: setsockopt() for NO_SIGNAL failed with errno 92. If you are having SIGPIPE signals thrown, you may want to install a signal trap in your application layer.
   Connected to endpoint={"id":"203.0.113.0","host_address":"203.0.113.0","port":8883,"metadata":""}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":1}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":2}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":3}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":4}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":5}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":6}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":7}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":8}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":9}
   Publish received. topic:"clients/MyClientDevice1/hello/world" dup:false qos:0 retain:false
   {"message":"Hello World!","sequence":10}
   Complete!
   ```

   <a name="test-client-device-communications-application-troubleshooting"></a>Se invece l'applicazione genera un errore, consulta [Risoluzione dei problemi di rilevamento di Greengrass](troubleshooting-client-devices.md#greengrass-discovery-issues).

   <a name="test-client-device-communications-application-view-core-logs"></a>Puoi anche visualizzare i log di Greengrass sul dispositivo principale per verificare se il dispositivo client si connette e invia messaggi correttamente. Per ulteriori informazioni, consulta [Monitora AWS IoT Greengrass i registri](monitor-logs.md).

## Comunicazioni di test (Java)
<a name="test-client-device-communications-java"></a>

In questa sezione, si utilizza Greengrass discovery sample nella versione [SDK per dispositivi AWS IoT 2 per Java per](https://github.com/aws/aws-iot-device-sdk-java-v2) testare le comunicazioni tra un dispositivo client e un dispositivo principale.

**Importante**  
Per creare la versione SDK per dispositivi AWS IoT v2 per Java, un dispositivo deve disporre dei seguenti strumenti:  
Java 8 o versione successiva, con `JAVA_HOME` puntamento alla cartella Java.
Apache Maven

**Per testare le comunicazioni (SDK per dispositivi AWS IoT v2 per Java)**

1. Scaricate e create la [SDK per dispositivi AWS IoT versione v2 per Java](https://github.com/aws/aws-iot-device-sdk-java-v2) su un AWS IoT dispositivo da connettere come dispositivo client.

   Sul dispositivo client, effettuate le seguenti operazioni:

   1. Clona il repository SDK per dispositivi AWS IoT v2 for Java per scaricarlo.

      ```
      git clone https://github.com/aws/aws-iot-device-sdk-java-v2.git
      ```

   1. Passa alla cartella SDK per dispositivi AWS IoT v2 for Java.

   1. Crea la SDK per dispositivi AWS IoT v2 per Java.

      ```
      cd aws-iot-device-sdk-java-v2
      mvn versions:use-latest-versions -Dincludes="software.amazon.awssdk.crt*"
      mvn clean install
      ```

1. <a name="test-client-device-communications-application-scanner-intro"></a>Esegui l'applicazione Greengrass discovery di esempio. Questa applicazione prevede argomenti che specifichino il nome dell'oggetto del dispositivo client, l'argomento MQTT da utilizzare e i certificati che autenticano e proteggono la connessione. L'esempio seguente sottoscrive l'`clients/MyClientDevice1/hello/world`argomento e pubblica un messaggio immesso nella riga di comando relativo allo stesso argomento.<a name="test-client-device-communications-application-command-replace"></a>
   + Sostituisci entrambe le istanze di *MyClientDevice1* con il nome dell'oggetto del dispositivo client.
   + Sostituisci *\$1HOME/certs/AmazonRootCA1.pem* con il percorso del certificato Amazon root CA sul dispositivo client.
   + Sostituisci *\$1HOME/certs/device.pem.crt* con il percorso del certificato del dispositivo sul dispositivo client.
   + Sostituisci *\$1HOME/certs/private.pem.key* con il percorso del file della chiave privata sul dispositivo client.
   + Sostituiscilo *us-east-1* con il Regione AWS luogo in cui funzionano il dispositivo client e il dispositivo principale.

   ```
   DISCOVERY_SAMPLE_ARGS="--thing_name MyClientDevice1 \
     --topic 'clients/MyClientDevice1/hello/world' \
     --ca_file $HOME/certs/AmazonRootCA1.pem \
     --cert $HOME/certs/device.pem.crt \
     --key $HOME/certs/private.pem.key \
     --region us-east-1"
   
   mvn exec:java -pl samples/Greengrass/Discovery \
     -Dexec.mainClass=greengrass.BasicDiscovery \
     -Dexec.args="$DISCOVERY_SAMPLE_ARGS"
   ```

   <a name="test-client-device-communications-application-scanner-output-intro"></a>L'applicazione Discovery Sample sottoscrive l'argomento e richiede all'utente di inserire un messaggio da pubblicare. 

   ```
   Connecting to group ID greengrassV2-coreDevice-MyGreengrassCore, with thing arn arn:aws:iot:us-east-1:123456789012:thing/MyGreengrassCore, using endpoint 203.0.113.0:8883
   Started a clean session
   Enter the message you want to publish to topic clients/MyClientDevice1/hello/world and press Enter. Type 'exit' or 'quit' to exit this program:
   ```

   <a name="test-client-device-communications-application-troubleshooting"></a>Se invece l'applicazione genera un errore, consulta [Risoluzione dei problemi di rilevamento di Greengrass](troubleshooting-client-devices.md#greengrass-discovery-issues).

1. <a name="test-client-device-communications-application-scanner-input"></a>Inserisci un messaggio, ad esempio. **Hello World\$1**

   ```
   Enter the message you want to publish to topic clients/MyClientDevice1/hello/world and press Enter. Type 'exit' or 'quit' to exit this program:
   Hello World!
   ```

   <a name="test-client-device-communications-application-scanner-input-output"></a>Se l'output indica che l'applicazione ha ricevuto il messaggio MQTT sull'argomento, il dispositivo client può comunicare correttamente con il dispositivo principale.

   ```
   Message received on topic clients/MyClientDevice1/hello/world: Hello World!
   ```

   <a name="test-client-device-communications-application-view-core-logs"></a>Puoi anche visualizzare i log di Greengrass sul dispositivo principale per verificare se il dispositivo client si connette e invia messaggi correttamente. Per ulteriori informazioni, consulta [Monitora AWS IoT Greengrass i registri](monitor-logs.md).