

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

# Middleware specifico per il protocollo
<a name="managedintegrations-sdk-middleware"></a>

**Importante**  
**La documentazione e il codice forniti qui descrivono un'implementazione di riferimento del middleware. Non viene fornita come parte dell'SDK.**

Il middleware specifico del protocollo ha un ruolo fondamentale nell'interazione con gli stack di protocolli sottostanti. Sia i componenti di onboarding dei dispositivi che quelli di controllo dei dispositivi delle integrazioni gestite Hub SDK lo utilizzano per interagire con il dispositivo finale.

Il middleware svolge le seguenti funzioni.
+ Estrae gli stack APIs di protocolli del dispositivo di diversi fornitori fornendo un set comune di. APIs
+ Fornisce la gestione dell'esecuzione del software come lo scheduler dei thread, la gestione delle code degli eventi e la cache dei dati.

## Architettura middleware
<a name="managedintegrations-sdk-middleware-architecture"></a>

Lo schema a blocchi seguente rappresenta l'architettura del middleware Zigbee. Anche l'architettura dei middleware di altri protocolli come Z-Wave è simile. 

![L'architettura middleware specifica del protocollo e i relativi componenti.](http://docs.aws.amazon.com/it_it/iot-mi/latest/devguide/images/iot-smarthome-sdk-v2-middleware-architecture.png)


Il middleware specifico del protocollo è composto da tre componenti principali.
+ **ACS Zigbee DPK: lo Zigbee** Device Porting Kit (DPK) viene utilizzato per fornire l'astrazione dall'hardware e dal sistema operativo sottostanti, garantendo così la portabilità. Fondamentalmente questo può essere considerato come l'hardware abstraction layer (HAL), che fornisce un set comune per controllare e comunicare con le radio Zigbee di diversi fornitori. APIs Il middleware Zigbee contiene l'implementazione dell'API DPK per il framework Zigbee Application di Silicon Labs.
+ **Servizio ACS Zigbee: il servizio Zigbee viene eseguito come demone dedicato**. Include un gestore API che serve le chiamate API dalle applicazioni client attraverso i canali IPC. AIPC viene utilizzato come canale IPC tra l'adattatore Zigbee e il servizio Zigbee. Fornisce altre funzionalità come la gestione di entrambi async/sync i comandi, la gestione degli eventi dall'HAL e l'utilizzo di ACS Event Manager per la registrazione/pubblicazione degli eventi.
+ Adattatore **ACS Zigbee: l'adattatore** Zigbee è una libreria in esecuzione all'interno del processo applicativo (in questo caso, l'applicazione è il plug-in CDMB). L'adattatore Zigbee ne fornisce un set utilizzato dalle applicazioni client, come CDMB/Provisioner i plugin APIs di protocollo per controllare e comunicare con il dispositivo finale.

## End-to-end esempio di flusso di comandi middleware
<a name="managedintegrations-sdk-middleware-flow"></a>

Ecco un esempio del flusso di comandi attraverso il middleware Zigbee.

![L'architettura middleware specifica del protocollo e i relativi componenti.](http://docs.aws.amazon.com/it_it/iot-mi/latest/devguide/images/iot-smarthome-sdk-v2-middleware-zigbee.png)


Ecco un esempio del flusso di comandi tramite il middleware Z-Wave.

![L'architettura middleware specifica del protocollo e i relativi componenti.](http://docs.aws.amazon.com/it_it/iot-mi/latest/devguide/images/iot-smarthome-sdk-v2-middleware-zwave.png)
