

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

# Interagisci con i dispositivi client nei componenti
<a name="interact-with-client-devices-in-components"></a>

Puoi sviluppare componenti Greengrass personalizzati che interagiscono con i dispositivi client collegati a un dispositivo principale. Ad esempio, puoi sviluppare componenti che eseguono le seguenti operazioni:
+ Agisci sui messaggi MQTT dai dispositivi client e invia dati alle Cloud AWS destinazioni.
+ Invia messaggi MQTT ai dispositivi client per avviare azioni.

I dispositivi client si connettono e comunicano con un dispositivo principale tramite il componente broker MQTT che viene eseguito sul dispositivo principale. Per impostazione predefinita, i dispositivi client possono comunicare tra loro solo tramite MQTT e i componenti Greengrass non possono ricevere questi messaggi MQTT o inviare messaggi ai dispositivi client.

I componenti Greengrass utilizzano l'[interfaccia di pubblicazione/sottoscrizione locale](ipc-publish-subscribe.md) per comunicare su un dispositivo principale. Per comunicare con i dispositivi client nei componenti Greengrass, configurate il [componente bridge MQTT](mqtt-bridge-component.md) per eseguire le seguenti operazioni:
+ Inoltra i messaggi MQTT dai dispositivi client alla pubblicazione/sottoscrizione locale.
+ Inoltra messaggi MQTT dai dispositivi locali ai dispositivi client. publish/subscribe 

Puoi anche interagire con le ombre dei dispositivi client nei componenti Greengrass. Per ulteriori informazioni, consulta [Interazione e sincronizzazione delle ombre dei dispositivi client](work-with-client-device-shadows.md).

**Topics**
+ [Configura e distribuisci il componente bridge MQTT](#deploy-mqtt-bridge-pubsub)
+ [Ricevere messaggi MQTT dai dispositivi client](#receive-client-device-messages)
+ [Inviare messaggi MQTT ai dispositivi client](#send-client-device-messages)

## Configura e distribuisci il componente bridge MQTT
<a name="deploy-mqtt-bridge-pubsub"></a>

Il componente bridge MQTT utilizza un elenco di mappature di argomenti, ciascuna delle quali specifica un'origine e una destinazione del messaggio. Per comunicare con i dispositivi client, implementate il componente bridge MQTT e specificate ogni argomento di origine e destinazione nella configurazione del componente.

<a name="create-mqtt-bridge-deployment-info"></a>Per distribuire il componente bridge MQTT su un dispositivo principale o su un gruppo di dispositivi principali, [create una distribuzione](create-deployments.md) che includa il componente. `aws.greengrass.clientdevices.mqtt.Bridge` Specificate le mappature degli argomenti nella configurazione `mqttTopicMapping` del componente bridge MQTT nella distribuzione.

L'esempio seguente definisce una distribuzione che configura il componente bridge MQTT per inoltrare l'`clients/MyClientDevice1/hello/world`argomento dai dispositivi client al broker locale. publish/subscribe L'aggiornamento della `merge` configurazione richiede un oggetto JSON serializzato. Per ulteriori informazioni, consulta [Aggiornamento delle configurazioni dei componenti](update-component-configurations.md).

------
#### [ Console ]

```
{
  "mqttTopicMapping": {
    "HelloWorldPubsub": {
      "topic": "clients/MyClientDevice1/hello/world",
      "source": "LocalMqtt",
      "target": "Pubsub"
    }
  }
}
```

------
#### [ AWS CLI ]

```
{
  "components": {
    "aws.greengrass.clientdevices.mqtt.Bridge": {
      "version": "2.0.0",
      "configurationUpdate": {
        "merge": "\"mqttTopicMapping\":{\"HelloWorldPubsub\":{\"topic\":\"clients/MyClientDevice1/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"Pubsub\"}}}"
      }
    }
    ...
  }
}
```

------

È possibile utilizzare i caratteri jolly degli argomenti MQTT per inoltrare messaggi su argomenti che corrispondono a un filtro di argomento. Se si utilizza MQTT bridge v2.2.0 o versione successiva, è possibile utilizzare i caratteri jolly degli argomenti MQTT nei filtri degli argomenti quando il broker di origine è locale/publish/subscribe. [Per ulteriori informazioni, vedete Configurazione dei componenti del bridge MQTT.](mqtt-bridge-component.md#mqtt-bridge-component-configuration)

## Ricevere messaggi MQTT dai dispositivi client
<a name="receive-client-device-messages"></a>

È possibile abbonarsi agli publish/subscribe argomenti locali configurati per il componente bridge MQTT per ricevere messaggi dai dispositivi client.

**Per ricevere messaggi MQTT dai dispositivi client in componenti personalizzati**

1. [Configura e distribuisci il componente bridge MQTT](#deploy-mqtt-bridge-pubsub) per inoltrare messaggi da un argomento MQTT in cui i dispositivi client vengono pubblicati su un argomento locale. publish/subscribe 

1. Utilizzate l'interfaccia publish/subscribe IPC locale per sottoscrivere l'argomento in cui il bridge MQTT inoltra i messaggi. Per ulteriori informazioni, consultare [Pubblicare/sottoscrivere messaggi locali](ipc-publish-subscribe.md) e [SubscribeToTopic](ipc-publish-subscribe.md#ipc-operation-subscribetotopic).

Il [tutorial Connect and test client devices](client-devices-tutorial.md) include una sezione in cui si sviluppa un componente che sottoscrive i messaggi da un dispositivo client. Per ulteriori informazioni, consulta [Fase 4: Sviluppare un componente che comunichi con i dispositivi client](client-devices-tutorial.md#develop-client-device-subscriber-component).

## Inviare messaggi MQTT ai dispositivi client
<a name="send-client-device-messages"></a>

È possibile pubblicare negli publish/subscribe argomenti locali configurati per il componente bridge MQTT per l'invio di messaggi ai dispositivi client.

**Per pubblicare messaggi MQTT su dispositivi client in componenti personalizzati**

1. [Configura e distribuisci il componente bridge MQTT](#deploy-mqtt-bridge-pubsub) per inoltrare messaggi da un publish/subscribe argomento locale a un argomento MQTT a cui i dispositivi client effettuano la sottoscrizione.

1. Utilizzate l'interfaccia publish/subscribe IPC locale per pubblicare nell'argomento in cui il bridge MQTT inoltra i messaggi. Per ulteriori informazioni, consultare [Pubblicare/sottoscrivere messaggi locali](ipc-publish-subscribe.md) e [PublishToTopic](ipc-publish-subscribe.md#ipc-operation-publishtotopic).