

# AWS IoT Core per LoRaWAN
<a name="iot-lorawan"></a>

AWS IoT Core per LoRaWAN è un server di rete LoRaWAN (LNS) completamente gestito che fornisce la gestione del gateway utilizzando le funzionalità CUPS (Configuration and Update Server) e FUOTA (Firmware Updates Over-The-Air). Puoi sostituire il tuo LNS privato con AWS IoT Core per LoRaWAN e connettere i tuoi dispositivi e i gateway LoRaWAN (Long Range Wide Area Network) a AWS IoT Core. In questo modo, si riducono la manutenzione, i costi operativi, i tempi di configurazione e i costi generali.

**Nota**  
AWS IoT Core per LoRaWAN supporta solo il formato di indirizzo IPv4. Non supporta IPv6 o la configurazione dual-stack (IPv4 e IPv6). Per ulteriori informazioni, consulta i [Servizio AWS che supportano IPv6](https://docs.aws.amazon.com/general/latest/gr/aws-ipv6-support.html#ipv6-service-support).

## Introduzione
<a name="iot-lorawan-intro"></a>

I dispositivi LoRaWAN sono dispositivi a batteria a lungo raggio e a bassa potenza che utilizzano il protocollo LoRaWAN per funzionare in uno spettro radio senza licenza. LoRaWAN è un protocollo di comunicazione LPWAN (Low Power Wide Area Network) basato su LoRa. LoRa è il protocollo a livello fisico che abilita la comunicazione a bassa potenza e ampia area tra i dispositivi.

Per collegare i tuoi dispositivi LoRaWAN a AWS IoT, è necessario utilizzare un gateway LoRaWAN. Il gateway funge da ponte per collegare il tuo dispositivo a AWS IoT Core per LoRaWAN e per scambiare messaggi. AWS IoT Core per LoRaWAN utilizza il motore di regole AWS IoT per instradare i messaggi dai dispositivi LoRaWAN ad altri servizi AWS IoT. 

Per ridurre lo sforzo di sviluppo e installare rapidamente i dispositivi in AWS IoT Core per LoRaWAN, consigliamo di utilizzare dispositivi finali certificati LoRaWAN. Per ulteriori informazioni, consultare la pagina [Panoramica del prodotto AWS IoT Core per LoRaWAN](https://aws.amazon.com/iot-core/lorawan). Per informazioni su come ottenere la certificazione LoRaWAN dei dispositivi, consulta [Certificazione dei prodotti LoRaWAN](https://lora-alliance.org/lorawan-certification/). 

## Accesso a AWS IoT Core per LoRaWAN
<a name="connect-iot-lorawan-how-use"></a>

È possibile integrare rapidamente i dispositivi e i gateway LoRaWAN in AWS IoT Core per LoRaWAN utilizzando la console o l'API Wireless AWS IoT.

**Utilizzo della console**  
Per integrare i dispositivi e i gateway LoRaWAN utilizzando la Console di gestione AWS, accedi alla Console di gestione AWS e vai alla pagina [AWS IoT Core per LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/landing) per LoRaWAN nella console AWS IoT. Puoi quindi utilizzare la sezione **Introduzione** per aggiungere gateway e dispositivi a AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Utilizzo della console per integrare il dispositivo e il gateway per AWS IoT Core per LoRaWAN](lorawan-getting-started.md#lorawan-console).

**Utilizzo dell'API o dell'interfaccia a riga di comando**  
È possibile integrare sia dispositivi LoRaWAN che dispositivi Sidewalk utilizzando l'API [Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/). L'API Wireless AWS IoT su cui si basa AWS IoT Core per LoRaWAN è supportata dall'SDK AWS. Per ulteriori informazioni, consulta [AWS SDK e kit di strumenti](https://aws.amazon.com/getting-started/tools-sdks/). 

Puoi utilizzare la AWS CLI per eseguire comandi per l'integrazione e la gestione dei gateway e dei dispositivi LoRaWAN. Per ulteriori informazioni, consulta la [documentazione di riferimento dell'interfaccia della riga di comando Wireless AWS IoT](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html). 

## Regioni ed endpoint AWS IoT Core per LoRaWAN
<a name="connect-iot-lorawan-regions-endpoints"></a>

AWS IoT Core per LoRaWAN fornisce supporto per gli endpoint API del piano di controllo e del piano dati specifici per la tua Regione AWS. Gli endpoint API del piano dati sono specifici per il tuo Account AWS e la tua Regione AWS. Per ulteriori informazioni sugli endpoint AWS IoT Core per LoRaWAN, consulta la pagina relativa agli [Endpoint AWS IoT Core per LoRaWAN](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-wireless_region) nelle *Informazioni di riferimento generali su AWS*.

Per una comunicazione più sicura tra i tuoi dispositivi e AWS IoT, puoi collegare i tuoi dispositivi a AWS IoT Core per LoRaWAN attraverso AWS PrivateLink nel tuo Virtual Private Cloud (VPC) invece che tramite Internet pubblico. Per ulteriori informazioni, consultare [AWS IoT Core per LoRaWAN ed endpoint VPC dell'interfaccia (AWS PrivateLink)](vpc-interface-endpoints.md).

AWS IoT Core per LoRaWAN ha quote applicabili ai dati del dispositivo che vengono trasmessi tra i dispositivi e il TPS massimo per le operazioni API Wireless AWS IoT. Per ulteriori informazioni, consultare [AWS IoT Core per LoRaWAN quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#wireless-limits) in *Riferimenti generali di AWS*.

## Prezzi di AWS IoT Core per LoRaWAN
<a name="connect-iot-lorawan-pricing"></a>

Se sei un nuovo cliente, la registrazione ad AWS, puoi iniziare a utilizzare AWS IoT Core per LoRaWAN gratuitamente tramite il [piano gratuito AWS](https://aws.amazon.com/free/). Con AWS IoT Core per LoRaWAN, si pagano solo i servizi usati. Per ulteriori informazioni sulla panoramica generale del prodotto e sui prezzi, consulta [prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/).

# Cos'è AWS IoT Core per LoRaWAN?
<a name="what-is-iot-lorawan"></a>

AWS IoT Core per LoRaWAN sostituisce un server di rete LoRaWAN privato (LNS) collegando i tuoi dispositivi e i gateway LoRaWAN a AWS. Tramite il motore di regole AWS IoT, puoi instradare messaggi ricevuti dai dispositivi LoRaWAN dove possono essere formattati e inviati ad altri servizi AWS IoT. Per le comunicazioni sicure dei dispositivi con AWS IoT, AWS IoT Core per LoRaWAN utilizza i certificati X.509.

AWS IoT Core per LoRaWAN gestisce le policy dei servizi e dei dispositivi di cui AWS IoT Core richiede la comunicazione con i gateway e i dispositivi LoRaWAN. AWS IoT Core per LoRaWAN gestisce anche le destinazioni che descrivono le regole AWS IoT che inviano i dati del dispositivo ad altri servizi.

## Caratteristiche di AWS IoT Core per LoRaWAN
<a name="iot-lorawan-features"></a>

Con il AWS IoT Core per LoRaWAN puoi:
+ Integrare e connettere dispositivi e gateway LoRaWAN a AWS IoT senza dover configurare e gestire un LNS privato.
+ Connettere dispositivi LoRaWAN conformi alle specifiche 1.0.x o 1.1 LoRaWAN standardizzate da LoRa Alliance. Questi dispositivi possono funzionare in modalità classe A, classe B o classe C.
+ Utilizzare i gateway LoRaWAN che supportano LoRaWAN Basics Station versione 2.0.4 o successive. Tutti i gateway qualificati per AWS IoT Core per LoRaWAN utilizzano una versione compatibile di LoRa Basics Station.
+ Connetti i dispositivi LoRaWAN al cloud utilizzando reti LoRaWAN disponibili pubblicamente, con conseguente riduzione dei tempi di implementazione e della necessità di gestire una rete LoRaWAN privata, con conseguente risparmio di tempo e costi.
+ Monitora la potenza del segnale, la larghezza di banda e il fattore di diffusione utilizzando la velocità di dati adattiva di AWS IoT Core per LoRaWAN e ottimizza la velocità dati se necessario. Puoi anche utilizzare l'analizzatore di rete per monitorare le risorse in tempo reale.
+ Aggiorna il firmware dei gateway LoRaWAN utilizzando il servizio CUPS e il firmware dei dispositivi LoRaWAN utilizzando Firmware Updates Over-The-Air (FUOTA).

I seguenti argomenti forniranno ulteriori informazioni sulla tecnologia LoRaWAN e AWS IoT Core per LoRaWAN.

**Topics**
+ [Caratteristiche di AWS IoT Core per LoRaWAN](#iot-lorawan-features)
+ [Che cos'è LoRaWAN?](what-is-lorawan.md)
+ [Funzionamento di AWS IoT Core per LoRaWAN](how-iot-lorawan-works.md)

# Che cos'è LoRaWAN?
<a name="what-is-lorawan"></a>

La [LoRa Alliance](https://lora-alliance.org/about-lorawan) descrive LoRaWan come *“un protocollo di rete LPWA (Low Power, Wide Area) progettato per connettere in modalità wireless ‘oggetti’ alimentati a batteria a Internet nelle reti regionali, nazionali o globali e si rivolge ai requisiti chiave dell'Internet of Things (IoT) come la comunicazione bidirezionale, la sicurezza end-to-end, la mobilità e i servizi di localizzazione."*.

## LoRa e LoRaWAN
<a name="lora-and-lorawan"></a>

Il protocollo LoRaWAN è un protocollo di comunicazione Low Power Wide Area Networking (LPWAN) che funziona su LoRa.

LoRaWAN è stato riconosciuto come standard internazionale per LPWAN. Per ulteriori informazioni, vedere [LoRaWAN formalmente riconosciuto come standard internazionale ITU](https://lora-alliance.org/lora-alliance-press-release/lorawan-formally-recognized-as-itu-international-standard-for-low-power-wide-area-networking/). La specifica LoRaWAN è aperta in modo che chiunque possa configurare e gestire una rete LoRa. 

LoRa è una tecnologia di frequenza audio wireless che opera in uno spettro di radiofrequenze senza licenza. LoRa è un protocollo di livello fisico che utilizza la modulazione di spettro diffuso e supporta la comunicazione a lungo raggio al costo di una larghezza di banda ridotta. Utilizza una forma d'onda a banda stretta con una frequenza centrale per inviare dati in modo da essere robusto alle interferenze.

## Caratteristiche della tecnologia LoRaWAN
<a name="lorawan-characteristics"></a>
+ Comunicazione a lungo raggio fino a 10 miglia in linea di vista.
+ Lunga durata della batteria, fino a 10 anni. Per una maggiore durata della batteria, è possibile utilizzare i dispositivi in modalità Classe A o Classe B, che richiedono una maggiore latenza downlink.
+ Basso costo per dispositivi e manutenzione.
+ Spettro radio senza licenza ma si applicano normative specifiche per regione.
+ Bassa potenza ma una dimensione di payload limitata da 51 byte a 241 byte, a seconda della velocità dati. La velocità dati può essere di 0,3 Kbit/s — 27 Kbit/s con una dimensione massima di payload di 222.

## Versioni del protocollo LoRaWAN
<a name="lorawan-versions"></a>

LoRa Alliance specifica il protocollo LoRaWAN utilizzando i documenti delle specifiche LoRaWAN. Per tenere conto delle normative specifiche della regione, LoRa Alliance pubblica anche documenti sui parametri regionali. Per ulteriori informazioni, consultare [Parametri e specifiche regionali LoRaWAN](https://lora-alliance.org/resource_hub/rp2-102-lorawan-regional-parameters/).

La versione iniziale di LoRaWAN è la 1.0. Le versioni aggiuntive rilasciate sono 1.0.1, 1.0.2, 1.0.3, 1.0.4 e 1.1. Le versioni 1.0.1-1.0.4 sono comunemente denominate 1.0.x.

## Ulteriori informazioni su LoRaWAN
<a name="lorawan-learn-more"></a>

I seguenti link contengono informazioni utili sulla tecnologia LoRaWAN e sulla LoRa Basics Station, il software che viene eseguito sui gateway LoRaWAN per il collegamento di dispositivi finali ad AWS IoT Core per LoRaWAN.
+ 

**[LoRaWAN è riconosciuto come standard internazionale ITU](https://lora-alliance.org/lora-alliance-press-release/lorawan-formally-recognized-as-itu-international-standard-for-low-power-wide-area-networking/)**  
LoRaWAN è stato formalmente documentato come standard internazionale dall'ITU per le reti LPWAN. Lo standard è intitolato Raccomandazione ITU-T Y.4480 "Protocollo a bassa potenza per reti wireless WAN".
+ 

**[I fondamenti degli oggetti su LoRaWAN](https://www.thethingsnetwork.org/docs/lorawan/)**  
Things Fundamentals on LoRaWAN contiene un video introduttivo che tratta i fondamenti di LoRaWAN e una serie di capitoli che ti aiuteranno a conoscere LoRa e LoRaWAN.
+ 

**[Che cos'è LoRaWAN](https://lora-alliance.org/resource_hub/what-is-lorawan/)**  
LoRa Alliance fornisce una panoramica tecnica di LoRa e LoRaWAN, incluso un riepilogo delle specifiche LoRaWAN in diverse regioni.
+ 

**[LoRa Basics Station](https://lora-developers.semtech.com/resources/tools/lora-basics/)**  
Semtech Corporation fornisce concetti utili su LoRa basics per gateway e nodi finali. LoRa Basics Station, un software open source che viene eseguito sul gateway LoRaWAN, viene gestito e distribuito tramite la repository [GitHub](https://github.com/lorabasics/basicstation) della Semtech Corporation. È inoltre possibile conoscere i protocolli LNS e CUPS che descrivono come scambiare dati LoRaWAN ed eseguire aggiornamenti di configurazione.
+ 

**[Parametri e specifiche regionali LoRaWAN](https://lora-alliance.org/resource_hub/rp2-102-lorawan-regional-parameters/)**  
Il documento RP002-1.0.2 include il supporto per tutte le versioni della specifica LoRaWAN Layer 2. Include informazioni sulle specifiche LoRaWAN e sui parametri regionali e sulle diverse versioni di LoRaWAN.

# Funzionamento di AWS IoT Core per LoRaWAN
<a name="how-iot-lorawan-works"></a>

L'architettura di rete LoRaWAN è distribuita in una topologia a stella di stelle in cui i gateway trasmettono informazioni tra i dispositivi finali e il server di rete LoRaWAN (LNS). Di seguito viene illustrato come un dispositivo LoRaWAN interagisce con AWS IoT Core per LoRaWAN. Mostra inoltre come AWS IoT Core per LoRaWAN sostituisce un LNS e comunica con altri Servizio AWS in Cloud AWS.

![\[Immagine che mostra come AWS IoT Core fornisce endpoint di dispositivo per connettere dispositivi IoT ad AWS IoT ed endpoint di servizio per connettere app e altri servizi ad AWS IoT Core.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-how-it-works.png)


I dispositivi LoRaWAN comunicano con AWS IoT Core attraverso i gateway LoRaWAN. AWS IoT Core per LoRaWAN gestisce le policy dei servizi e dei dispositivi di cui AWS IoT Core richiede la gestione e la comunicazione con i gateway e i dispositivi. AWS IoT Core per LoRaWAN gestisce anche le destinazioni che descrivono le regole AWS IoT che inviano i dati del dispositivo ad altri servizi.

## Nozioni di base sull'utilizzo di AWS IoT Core per LoRaWAN
<a name="lorawan-get-started-resources"></a>

I passaggi seguenti mostrano una panoramica di come iniziare a utilizzare AWS IoT Core per LoRaWAN.

1. 

**Seleziona i dispositivi wireless e i gateway LoRaWAN di cui avrai bisogno.**  
Il [Catalogo dei dispositivi dei partner AWS](https://devices.amazonaws.com/search?page=1&sv=iotclorawan) contiene gateway e kit di sviluppo qualificati per l'utilizzo con AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Utilizzo di gateway qualificati dal Catalogo dei dispositivi dei partner di AWS](lorawan-manage-gateways.md#lorawan-qualified-gateways). 

1. 

**Aggiungi i tuoi dispositivi wireless e i gateway LoRaWAN a AWS IoT Core per LoRaWAN.**  
[Collegamento di gateway e dispositivi ad AWS IoT Core per LoRaWAN](lorawan-getting-started.md) fornisce informazioni su come descrivere le risorse e aggiungere i dispositivi wireless e i gateway LoRaWAN ad AWS IoT Core per LoRaWAN. Inoltre imparerai a configurare le altre risorse AWS IoT Core per LoRaWAN di cui avrai bisogno per gestire questi dispositivi e inviare i loro dati ai servizi AWS.

1. 

**Completa la tua soluzione AWS IoT Core per LoRaWAN.**  
Inizia con [il nostro esempio di soluzione AWS IoT Core per LoRaWAN](https://github.com/aws-samples/aws-iot-core-lorawan) e rendilo tuo.

## Risorse AWS IoT Core per LoRaWAN
<a name="iot-lorawan-resources"></a>

Le risorse seguenti ti forniranno maggiori informazioni su AWS IoT Core per LoRaWAN e su come iniziare.
+ 

**[Nozioni di base su AWS IoT Core per LoRaWAN](https://www.youtube.com/watch?v=6-ZrdRjqdTk/)**  
 Il seguente video descrive come lavora AWS IoT Core per LoRaWAN e ti guiderà attraverso il processo di aggiunta di gateway LoRaWAN dalla Console di gestione AWS.  
[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/6-ZrdRjqdTk/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/6-ZrdRjqdTk)
+ 

**[Workshop AWS IoT Core per LoRaWAN](https://iotwireless.workshop.aws/en/)**  
Il workshop tratta i fondamenti della tecnologia LoRaWAN e la sua implementazione con AWS IoT Core per LoRaWAN. È inoltre possibile utilizzare il workshop per visitare laboratori che mostrano come collegare il gateway e il dispositivo ad AWS IoT Core per LoRaWAN per la creazione di una soluzione IoT di esempio.
+ 

**[Implementazione di soluzioni LPWAN (Low-Power Wide-Area Network) con AWS IoT](https://d1.awsstatic.com/whitepapers/LPWAN-connectivity-with-AWS-IoT.pdf)**  
Questo documento fornisce un quadro decisionale per aiutare a decidere se LPWAN è la scelta giusta per il vostro caso d'uso IoT, fornisce una panoramica delle tecnologie di connettività LPWAN e delle relative funzionalità e fornisce linee guida per l'implementazione.

# Collegamento di gateway e dispositivi ad AWS IoT Core per LoRaWAN
<a name="lorawan-getting-started"></a>

AWS IoT Core per LoRaWAN ti aiuta a connettere e gestire dispositivi wireless LoRaWAN (Low Power Long Range Wide Area Network) e sostituisce la necessità di sviluppare e utilizzare un LNS. I dispositivi e i gateway WAN a lungo raggio (LoRaWAN) possono connettersi ad AWS IoT Core utilizzando AWS IoT Core per LoRaWAN.

## Convenzioni di denominazione per dispositivi, gateway, profili e destinazioni
<a name="lorawan-naming-convention"></a>

Prima di iniziare a utilizzare AWS IoT Core per LoRaWAN e creare le risorse, considera la convenzione di denominazione dei tuoi dispositivi, gateway e destinazione.

AWS IoT Core per LoRaWAN assegna ID univoci alle risorse create per dispositivi wireless, gateway e profili; tuttavia, è anche possibile assegnare alle risorse nomi più descrittivi per facilitarne l'identificazione. Prima di aggiungere dispositivi, gateway, profili e destinazioni ad AWS IoT Core per LoRaWAN, considera come nominarli per renderli più facili da gestire.

È possibile aggiungere i tag alle risorse create. Prima di aggiungere i tuoi dispositivi LoRaWAN, considera come utilizzare i tag per identificare e gestire le tue risorse AWS IoT Core per LoRaWAN. I tag possono essere modificati dopo averli aggiunti. 

Per ulteriori informazioni su denominazione e l'assegnazione di tag, consulta [Descrizione delle risorse Wireless AWS IoT](iotwireless-describe-resources.md).

## Mappatura dei dati del dispositivo ai dati del servizio
<a name="lorawan-service-device-data"></a>

I dati dei dispositivi wireless LoRaWAN sono spesso codificati per ottimizzare la larghezza di banda. Questi messaggi codificati arrivano ad AWS IoT Core per LoRaWAN in un formato che potrebbe non essere facilmente utilizzato da altri servizi AWS. AWS IoT Core per LoRaWAN utilizza regole AWS IoT che possono utilizzare funzioni AWS Lambda per elaborare e decodificare i messaggi del dispositivo in un formato che altri servizi AWS possono utilizzare.

Per trasformare i dati del dispositivo e inviarli ad altri servizi AWS, devi sapere:
+ Il formato e il contenuto dei dati inviati dai dispositivi wireless.
+ Il servizio a cui inviare i dati.
+ Il formato richiesto dal servizio.

Utilizzando tali informazioni, è possibile creare la regola AWS IoT che esegue la conversione e invia i dati convertiti ai servizi AWS che lo utilizzeranno.

## Utilizzo della console per integrare il dispositivo e il gateway per AWS IoT Core per LoRaWAN
<a name="lorawan-console"></a>

Puoi utilizzare l'interfaccia della console o l'API per aggiungere il gateway e i dispositivi LoRaWAN. Se utilizzi AWS IoT Core per LoRaWAN per la prima volta, consigliamo di utilizzare la console. L'interfaccia della console è più pratica quando si gestiscono alcune risorse AWS IoT Core per LoRaWAN alla volta. Quando si gestiscono un numero elevato di risorse AWS IoT Core per LoRaWAN, prendi in considerazione la creazione di soluzioni più automatizzate utilizzando l'API Wireless AWS IoT .

Gran parte dei dati immessi durante la configurazione delle risorse AWS IoT Core per LoRaWAN sono forniti dai fornitori dei dispositivi e sono specifici per le specifiche LoRaWAN che supportano. I seguenti argomenti descrivono in che modo puoi descrivere le risorse AWS IoT Core per LoRaWAN e usare la console o l'API per aggiungere gateway e dispositivi.

**Nota**  
Se utilizzi una rete pubblica per connettere i tuoi dispositivi LoRaWAN al cloud, puoi saltare l'onboarding dei tuoi gateway. Per ulteriori informazioni, consultare [Gestione del traffico LoRaWAN da reti di dispositivi LoRaWAN pubbliche (Everynet)](iot-lorawan-roaming.md).

**Topics**
+ [Convenzioni di denominazione per dispositivi, gateway, profili e destinazioni](#lorawan-naming-convention)
+ [Mappatura dei dati del dispositivo ai dati del servizio](#lorawan-service-device-data)
+ [Utilizzo della console per integrare il dispositivo e il gateway per AWS IoT Core per LoRaWAN](#lorawan-console)
+ [Integrare i gateway per AWS IoT Core per LoRaWAN](lorawan-onboard-gateways.md)
+ [Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN](lorawan-onboard-end-devices.md)

# Integrare i gateway per AWS IoT Core per LoRaWAN
<a name="lorawan-onboard-gateways"></a>

Se utilizzi AWS IoT Core per LoRaWAN per la prima volta, puoi aggiungere il primo gateway e il dispositivo LoRaWAN utilizzando la console. 

**Nota**  
Se utilizzi una rete pubblica per connettere i tuoi dispositivi LoRaWAN al cloud, puoi saltare l'onboarding dei tuoi gateway. Per ulteriori informazioni, consultare [Gestione del traffico LoRaWAN da reti di dispositivi LoRaWAN pubbliche (Everynet)](iot-lorawan-roaming.md).

**Prima di effettuare l'onboarding del gateway**  
Prima di effettuare l'onboarding del gateway su AWS IoT Core per LoRaWAN, ti consigliamo di:
+ Utilizzare gateway qualificati per l'utilizzo con AWS IoT Core per LoRaWAN. Questi gateway si connettono ad AWS IoT Core senza ulteriori impostazioni di configurazione e dispongono di una versione 2.0.4 o successiva compatibile con il software [LoRa Basics Station](https://doc.sm.tc/station) in esecuzione su di essi. Per ulteriori informazioni, consultare [Gestione dei gateway con Wireless AWS IoT](lorawan-manage-gateways.md).
+ Considera la convenzione di denominazione delle risorse create in modo da poterle gestire più facilmente. Per ulteriori informazioni, consultare [Descrizione delle risorse Wireless AWS IoT](iotwireless-describe-resources.md).
+ I parametri di configurazione univoci di ciascun gateway sono pronti per essere inseriti in anticipo, così da rendere più agevole l'immissione dei dati nella console. I parametri di configurazione del gateway wireless con cui AWS IoT richiede di comunicare e gestire il gateway includono l'EUI del gateway e la sua banda di frequenza LoRa.

**Topics**
+ [Considera la selezione della banda di frequenza e aggiungi il ruolo IAM necessario](lorawan-rfregion-permissions.md)
+ [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md)
+ [Connetti il tuo gateway LoRaWAN e verifica lo stato della connessione](lorawan-gateway-connection-status.md)

# Considera la selezione della banda di frequenza e aggiungi il ruolo IAM necessario
<a name="lorawan-rfregion-permissions"></a>

Prima di aggiungere il gateway ad AWS IoT Core per LoRaWAN, si consiglia di considerare la banda di frequenza in cui il gateway sarà operativo e di aggiungere il ruolo IAM necessario per connettere il gateway ad AWS IoT Core per LoRaWAN.

**Nota**  
Se stai aggiungendo il gateway tramite la console, fai clic su **Create role (Crea ruolo)** nella console per creare il ruolo IAM necessario, in modo da poter saltare questi passaggi. È necessario eseguire questi passaggi solo se si utilizza la CLI per creare il gateway.

## Considerate la selezione delle bande di frequenza LoRa per i gateway e la connessione del dispositivo
<a name="lorawan-frequency-bands"></a>

AWS IoT Core per LoRaWAN supporta le bande di frequenza EU863-870, US902-928, AU915 e AS923-1 che è possibile utilizzare per collegare gateway e dispositivi fisicamente presenti in paesi che supportano le gamme di frequenza e le caratteristiche di queste bande. Le bande EU863-870 e US902-928 sono comunemente utilizzate rispettivamente in Europa e Nord America. La banda AS923-1 è comunemente usata in Australia, Nuova Zelanda, Giappone e Singapore, tra gli altri paesi. L'AU915 è utilizzato in Australia e Argentina, tra gli altri paesi. Per ulteriori informazioni sulla banda di frequenza da utilizzare nella propria area geografica o nel proprio paese, consulta [ Parametri regionali LoRaWAN®](https://lora-alliance.org/resource_hub/rp2-101-lorawan-regional-parameters-2/). 

LoRa Alliance pubblica le specifiche di LoRaWAN e i documenti sui parametri regionali disponibili per il download dal sito web LoRa Alliance. I parametri regionali LoRa Alliance aiutano le aziende a decidere quale banda di frequenza utilizzare nella loro regione o paese. L'implementazione della banda di frequenza di AWS IoT Core per LoRaWAN segue il suggerimento contenuto nel documento di specifica dei parametri regionali. Questi parametri regionali sono raggruppati in una serie di parametri radio, insieme a un'allocazione di frequenza adattata alla banda Industriale, Scientifica e Medica (ISM). Ti consigliamo di collaborare con i team di conformità per assicurarti di soddisfare i requisiti normativi applicabili. 

## Aggiungi un ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway
<a name="lorawan-onboard-permissions"></a>

Questa procedura descrive come aggiungere un ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway. Assicurati di eseguire questa procedura prima che un gateway LoRaWAN tenti di connettersi con AWS IoT Core per LoRaWAN; tuttavia, è necessario eseguire questa operazione una sola volta.

**Aggiungi il ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway**

1. Apri [ Roles hub of the IAM console (Ruoli hub della console IAM)](https://console.aws.amazon.com/iam/home#/roles) e scegli **Create role (Crea ruolo)**.

1. Se ritieni di aver già aggiunto il ruolo **IoTWirelessGatewayCertManagerRole**, inserisci **IoTWirelessGatewayCertManagerRole** nella barra di ricerca.

   Se viene visualizzato un ruolo **IoTWirelessGatewayCertManagerRole** nei risultati della ricerca, disponi del ruolo IAM necessario. Ora puoi lasciare la procedura.

   Se i risultati della ricerca sono vuoti, non disponi del ruolo IAM necessario. Continua la procedura per aggiungerlo.

1. In **Seleziona tipo di entità attendibile**, scegli **Altro Account AWS**.

1. In **Account ID (Account ID)**, inserisci il tuo account Account AWS ID, quindi scegli **Next: Permissions (Successivo: Autorizzazioni)**.

1. Nella casella di ricerca immetti **AWSIoTWirelessGatewayCertManager**.

1. Nell'elenco dei risultati della ricerca, seleziona la policy denominata **AWSIoTWirelessGatewayCertManager**.

1. Scegli **Successivo: Tag**, quindi **Successivo: Rivedi**.

1. In **Role name (Nome ruolo)** inserisci **IoTWirelessGatewayCertManagerRole** e quindi scegli **Create role (Crea ruolo)**.

1. Per modificare il nuovo ruolo, nel messaggio di conferma, scegli **IoTWirelessGatewayCertManagerRole**.

1. In **Summary (Riepilogo)**, scegli **Trust relationships (Relazioni di trust)** e scegli **Edit trust relationship (Modifica relazione di trust)**.

1. In **Policy Document (Documento policy)**, modifica la proprietà di `Principal` affinché appaia come nell'esempio.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   Dopo aver modificato la proprietà `Principal`, il documento completo di policy dovrebbe essere simile al seguente.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. Per salvare le modifiche, scegli **Update Trust Policy (Aggiorna policy di attendibilità)**.

Ora è stato creato il **IoTWirelessGatewayCertManagerRole**. Non dovrai farlo di nuovo.

Se è stata eseguita questa procedura mentre si aggiungeva un gateway, puoi chiudere questa finestra e la console IAM e tornare alla console AWS IoT per completare l'aggiunta del gateway. 

# Aggiungi un gateway a AWS IoT Core per LoRaWAN
<a name="lorawan-onboard-gateway-add"></a>

È possibile aggiungere il gateway ad AWS IoT Core per LoRaWAN utilizzando la console o la CLI. 

Prima di aggiungere il gateway, ti consigliamo di considerare i fattori menzionati in **Prima di eseguire l'onboarding del gateway**, nella sezione di [Integrare i gateway per AWS IoT Core per LoRaWAN](lorawan-onboard-gateways.md).

Se utilizzi il tuo gateway per la prima volta, consigliamo di utilizzare la console. Se desideri aggiungere il gateway utilizzando il CLI, devi aver già creato il ruolo IAM necessario in modo che il gateway possa connettersi con AWS IoT Core per LoRaWAN. Per informazioni su come creare il ruolo, consulta [Aggiungi un ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway](lorawan-rfregion-permissions.md#lorawan-onboard-permissions).

## Aggiungere un gateway utilizzando la console
<a name="lorawan-onboard-gateway-console"></a>

Vai alla pagina **Intro** [AWS IoT Core per LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/landing) della console AWS IoT e scegli **Get started (Nozioni di base)**, poi scegli **Add gateway (Aggiungi gateway)**. Se hai già aggiunto un gateway, scegli **View gateway (Visualizza gateway)** per visualizzare il gateway aggiunto. Se desideri aggiungere altri gateway, scegli **Add gateway (Aggiungi gateway)**. 

1. 

**Fornisci dettagli sul gateway e informazioni sulla banda di frequenza**  
Utilizza **Gateway details (Dettagli gateway)** per fornire informazioni sui dati di configurazione del dispositivo, ad esempio l'EUI del gateway e la configurazione della banda di frequenza.
   + 

**EUI del Gateway**  
L'EUI (Extended Unique Identifier) del singolo dispositivo di gateway. L'EUI è un codice alfanumerico a 16 cifre, come `c0ee40ffff29df10`, che identifica in modo univoco un gateway nella tua rete LoRaWAN. Queste informazioni sono specifiche per il tuo modello gateway e puoi trovarle sul tuo dispositivo gateway o nel relativo manuale utente.
**Nota**  
L'EUI del gateway è diverso dall'indirizzo MAC Wi-Fi che potresti vedere stampato sul tuo dispositivo gateway. L'EUI segue uno standard EUI-64 che identifica in modo univoco il gateway e quindi non può essere ripreso in altre regioni e account Account AWS.
   + 

**Banda di frequenza (RFRegion)**  
La banda di frequenza del gateway. Puoi scegliere tra `US915`, `EU868`, `AU915` oppure `AS923-1`, a seconda del tipo di supporto del gateway e del paese da cui il gateway si connette fisicamente. Per ulteriori informazioni sulle bande, consulta [Considerate la selezione delle bande di frequenza LoRa per i gateway e la connessione del dispositivo](lorawan-rfregion-permissions.md#lorawan-frequency-bands).

1. 

**Specificare i dati di configurazione del gateway wireless (opzionale)**  
Questi campi sono facoltativi ed è possibile utilizzarli per fornire ulteriori informazioni sul gateway e sulla sua configurazione.
   + 

**Nome, Descrizione e Tag per il gateway**  
Le informazioni contenute in questi campi facoltativi provengono da come organizzi e descrivi gli elementi del sistema wireless. Puoi assegnare un **Nome** al gateway, utilizzare il comando **Description (Descrizione)** per fornire informazioni sul gateway e utilizzare **Tag** per aggiungere coppie chiave-valore di metadati sul gateway. Per ulteriori informazioni sulla denominazione e sulla descrizione delle risorse, consulta [Descrizione delle risorse Wireless AWS IoT](iotwireless-describe-resources.md).
   + 

**Configurazione LoRaWAN con sottobande e filtri**  
Facoltativamente, è inoltre possibile specificare i dati di configurazione di LoRaWAN, ad esempio le sottobande che si desidera utilizzare e i filtri in grado di controllare il flusso di traffico. Per questo tutorial, è possibile saltare questi campi. Per ulteriori informazioni, consultare [Configurare le sottobande e le funzionalità di filtraggio del gateway](lorawan-subband-filter-configuration.md).

1. 

**Associa un oggetto AWS IoT con il gateway**  
Specifica se creare un oggetto AWS IoT e associarlo al gateway. Gli oggetti in AWS IoT possono semplificare la ricerca e la gestione dei dispositivi. L'associazione di un oggetto al gateway consente al gateway di accedere ad altre caratteristiche di AWS IoT Core.

1. 

**Crea e scarica il certificato gateway**  
Per autenticare il gateway in modo che possa comunicare in modo sicuro con AWS IoT, il gateway LoRaWAN deve presentare ad AWS IoT Core per LoRaWAN una chiave privata e un certificato. Creazione di un **Certificato gateway** in modo che AWS IoT possa verificare l'identità del gateway utilizzando lo standard X.509.

   Fai clic sul pulsante **Create certificate (Crea un certificato)** e scarica i file del certificato. Li userai in seguito per configurare il gateway.

1. 

**Copia gli endpoint CUPS e LNS e scarica i certificati**  
Il gateway LoRaWAN deve connettersi a un endpoint CUPS o LNS quando si stabilisce una connessione ad AWS IoT Core per LoRaWAN. Ti consigliamo di utilizzare l'endpoint CUPS in quanto fornisce anche la gestione della configurazione. Per verificare l'autenticità degli endpoint di AWS IoT Core per LoRaWAN, il gateway utilizzerà un certificato di attendibilità per ciascuno degli endpoint CUPS e LNS,

   Fai clic su **Copy (Copia)** per copiare gli endpoint CUPS e LNS. Queste informazioni serviranno in seguito per configurare il gateway. Quindi fai clic sul pulsante **Download server trust certificates (Scarica certificati di attendibilità server)** per scaricare i certificati di attendibilità per gli endpoint CUPS e LNS.

1. 

**Crea il ruolo IAM per le autorizzazioni del gateway**  
Aggiungi un ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway.
**Nota**  
In questo passaggio, crei il ruolo **IoTWirelessGatewayCertManager**. Puoi ignorare questa fase se questo spazio dei nomi è già stato creato. È necessario farlo prima che un gateway LoRaWAN tenti di connettersi con AWS IoT Core per LoRaWAN; tuttavia, è necessario farlo solo una volta.

   Per creare il ruolo IAM **IoTWirelessGatewayCertManager** per il tuo account, fai clic sul pulsante **Create role (Crea ruolo)**. Se il ruolo esiste già, selezionalo dall'elenco a discesa.

   Fai clic su **Submit (Invia)** per completare la creazione del gateway.

## Aggiungi un gateway utilizzando l'API
<a name="lorawan-onboard-gateway-api"></a>

Se si sta aggiungendo un gateway per la prima volta utilizzando l'API o la CLI, è necessario aggiungere il ruolo IAM **IoTWirelessGatewayCertManager** in modo che il gateway possa connettersi con AWS IoT Core per LoRaWAN. Per informazioni sulla creazione del ruolo, consulta la seguente sezione [Aggiungi un ruolo IAM per permettere a Configuration and Update Server (CUPS) di gestire le credenziali del gateway](lorawan-rfregion-permissions.md#lorawan-onboard-permissions).

Gli elenchi seguenti descrivono le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di un gateway LoRaWAN.

**Operazioni dell'API Wireless AWS IoT per gateway AWS IoT Core per LoRaWAN**
+ [CreateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html)
+ [GetWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessGateway.html)
+ [ListWirelessGateways](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessGateways.html)
+ [ UpdateWirelessGateway ](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessGateway.html)
+ [DeleteWirelessGatewa](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessGateway.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare AWS CLI per aggiungere un gateway**  
Puoi utilizzare AWS CLI per creare un gateway wireless utilizzando il comando [create-wireless-gateway](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-gateway.html). Nell'esempio seguente viene creato un gateway per dispositivo LoRaWAN wireless. Puoi anche fornire un file `input.json` che conterrà ulteriori dettagli, ad esempio il certificato del gateway e le credenziali di provisioning.

**Nota**  
È inoltre possibile eseguire questa procedura con l'API utilizzando i metodi dell'API AWS corrispondenti ai comandi CLI illustrati di seguito. 

```
aws iotwireless create-wireless-gateway \
    --lorawan GatewayEui="a1b2c3d4567890ab",RfRegion="US915" \
    --name "myFirstLoRaWANGateway" \
    --description "Using my first LoRaWAN gateway"
    --cli-input-json input.json
```

Per informazioni sulle CLI utilizzabili, consulta [Riferimento AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html) 

# Connetti il tuo gateway LoRaWAN e verifica lo stato della connessione
<a name="lorawan-gateway-connection-status"></a>

Prima di controllare lo stato della connessione del gateway, è necessario aver già aggiunto il gateway e averlo connesso ad AWS IoT Core per LoRaWAN. Per informazioni su come aggiungere il gateway, consulta [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md).

## Connetti il gateway a AWS IoT Core per LoRaWAN
<a name="lorawan-connect-gateway"></a>

Dopo aver aggiunto il gateway, connettiti all'interfaccia di configurazione del gateway per inserire le informazioni di configurazione e i certificati di attendibilità.

Dopo aver aggiunto le informazioni del gateway ad AWS IoT Core per LoRaWAN, aggiungi alcune informazioni di AWS IoT Core per LoRaWAN al dispositivo gateway. La documentazione fornita dal fornitore del gateway deve descrivere il processo per caricare i file di certificato nel gateway e configurare il dispositivo gateway per comunicare con AWS IoT Core per LoRaWAN.

**Gateway qualificati per l'utilizzo con AWS IoT Core per LoRaWAN**  
Per istruzioni su come configurare il gateway LoRaWAN, consulta la sezione [ configure gateway device (configurare il dispositivo gateway)](https://iotwireless.workshop.aws/en/200_gateway/400_configuregateway.html) del workshop AWS IoT Core per LoRaWAN. Qui troverai informazioni sulle istruzioni per la connessione di gateway qualificati per l'uso con AWS IoT Core per LoRaWAN.

**Gateway che supportano il protocollo CUPS**  
Le istruzioni seguenti mostrano come collegare i gateway che supportano il protocollo CUPS.

1. Carica i seguenti file ottenuti durante l'aggiunta del gateway.
   + Certificato del dispositivo gateway e file di chiavi private.
   + File di certificato attendibile per l'endpoint CUPS `cups.trust`.

1. Specifica l'URL dell'endpoint CUPS ottenuto in precedenza. L'endpoint sarà del formato `prefix.cups.lorawan.region.amazonaws.com:443`.

Per i dettagli su come ottenere queste informazioni, consulta [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md).

**Gateway che supportano il protocollo LNS**  
Le istruzioni seguenti mostrano come collegare i gateway che supportano il protocollo LNS.

1. Carica i seguenti file ottenuti durante l'aggiunta del gateway.
   + Certificato del dispositivo gateway e file di chiavi private.
   + File di certificato attendibile per l'endpoint LNS `lns.trust`.

1. Specifica l'URL dell'endpoint LNS ottenuto in precedenza. L'endpoint sarà del formato https://`prefix.lns.lorawan.region.amazonaws.com:443`.

Per i dettagli su come ottenere queste informazioni, consulta [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md).

Dopo aver collegato il gateway ad AWS IoT Core per LoRaWAN, puoi controllare lo stato della tua connessione e ottenere informazioni su quando è stato ricevuto l'ultimo uplink utilizzando la console o l'API.

## Controllare lo stato della connessione gateway utilizzando la console
<a name="lorawan-connection-status-console"></a>

Per verificare lo stato della connessione utilizzando la console, passa alla pagina [https://console.aws.amazon.com/iot/home#/wireless/gateways](https://console.aws.amazon.com/iot/home#/wireless/gateways) della console AWS IoT e scegli il gateway aggiunto. Nella sezione **LoRaWAN specific details (LoRaWAN dettagli specifici)** della pagina dei dettagli del gateway, vedrai lo stato della connessione e la data e l'ora in cui è stato ricevuto l'ultimo uplink.

## Controllare lo stato della connessione gateway utilizzando l'API
<a name="lorawan-connection-status-api"></a>

Per verificare lo stato della connessione utilizzando l'API, utilizza l'API `GetWirelessGatewayStatistics`. Questa API non ha un corpo della richiesta e contiene solo un corpo di risposta che mostra se il gateway è connesso e quando è stato ricevuto l'ultimo uplink.

```
HTTP/1.1 200
Content-type: application/json

{
  “ConnectionStatus”: “Connected”,
  “LastUplinkReceivedAt”: “2021-03-24T23:13:08.476015749Z”,
  “WirelessGatewayId”: “30cbdcf3-86de-4291-bfab-5bfa2b12bad5"
}
```

# Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN
<a name="lorawan-onboard-end-devices"></a>

Dopo aver effettuato l'onboarding del gateway su AWS IoT Core per LoRaWAN e aver verificato il suo stato di connessione, è possibile caricare i dispositivi wireless. Per informazioni su come effettuare l'onboarding dei gateway, consulta [Integrare i gateway per AWS IoT Core per LoRaWAN](lorawan-onboard-gateways.md).

I dispositivi LoRaWAN utilizzano un protocollo LoRaWAN per scambiare dati con applicazioni ospitate nel cloud. AWS IoT Core per LoRaWAN supporta dispositivi conformi alle specifiche 1.0.x o 1.1 LoRaWAN standardizzate da LoRa Alliance.

Un dispositivo LoRaWAN contiene in genere uno o più sensori e attori. I dispositivi inviano dati di telemetria uplink attraverso i gateway LoRaWAN ad AWS IoT Core per LoRaWAN. Le applicazioni ospitate nel cloud possono controllare i sensori inviando comandi downlink ai dispositivi LoRaWAN tramite gateway LoRaWAN.

**Prima di effettuare l'onboarding del dispositivo wireless**  
Prima di caricare il dispositivo wireless su AWS IoT Core per LoRaWAN, è necessario disporre di tutte le informazioni necessarie in anticipo:
+ 

**Specifiche LoRaWAN e configurazione del dispositivo wireless**  
I parametri di configurazione univoci di ciascun dispositivo sono pronti per essere inseriti in anticipo, così da rendere più agevole l'immissione dei dati nella console. I parametri specifici che è necessario inserire dipendono dalla specifica LoRaWAN utilizzata dal dispositivo. Per l'elenco completo delle specifiche e dei parametri di configurazione, vedi la documentazione di ciascun dispositivo.
+ 

**Nome e descrizione del dispositivo (facoltativo)**  
Le informazioni contenute in questi campi facoltativi provengono da come organizzi e descrivi gli elementi del sistema wireless. Per ulteriori informazioni sulla denominazione e sulla descrizione delle risorse, consulta [Descrizione delle risorse Wireless AWS IoT](iotwireless-describe-resources.md).
+ 

**Profili di dispositivo e di servizio**  
Avere alcuni parametri di configurazione dei dispositivi wireless pronti, condivisi da molti dispositivi e che possono essere memorizzati in AWS IoT Core per LoRaWAN come profili di dispositivi e servizi. I parametri di configurazione sono disponibili nella documentazione del dispositivo o nel dispositivo. È necessario identificare un profilo del dispositivo che corrisponda ai parametri di configurazione del dispositivo o crearne uno, se necessario, prima di aggiungere il dispositivo. Per ulteriori informazioni, consultare [Aggiungi profili a AWS IoT Core per LoRaWAN](lorawan-define-profiles.md).
+ 

**Destinazione AWS IoT Core per LoRaWAN**  
Ogni dispositivo deve essere assegnato a una destinazione che elaborerà i propri messaggi da inviare ad AWS IoT e altri servizi. Le regole AWS IoT che elaborano e inviano i messaggi del dispositivo sono specifiche del formato dei messaggi del dispositivo. Per elaborare i messaggi dal dispositivo e inviarli al servizio corretto, identifica la destinazione da utilizzare con i messaggi del dispositivo e assegnala al dispositivo.

**Topics**
+ [Aggiungi il dispositivo wireless ad AWS IoT Core per LoRaWAN](lorawan-end-devices-add.md)
+ [Aggiungi profili a AWS IoT Core per LoRaWAN](lorawan-define-profiles.md)
+ [Aggiunta di destinazioni a AWS IoT Core per LoRaWAN](lorawan-create-destinations.md)
+ [Creare regole per elaborare i messaggi del dispositivo LoRaWAN](lorawan-destination-rules.md)
+ [Connetti il tuo dispositivo LoRaWAN e verifica lo stato della connessione](lorawan-device-connection-status.md)

# Aggiungi il dispositivo wireless ad AWS IoT Core per LoRaWAN
<a name="lorawan-end-devices-add"></a>

Se stai aggiungendo il dispositivo wireless per la prima volta, ti consigliamo di utilizzare la console. Naviga sulla pagina **Intro** [AWS IoT Core per LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/landing) della console AWS IoT, scegli **Get started (Nozioni di base)**, quindi scegli **Add device (Aggiungi dispositivo)**. Se hai già aggiunto un dispositivo, scegli **View device (Visualizza il dispositivo)** per visualizzare il gateway aggiunto. Se desideri aggiungere altri dispositivi, scegli **Add device (Aggiungi dispositivo)**.

In alternativa, puoi anche aggiungere dispositivi wireless dalla pagina [ Devices (Dispositivi)](https://console.aws.amazon.com/iot/home#/wireless/devices) della console AWS IoT.

## Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console
<a name="lorawan-end-device-spec-console"></a>

Scegli una **Specificazione del dispositivo wireless** in base al tuo metodo di attivazione e alla versione LoRaWAN. Una volta selezionati, i dati vengono crittografati con una chiave che AWS possiede e gestisce per te. 

**Modalità di attivazione OTAA e ABP**  
Prima che il tuo dispositivo LoRaWAN possa inviare dati uplink, devi completare un processo chiamato *Attivazione* o *Procedura join*. Per attivare il dispositivo, è possibile utilizzare OTAA (attivazione per via etere) o ABP (Attivazione per personalizzazione).

ABP non richiede una procedura di join e utilizza chiavi statiche. Quando si utilizza OTAA, il dispositivo LoRaWAN invia una richiesta di join e il server di rete può permettere la richiesta. Si consiglia di utilizzare OTAA per attivare il dispositivo in quanto vengono generate nuove chiavi di sessione per ogni attivazione così da renderlo più sicuro.

**Versione di LoRaWAN**  
Quando utilizzi OTAA, il dispositivo LoRaWAN e le applicazioni ospitate nel cloud condividono le chiavi di root. Queste chiavi di root dipendono dal fatto che tu stia utilizzando la versione v1.0.x o v1.1. v1.0.x ha solo una chiave di root, **AppKey** (Chiave applicazione) mentre v1.1 ha due chiavi root, **AppKey** (Chiave applicazione) e **NwkKey** (Chiave di rete). Le chiavi di sessione sono derivate in base alle chiavi di root per ogni attivazione. Sia **NwkKey** che **AppKey** sono valori esadecimali a 32 cifre forniti dal fornitore wireless.

**EUI del dispositivo wireless**  
Dopo aver selezionato l'opzione **Wireless device specification (Specificazione del dispositivo wireless)**, vengono visualizzati i parametri EUI (Extended Unique Identifier) per il dispositivo wireless sulla console. Puoi trovare queste informazioni sulla documentazione relativa al dispositivo o al fornitore wireless.
+ **DevEUI**: valore esadecimale a 16 cifre univoco per il dispositivo e trovato sull'etichetta del dispositivo o sulla relativa documentazione.
+ **AppEUI**: valore esadecimale a 16 cifre univoco per il server di join e trovato nella documentazione del dispositivo. Nella versione v1.1 di LoRaWAN, **AppEUI** viene chiamato **JoinEUI**.

Per ulteriori informazioni sugli identificatori univoci, le chiavi di sessione e le chiavi root, fai riferimento alla documentazione della [ LoRa Alliance](https://lora-alliance.org/about-lorawan).

## Aggiungere le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando l'API
<a name="lorawan-end-device-spec-api"></a>

Se stai aggiungendo un dispositivo wireless utilizzando l'API, prima di creare il dispositivo wireless devi creare il tuo profilo di servizio e dispositivo. Utilizzerai il profilo del dispositivo e l'ID profilo del servizio durante la creazione del dispositivo wireless. Per informazioni su come creare questi profili usando l'API, consulta [Aggiungi un profilo del dispositivo utilizzando l'API](lorawan-define-profiles.md#lorawan-device-profile-api).

Negli elenchi seguenti vengono descritte le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di un profilo di servizio.

**Operazioni API Wireless AWS IoT per i profili di servizio**
+ [CreateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html)
+ [GetWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html)
+ [ListWirelessDevices](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html)
+ [ UpdateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessDevice.html)
+ [DeleteWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessDevice.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare AWS CLI per creare un dispositivo wireless**  
Puoi utilizzare AWS CLI per creare un dispositivo wireless utilizzando il comando [create-wireless-device](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-device-profile.html). L'esempio seguente crea un dispositivo wireless utilizzando un file input.json per immettere i parametri.

**Nota**  
È inoltre possibile eseguire questa procedura con l'API utilizzando i metodi dell'API AWS corrispondenti ai comandi CLI illustrati di seguito. 

**Contenuto di input.json**

```
{
    "Description": "My LoRaWAN wireless device"
    "DestinationName": "IoTWirelessDestination"
    "LoRaWAN": {
        "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
        "ServiceProfileId": "fe98dc76-cd12-001e-2d34-5550432da100",
        "OtaaV1_1": {
            "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
            "JoinEui": "b4c231a359bc2e3d",
            "NwkKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
        },
        "DevEui": "ac12efc654d23fc2"
    },
    "Name": "SampleIoTWirelessThing"
    "Type": LoRaWAN
}
```

È possibile fornire questo file come input per il comando `create-wireless-device`.

```
aws iotwireless create-wireless-device \
    --cli-input-json file://input.json
```

Per informazioni sulle CLI utilizzabili, consulta [Riferimento AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html) 

# Aggiungi profili a AWS IoT Core per LoRaWAN
<a name="lorawan-define-profiles"></a>

È possibile definire profili di dispositivo e servizio per descrivere le configurazioni più comuni del dispositivo. Questi profili descrivono i parametri di configurazione condivisi dai dispositivi per semplificare l'aggiunta di tali dispositivi. AWS IoT Core per LoRaWAN supporta profili di dispositivi e profili di servizio.

 I parametri di configurazione e i valori da inserire in questi profili sono forniti dal produttore del dispositivo.

## Aggiungi profili di dispositivo
<a name="lorawan-device-profiles"></a>

I profili del dispositivo definiscono le funzionalità del dispositivo e i parametri di avvio utilizzati dal server di rete per impostare il servizio di accesso radio LoRaWAN. Include la selezione di parametri come banda di frequenza LoRa, versione dei parametri regionali LoRa e versione MAC del dispositivo. Per informazioni sulle diverse bande di frequenza, consulta [Considerate la selezione delle bande di frequenza LoRa per i gateway e la connessione del dispositivo](lorawan-rfregion-permissions.md#lorawan-frequency-bands).

### Aggiungi un profilo dispositivo utilizzando la console
<a name="lorawan-device-profile-console"></a>

Se si aggiunge un dispositivo wireless utilizzando la console come descritto in [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console), dopo aver aggiunto le specifiche del dispositivo wireless, è possibile aggiungere il profilo del dispositivo. In alternativa, puoi anche aggiungere dispositivi wireless dalla pagina [ Profiles (Profili)](https://console.aws.amazon.com/iot/home#/wireless/profiles) della console AWS IoT nella scheda **LoRaWAN**.

È possibile scegliere tra i profili dispositivo di default o creare un nuovo profilo dispositivo. Ti consigliamo di utilizzare i profili del dispositivo di default. Se l'applicazione richiede la creazione di un profilo di dispositivo, fornisci un **Nome del profilo del dispositivo**, seleziona la **Banda di frequenza (RFRegion)** che stai utilizzando per il dispositivo e il gateway e mantieni le altre impostazioni ai valori predefiniti, a meno che non sia specificato diversamente nella documentazione del dispositivo.

### Aggiungi un profilo del dispositivo utilizzando l'API
<a name="lorawan-device-profile-api"></a>

Se stai aggiungendo un dispositivo wireless utilizzando l'API, prima di creare il dispositivo wireless devi creare il tuo profilo di dispositivo.

Negli elenchi seguenti vengono descritte le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di un profilo di servizio.

**Operazioni API Wireless AWS IoT per i profili di servizio**
+ [CreateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDeviceProfile.html)
+ [GetDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html)
+ [ListDeviceProfiles](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDeviceProfiles.html)
+ [ UpdateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDeviceProfile.html)
+ [DeleteDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDeviceProfile.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare AWS CLI per creare un profilo di dispositivo**  
Puoi utilizzare AWS CLI per creare un profilo del dispositivo utilizzando il comando [create-device profile](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-device-profile.html). Nell'esempio seguente viene creato un profilo di dispositivo.

```
aws iotwireless create-device-profile
```

L'esecuzione di questo comando crea automaticamente un profilo di dispositivo con un ID che è possibile utilizzare durante la creazione del dispositivo wireless. Ora è possibile creare il profilo del servizio utilizzando la seguente API e quindi creare il dispositivo wireless utilizzando i profili del dispositivo e del servizio.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:DeviceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

Per informazioni sulle CLI utilizzabili, consulta [Riferimento AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html) 

## Aggiungi profili di servizio
<a name="lorawan-service-profiles"></a>

I profili di servizio descrivono i parametri di comunicazione che il dispositivo deve comunicare con il server applicazioni.

### Aggiunta di un profilo di servizio utilizzando la console
<a name="lorawan-service-profile-console"></a>

Se si aggiunge un dispositivo wireless utilizzando la console come descritto in [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console), dopo aver aggiunto il profilo del dispositivo, è possibile aggiungere il profilo del servizio. In alternativa, puoi anche aggiungere dispositivi wireless dalla pagina [ Profiles (Profili)](https://console.aws.amazon.com/iot/home#/wireless/profiles) della console AWS IoT nella scheda **LoRaWAN**.

Ti consigliamo di lasciare abilitata l'impostazione **AddGWMetaData** in modo da ricevere metadati gateway aggiuntivi per ogni payload, ad esempio RSSI e SNR per la trasmissione dei dati.

### Aggiunta di un profilo di servizio utilizzando l'API
<a name="lorawan-service-profile-api"></a>

Se stai aggiungendo un dispositivo wireless utilizzando l'API, prima di creare il dispositivo wireless devi creare il tuo profilo di servizio.

Negli elenchi seguenti vengono descritte le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di un profilo di servizio.

**Operazioni API Wireless AWS IoT per i profili di servizio**
+ [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)
+ [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html)
+ [ListServiceProfiles](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html)
+ [ UpdateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateServiceProfile.html)
+ [DeleteServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteServiceProfile.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare AWS CLI per creare un profilo di servizio**  
Puoi utilizzare AWS CLI per creare un servizio utilizzando il comando [create-service-profile](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-service-profile.html). Nell'esempio seguente viene creato un profilo di servizio.

```
aws iotwireless create-service-profile
```

L'esecuzione di questo comando crea automaticamente un profilo di dispositivo con un ID che è possibile utilizzare durante la creazione del dispositivo wireless. Ora è possibile creare il dispositivo wireless utilizzando il dispositivo e i profili di servizio.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

# Aggiunta di destinazioni a AWS IoT Core per LoRaWAN
<a name="lorawan-create-destinations"></a>

Le destinazioni di AWS IoT Core per LoRaWAN descrivono la regola di AWS IoT che elabora i dati di un dispositivo per l'utilizzo dai servizi AWS.

Poiché la maggior parte dei dispositivi LoRaWAN non invia dati ad AWS IoT Core per LoRaWAN in un formato che può essere usato dai servizi AWS, una regola di AWS IoT deve prima elaborarli. La regola AWS IoT contiene l'istruzione SQL che interpreta i dati del dispositivo e le operazioni della regola dell'argomento che inviano il risultato dell'istruzione SQL ai servizi che la utilizzeranno.

Se stai aggiungendo la destinazione per la prima volta, ti consigliamo di utilizzare la console. 

## Aggiunta di una destinazione tramite la console
<a name="lorawan-create-destination-console"></a>

Se si aggiunge un dispositivo wireless utilizzando la console come descritto in [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console), dopo aver già aggiunto le specifiche e i profili del dispositivo wireless ad AWS IoT Core per LoRaWAN come descritto in precedenza, puoi andare avanti e aggiungere una destinazione.

In alternativa, puoi aggiungere anche una destinazione di AWS IoT Core per LoRaWAN dalla pagina [ Destinations (Destinazioni)](https://console.aws.amazon.com/iot/home#/wireless/destinations) della console AWS IoT.

Per elaborare i dati di un dispositivo, specifica i seguenti campi durante la creazione di una destinazione di AWS IoT Core per LoRaWAN, quindi scegli **Add destination (Aggiungi destinazione)**.
+ 

**Dettagli della destinazione**  
Inserisci un **Nome della destinazione** e una descrizione facoltativa per la destinazione.
+ 

**Nome regola**  
La regola AWS IoT configurata per valutare i messaggi inviati dal tuo dispositivo ed elaborare i dati del dispositivo. Il nome della regola verrà mappato alla tua destinazione. La destinazione richiede la regola per elaborare i messaggi ricevuti. È possibile scegliere se elaborare i messaggi richiamando una regola AWS IoT o pubblicando sul broker di messaggi AWS IoT.
  + Se scegli **Ente a rule name (Inserisci il nome di una regola)**, inserisci un nome, e quindi scegli **Copy (Copia)** per copiare il nome di una regola che inserirai quando crei la regola AWS IoT. Puoi scegliere **Create a rule (Crea una regola)** per creare la regola ora o passare all'hub [ Rules (Regole)](https://console.aws.amazon.com/iot/home#/create/rule) della console AWS IoT e creare una regola con quel nome.

    Puoi anche inserire una regola e utilizzare impostazione **Advanced (Avanzata)** per specificare un nome dell'argomento. Il nome dell'argomento viene fornito durante l'invocazione della regola e si accede utilizzando l'espressione `topic` all'interno della regola. Per ulteriori informazioni sulle regole AWS IoT, consulta [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html).
  + Se scegli **Publish to AWS IoT message broker** (Pubblica sul broker di messaggi IoT), inserisci un nome di argomento. È quindi possibile copiare il nome dell'argomento MQTT e più sottoscriventi possono iscriversi a questo argomento per ricevere messaggi pubblicati su tale argomento. Per ulteriori informazioni, consultare [https://docs.aws.amazon.com/iot/latest/developerguide/topics.html](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html).

  Per ulteriori informazioni sulle regole di AWS IoT per le destinazioni, consulta [Creare regole per elaborare i messaggi del dispositivo LoRaWAN](lorawan-destination-rules.md).
+ 

**Nome ruolo**  
Il ruolo IAM che fornisce al dispositivo l'autorizzazione ai dati per accedere alla regola denominata in **Rule name (Nome regola)**. Nella console puoi creare un nuovo ruolo di servizio o selezionare un ruolo di servizio già esistente. Se stai creando un nuovo ruolo di servizio, puoi inserire un nome di ruolo (ad esempio, **IoTWirelessDestinationRole**), o lasciare vuoto per consentire a AWS IoT Core per LoRaWAN di generare un nuovo nome ruolo. AWS IoT Core per LoRaWAN creerà automaticamente il ruolo IAM con le autorizzazioni appropriate per tuo conto.

  Per ulteriori informazioni sui ruoli IAM, consulta [Utilizza ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html).

## Aggiungi una destinazione utilizzando l'API
<a name="lorawan-create-destination-api"></a>

Se invece desideri aggiungere una destinazione utilizzando la CLI, è necessario aver già creato la regola e il ruolo IAM per la destinazione. Per ulteriori informazioni sui dettagli richiesti da una definizione nel ruolo, consulta [Creazione di un ruolo IAM per le destinazioni](#lorawan-create-destinations-roles).

Gli elenchi seguenti descrivono le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di una destinazione.

**Operazioni API Wireless AWS IoT per le destinazioni**
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [GetDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDestination.html)
+ [ListDestinations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDestinations.html)
+ [ UpdateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDestination.html)
+ [DeleteDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDestination.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare la AWS CLI per aggiungere una destinazione**  
Puoi utilizzare AWS CLI per aggiungere una destinazione utilizzando il comando [create-destination](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-destination.html). L'esempio seguente mostra come creare una destinazione inserendo un nome di regola utilizzando `RuleName` come valore per il parametro `expression-type`. Se desideri specificare il nome di un argomento per la pubblicazione o la sottoscrizione al broker di messaggi, modifica il valore del parametro `expression-type` in `MqttTopic`.

```
aws iotwireless create-destination \
    --name IoTWirelessDestination \
    --expression-type RuleName \
    --expression IoTWirelessRule \
    --role-arn arn:aws:iam::123456789012:role/IoTWirelessDestinationRole
```

L'esecuzione di questo comando crea una destinazione con il nome di destinazione, il nome della regola e il nome del ruolo specificati. Per informazioni sui nomi di regole e ruoli per le destinazioni, consulta [Creare regole per elaborare i messaggi del dispositivo LoRaWAN](lorawan-destination-rules.md) e [Creazione di un ruolo IAM per le destinazioni](#lorawan-create-destinations-roles).

Per informazioni sulle CLI utilizzabili, consulta [Riferimento AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html). 

## Creazione di un ruolo IAM per le destinazioni
<a name="lorawan-create-destinations-roles"></a>

Destinazioni AWS IoT Core per LoRaWAN richiedono ruoli IAM che danno ad AWS IoT Core per LoRaWAN le autorizzazioni necessarie per inviare i dati alla regola AWS IoT. Se tale ruolo non è già definito, è necessario definirlo in modo che venga visualizzato nell'elenco dei ruoli.

Quando utilizzi la console per aggiungere una destinazione, AWS IoT Core per LoRaWAN crea automaticamente un ruolo IAM per te, come descritto in precedenza in questo argomento. Quando aggiungi una destinazione utilizzando l'API o la CLI, devi creare il ruolo IAM per la tua destinazione.

**Per creare una policy IAM per il ruolo di destinazione di AWS IoT Core per LoRaWAN**

1. Apri la pagina [ Policies hub of the IAM console (Hub delle policy nella console IAM)](https://console.aws.amazon.com/iam/home#/policies).

1. Scegli **Create policy (Crea policy)**, quindi scegli la scheda **JSON**.

1. Nell'editor, elimina qualsiasi contenuto dall'editor e incolla il documento relativo alle policy.

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

1. Scegli **Review policy (Rivedi la policy)**, e inserisci un nome per questa policy in **Name (Nome)**. Dovrai utilizzare questo nome nella procedura successiva.

   Se necessario, è inoltre possibile descrivere questa policy in **Description (Descrizione)**.

1. Scegli **Crea policy**.

**Per creare un ruolo IAM per una destinazione di AWS IoT Core per LoRaWAN**

1. Apri [ Roles hub of the IAM console (Hub dei ruoli della console IAM)](https://console.aws.amazon.com/iam/home#/roles) e scegli **Create role (Crea ruolo)**.

1. In **Seleziona tipo di entità attendibile**, scegli **Altro Account AWS**.

1. In **Account ID (ID account)**, inserisci il tuo account Account AWS ID, quindi scegli **Next: Permissions (Successivo: autorizzazioni)**.

1. Nella casella di ricerca, inserisci il nome della policy IAM creata nella procedura precedente.

1. Nei risultati della ricerca, controlla la policy IAM creata nella procedura precedente.

1. Scegli **Successivo: Tag**, quindi **Successivo: Rivedi**.

1. In **Role Name (Nome ruolo)**, inserisci il nome di questo ruolo, quindi scegli **Create role (Crea ruolo)**.

1. Nel messaggio di conferma, scegli il nome del ruolo creato per modificare il nuovo ruolo.

1. In **Summary (Riepilogo)**, scegli la finestra **Trust relationships (Relazioni di trust)** e seleziona **Edit trust relationship (Modifica relazione di trust)**.

1. In **Policy Document (Documento policy)**, modifica la proprietà di `Principal` affinché appaia come nell'esempio.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   Dopo aver modificato la proprietà `Principal`, il documento completo di policy dovrebbe essere simile al seguente.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. Per salvare le modifiche, scegli **Update Trust Policy (Aggiorna policy di attendibilità)**.

Puoi trovare questo ruolo definito nell'elenco dei ruoli quando configuri le tue destinazioni AWS IoT Core per LoRaWAN.

# Creare regole per elaborare i messaggi del dispositivo LoRaWAN
<a name="lorawan-destination-rules"></a>

Le regole AWS IoT inviano messaggi del dispositivo ad altri servizi. Le regole AWS IoT possono anche elaborare i messaggi binari ricevuti da un dispositivo LoRaWAN per convertire i messaggi in altri formati che possono renderli più facili per altri servizi da utilizzare.

[Destinazioni AWS IoT Core per LoRaWAN](lorawan-create-destinations.md) associano un dispositivo wireless alla regola che elabora i dati dei messaggi del dispositivo da inviare ad altri servizi. La regola agisce sui dati del dispositivo non appena AWS IoT Core per LoRaWAN lo riceve. [Le destinazioni AWS IoT Core per LoRaWAN](lorawan-create-destinations.md) possono essere condivise da tutti i dispositivi i cui messaggi hanno lo stesso formato di dati e che inviano i loro dati allo stesso servizio.

## Come funziona il processo di regole AWS IoT per i messaggi del dispositivo
<a name="how-rules-process-message"></a>

Come una regola AWS IoT elabora i dati dei messaggi di un dispositivo dipende dal servizio che riceverà i dati, dal formato dei dati dei messaggi del dispositivo e dal formato dei dati richiesto dal servizio. In genere, la regola chiama una funzione AWS Lambda per convertire i dati dei messaggi del dispositivo nel formato richiesto da un servizio e quindi invia il risultato al servizio.

Nella figura seguente viene illustrato come i dati dei messaggi vengono protetti ed elaborati mentre vengono spostati dal dispositivo wireless a un servizio AWS.

![\[Immagine che mostra come i dati AWS IoT Core per LoRaWAN vengono passati da un dispositivo wireless ad AWS IoT e altri servizi.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-data-flow.png)


1. Il dispositivo wireless LoRaWAN crittografa i suoi messaggi binari utilizzando la modalità CTR AES128 prima di trasmetterli.

1. AWS IoT Core per LoRaWAN decritta il messaggio binario e codifica il payload del messaggio binario decrittato come stringa base64.

1. Il messaggio codificato su base 64 risultante viene inviato come payload del messaggio, non formattato come documento JSON, alla regola AWS IoT descritta nella destinazione assegnata al dispositivo.

1. La regola AWS IoT indirizza i dati del messaggio al servizio descritto nella configurazione della regola.

Il payload binario crittografato ricevuto dal dispositivo wireless non viene alterato o interpretato da AWS IoT Core per LoRaWAN. Il payload del messaggio binario decrittato è codificato solo come stringa base64. Affinché i servizi possano accedere agli elementi dati nel payload del messaggio binario, gli elementi dati devono essere analizzati fuori dal payload da una funzione chiamata dalla regola. Il payload del messaggio con codifica base64 è una stringa ASCII, quindi potrebbe essere archiviata come tale per essere analizzata in un secondo momento.

## Creazione di regole per dispositivi LoRaWAN
<a name="create-lorawan-rules"></a>

AWS IoT Core per LoRaWAN utilizza regole AWS IoT per inviare in modo sicuro i messaggi del dispositivo direttamente ad altri servizi AWS senza la necessità di utilizzare il broker di messaggi. Rimuovere il broker di messaggi dal percorso di importazione dati riduce i costi e ottimizza il flusso di dati.

Una regola AWS IoT Core per LoRaWAN per inviare messaggi del dispositivo ad altri servizi AWS, richiede una destinazione AWS IoT Core per LoRaWAN una regola AWS IoT assegnata a quella destinazione. La regola AWS IoT deve contenere un'istruzione di query SQL e almeno un'operazione della regola. 

In genere, l'istruzione query della regola AWS IoT è composta da:
+ Una clausola SQL SELECT che seleziona e formatta i dati dal payload del messaggio
+ Un filtro argomento (l'oggetto FROM nell'istruzione query di regole) che identifichi i messaggi da utilizzare
+ Un'istruzione condizionale facoltativa (una clausola SQL WHERE) che specifica le condizioni su cui agire

Di seguito è illustrato un esempio di dichiarazione di query di regole:

```
SELECT temperature FROM iot/topic' WHERE temperature > 50
```

Durante la costruzione delle regole AWS IoT per elaborare payload dai dispositivi LoRaWAN, non è necessario specificare la clausola FROM come parte dell'oggetto query regola. L'istruzione di query delle regole deve avere la clausola SQL SELECT e facoltativamente può avere la clausola WHERE. Se l'istruzione query utilizza la clausola FROM, viene ignorata.

Di seguito è illustrato un esempio di un'istruzione di query di regole in grado di elaborare i payload dai dispositivi LoRaWAN:

```
SELECT WirelessDeviceId, WirelessMetadata.LoRaWAN.FPort as FPort,
       WirelessMetadata.LoRaWAN.DevEui as DevEui, 
       PayloadData
```

In questo esempio, `PayloadData` è un payload binario codificato in base64, inviato dal tuo dispositivo LoRaWAN.

Ecco un'istruzione query di regola di esempio che può eseguire una decodifica binaria del payload in entrata e trasformarlo in un formato diverso come JSON:

```
SELECT WirelessDeviceId, WirelessMetadata.LoRaWAN.FPort as FPort,
       WirelessMetadata.LoRaWAN.DevEui as DevEui, 
       aws_lambda("arn:aws:lambda:<region>:<account>:function:<name>",                                       
                  {                                      
                   "PayloadData":PayloadData,                                       
                   "Fport": WirelessMetadata.LoRaWAN.FPort   
                  }) as decodingoutput
```

Per ulteriori informazioni sull'utilizzo delle clausole SELECT AND WHERE, consulta [https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html).

Per informazioni sulle regole AWS IoT e su come crearle e utilizzarle, consulta [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) e [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules-tutorial.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules-tutorial.html). 

Per informazioni su come creare e utilizzare destinazioni AWS IoT Core per LoRaWAN, consulta [Aggiunta di destinazioni a AWS IoT Core per LoRaWAN](lorawan-create-destinations.md).

Per informazioni sull'utilizzo dei payload dei messaggi binari in una regola, consulta [https://docs.aws.amazon.com/iot/latest/developerguide/binary-payloads.html](https://docs.aws.amazon.com/iot/latest/developerguide/binary-payloads.html).

Per ulteriori informazioni sulla sicurezza dei dati e sulla crittografia utilizzati per proteggere il payload dei messaggi durante il percorso, consulta [Protezione dei dati in Wireless AWS IoT](data-protection.md).

Per un'architettura di riferimento che mostra un esempio di decodifica e implementazione binaria per le regole IoT, consulta [Esempi di soluzioni AWS IoT Core per LoRaWAN su GitHub](https://github.com/aws-samples/aws-iot-core-lorawan/tree/main/transform_binary_payload).

# Connetti il tuo dispositivo LoRaWAN e verifica lo stato della connessione
<a name="lorawan-device-connection-status"></a>

Prima di poter controllare lo stato della connessione del dispositivo, è necessario aver già aggiunto il dispositivo e averlo collegato ad AWS IoT Core per LoRaWAN. Per informazioni su come aggiungere un dispositivo, consulta [Aggiungi il dispositivo wireless ad AWS IoT Core per LoRaWAN](lorawan-end-devices-add.md).

Dopo aver aggiunto il dispositivo, consulta il manuale utente del dispositivo per informazioni su come avviare l'invio di un messaggio di uplink dal dispositivo LoRaWAN.

## Controllare lo stato della connessione del dispositivo utilizzando la console
<a name="lorawan-device-connection-status-console"></a>

Per verificare lo stato della connessione utilizzando la console, passa alla pagina [https://console.aws.amazon.com/iot/home#/wireless/devices](https://console.aws.amazon.com/iot/home#/wireless/devices) della console AWS IoT e scegli il dispositivo che hai aggiunto. Nella sezione **Details (Dettagli)** della pagina dei dettagli dei dispositivi wireless, vedrai la data e l'ora in cui è stato ricevuto l'ultimo uplink.

## Controllare lo stato della connessione del dispositivo utilizzando l'API
<a name="lorawan-device-connection-status-api"></a>

Per verificare lo stato della connessione utilizzando l'API, utilizza l'API `GetWirelessDeviceStatistics`. Questa API non ha un corpo della richiesta e contiene solo un corpo di risposta che mostra quando è stato ricevuto l'ultimo uplink.

```
HTTP/1.1 200
Content-type: application/json

{  
  “LastUplinkReceivedAt”: “2021-03-24T23:13:08.476015749Z”,
  "LoRaWAN": {
        "DataRate": 5,
        "DevEui": "647fda0000006420",
        "Frequency": 868100000
        "Gateways": [ 
         { 
            "GatewayEui": "c0ee40ffff29df10",
            "Rssi": -67,
            "Snr": 9.75
         }
      ],
  “WirelessDeviceId”: “30cbdcf3-86de-4291-bfab-5bfa2b12bad5"
}
```

## Passaggi successivi
<a name="lorawan-device-connection-next-steps"></a>

Dopo aver collegato il dispositivo e verificato lo stato della connessione, è possibile osservare il formato dei metadati uplink ricevuti dal dispositivo utilizzando il [ Client di prova MQTT](https://console.aws.amazon.com/iot/home#/test) sulla pagina **Test** della console AWS IoT. Per ulteriori informazioni, consultare [Visualizza il formato dei messaggi di uplink inviati dai dispositivi LoRaWAN](lorawan-uplink-metadata-format.md).

# Configurazione della posizione delle risorse wireless con AWS IoT Core per LoRaWAN
<a name="lorawan-configure-location"></a>


|  | 
| --- |
| Prima di utilizzare questa funzione, tenere presente che il fornitore di terze parti scelto per la risoluzione delle informazioni sulla posizione dei dispositivi LoRaWAN si basa su feed di dati e set di dati forniti o gestiti da International GNSS Service (IGS), EarthData via NASA o da altre terze parti. Questi feed di dati e set di dati sono contenuti di terze parti (come definito nel Contratto con il cliente) e vengono forniti così come sono. Per ulteriori informazioni, consultare [Termini del servizio AWS](https://aws.amazon.com/service-terms). | 

È possibile utilizzare AWS IoT Core per LoRaWAN per specificare i dati sulla posizione statica o attivare il posizionamento per identificare la posizione del dispositivo in tempo reale utilizzando risolutori di terze parti. Puoi aggiungere o aggiornare le informazioni sulla posizione per dispositivi o gateway LoRaWAN o entrambi. 

È possibile specificare le informazioni sulla posizione quando si aggiunge il dispositivo o il gateway a AWS IoT Core per LoRaWAN o quando si modificano i dettagli di configurazione del dispositivo o del gateway. Le informazioni sulla posizione sono specificate come un payload [GeoJSON](https://geojson.org/). Il formato GeoJSON viene utilizzato per codificare strutture di dati geografici. Il payload contiene le coordinate di latitudine e longitudine della posizione del dispositivo, basate sul [sistema di coordinate World Geodetic System (WGS84)](https://gisgeography.com/wgs84-world-geodetic-system/).

Dopo che i risolutori calcolano la posizione della risorsa, se si dispone del servizio di posizione Amazon, è possibile attivare una mappa delle posizioni Amazon in cui verrà visualizzata la risorsa. Utilizzando i dati sulla posizione, potrai:
+ Attivare il posizionamento per identificare e ottenere la posizione dei dispositivi LoRaWAN.
+ Tracciare e monitorare i gateway e i dispositivi.
+ Definire le regole AWS IoT che elaborano eventuali aggiornamenti ai dati sulla posizione e li instradano a un altro Servizio AWS. Per un elenco delle azioni delle regole, consulta le [azioni delle regole AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html) nella *Guida per gli sviluppatori AWS IoT*.
+ Creare avvisi e ricevere notifiche sui dispositivi in caso di attività insolite utilizzando i dati sulla posizione e Amazon SNS.

## Funzionamento del posizionamento per i dispositivi LoRaWAN
<a name="lorawan-location-solver"></a>

È possibile attivare il posizionamento per identificare la posizione dei dispositivi utilizzando risolutori Wi-Fi e GNSS di terze parti. Queste informazioni possono essere utilizzate per tracciare e monitorare il dispositivo. Nei seguenti passaggi viene illustrato come attivare il posizionamento e visualizzare le informazioni sulla posizione per dispositivi LoRaWAN.

**Nota**  
Il risolutore di terze parti può essere utilizzato solo con dispositivi LoRaWAN dotati del chip [LoRa Edge](https://www.semtech.com/products/wireless-rf/lora-edge). Non può essere utilizzato con i gateway LoRaWAN. Per i gateway, è comunque possibile specificare le informazioni sulla posizione statica e identificare la posizione su una mappa delle posizioni Amazon.

1. 

**Aggiunta del dispositivo**

   Prima di attivare il posizionamento, aggiungere innanzitutto il dispositivo a AWS IoT Core per LoRaWAN Il dispositivo LoRaWAN deve essere dotato di un chipset LoRa Edge, che è una piattaforma a bassissima potenza che integra un ricetrasmettitore LoRa a lungo raggio, uno scanner GNSS multi-costellazione e uno scanner MAC Wi-Fi passivo destinato alle applicazioni di geolocalizzazione.

1. 

**Attivazione del posizionamento**

   Per ottenere la posizione in tempo reale dei dispositivi, attivare il posizionamento. Quando il dispositivo LoRaWAN invia un messaggio di uplink, i dati di scansione Wi-Fi e GNSS contenuti nel messaggio vengono inviati a AWS IoT Core per LoRaWAN utilizzando la porta del frame di geolocalizzazione.

1. 

**Recupero delle informazioni sulla posizione**

   Recuperare la posizione stimata del dispositivo dai risolutori calcolati in base ai risultati della scansione dei ricetrasmettitori. Se le informazioni sulla posizione sono state calcolate utilizzando i risultati della scansione Wi-Fi e GNSS, AWS IoT Core per LoRaWAN seleziona la posizione stimata con la maggiore precisione.

1. 

**Visualizzazione delle informazioni sulla posizione**

   Dopo che il risolutore calcola le informazioni sulla posizione, fornirà le informazioni sulla precisione che indicano la differenza tra la posizione calcolata dai risolutori e le informazioni sulla posizione statica immesse. È anche possibile visualizzare la posizione del dispositivo su una mappa delle posizioni Amazon.
**Nota**  
Poiché i risolutori non possono essere utilizzati per i gateway LoRaWAN, le informazioni sulla precisione verranno riportate come `0.0`.

Per ulteriori informazioni sul formato dei messaggi di uplink e sulle porte di frequenza utilizzate per il risolutore di posizionamento, consulta [Messaggio di uplink da AWS IoT Core per LoRaWAN a motore delle regole](lorawan-location-devices.md#lorawan-location-devices-uplink).

## Panoramica del flusso di lavoro di posizionamento
<a name="lorawan-location-workflow"></a>

Il seguente diagramma mostra come AWS IoT Core per LoRaWAN memorizza e aggiorna le informazioni sulla posizione dei tuoi dispositivi e gateway.

![\[Immagine che mostra come AWS IoT Core per LoRaWAN può utilizzare i dati sulla posizione statica e i dati non elaborati per calcolare la posizione in tempo reale.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-lms-architecture.png)


1. 

**Specifica della posizione statica della risorsa**  
Specificare le informazioni sulla posizione statica del dispositivo o del gateway come un payload GeoJSON, utilizzando le coordinate di latitudine e longitudine. Facoltativamente, puoi anche specificare un valore per l'altitudine. Queste coordinate sono basate sul sistema di coordinate WGS84. Per ulteriori informazioni, consulta la pagina del [sistema geodetico mondiale (WGS84)](https://gisgeography.com/wgs84-world-geodetic-system/).

1. 

**Attivazione del posizionamento per i dispositivi**  
Se si utilizzano dispositivi LoRaWAN dotati del chip LoRa Edge, è possibile attivare il posizionamento per tracciare la posizione del dispositivo in tempo reale. Quando il dispositivo invia un messaggio di uplink, i dati di scansione Wi-Fi e GNSS vengono inviati a AWS IoT Core per LoRaWAN utilizzando la porta del frame di geolocalizzazione. I risolutori utilizzano quindi queste informazioni per risolvere la posizione del dispositivo. 

1. 

**Aggiunta di una destinazione ai dati per l'instradamento dei dati sulla posizione**  
È possibile aggiungere una destinazione che descrive la regola IoT per l'elaborazione dei dati del dispositivo e instradare le informazioni aggiornate sulla posizione a AWS IoT Core per LoRaWAN. È anche possibile visualizzare l'ultima posizione nota della risorsa su una mappa delle posizioni Amazon.

## Configurazione della posizione della risorsa
<a name="lorawan-location-how"></a>

Puoi configurare la posizione della risorsa utilizzando la Console di gestione AWS, l'API Wireless AWS IoT o la AWS CLI. 

Se i dispositivi dispongono del chip LoRa Edge, è possibile attivare il posizionamento per calcolare le informazioni sulla posizione in tempo reale. Per i tuoi gateway, puoi comunque inserire le coordinate di posizione statiche e utilizzare il servizio di posizione Amazon. per tracciare la posizione del gateway su una mappa delle posizioni Amazon.

**Topics**
+ [Funzionamento del posizionamento per i dispositivi LoRaWAN](#lorawan-location-solver)
+ [Panoramica del flusso di lavoro di posizionamento](#lorawan-location-workflow)
+ [Configurazione della posizione della risorsa](#lorawan-location-how)
+ [Configurazione della posizione dei gateway LoRaWAN](lorawan-location-gateways.md)
+ [Configurazione della posizione dei dispositivi LoRaWAN](lorawan-location-devices.md)

# Configurazione della posizione dei gateway LoRaWAN
<a name="lorawan-location-gateways"></a>

Quando si aggiunge il gateway a AWS IoT Core per LoRaWAN, è possibile specificare i dati sulla posizione statica. Se sono state attivate le mappe del servizio di posizione Amazon, i dati sulla posizione vengono visualizzati su una mappa delle posizioni Amazon. 

**Nota**  
I risolutori di terze parti non possono essere utilizzati con i gateway LoRaWAN. Per i gateway, è comunque possibile specificare le coordinate della posiziona statica. Se per calcolare la posizione non vengono utilizzati i risolutori, ad esempio nel caso dei gateway, le informazioni sulla precisione verranno riportate come `0.0`.

Puoi configurare la posizione della gateway utilizzando la Console di gestione AWS, l'API Wireless AWS IoT o la AWS CLI. 

## Configurazione della posizione del gateway utilizzando la console
<a name="lorawan-location-gateways-console"></a>

Per configurare la posizione delle risorse gateway utilizzando la Console di gestione AWS, accedi prima alla console quindi passa alla pagina hub [https://console.aws.amazon.com/iot/home#/wireless/gateways](https://console.aws.amazon.com/iot/home#/wireless/gateways) della console AWS IoT.

**Aggiunta di informazioni sulla posizione**  
Aggiunta di una configurazione della posizione per il gateway

1. Nella pagina hub **Gateway**, scegli **Add gateway** (Aggiungi gateway).

1. Specifica l'identificatore univoco esteso (EUI) del gateway, la banda di frequenza (RFRegion) e tutti i dettagli aggiuntivi del gateway, oltre alle informazioni di configurazione LoRaWAN. Per ulteriori informazioni, consultare [Aggiungere un gateway utilizzando la console](lorawan-onboard-gateway-add.md#lorawan-onboard-gateway-console).

1. Vai alla sezione **Position information - Optional** (Informazioni sulla posizione - facoltativa) e inserisci le informazioni sulla posizione per il gateway utilizzando le coordinate di latitudine e longitudine e una coordinata di altitudine facoltativa. Le informazioni sulla posizione si basano sul sistema di coordinate WGS84.

**Visualizzazione della posizione del gateway**  
Dopo aver configurato la posizione del gateway, AWS IoT Core per LoRaWAN crea una mappa delle posizioni Amazon chiamata `iotwireless.map`. Questa mappa è presente sulla pagina dei dettagli del tuo gateway nella scheda **Position** (Posizione). In base alle coordinate di posizione specificate, la posizione del gateway verrà visualizzata come contrassegno sulla mappa. Puoi ingrandire o rimpicciolire la mappa per visualizzare chiaramente la posizione del tuo gateway. Nella scheda **Position** (Posizione), vengono anche visualizzate informazioni sulla precisione e il timestamp del momento in cui è stata determinata la posizione del gateway.

**Nota**  
Se non hai installato le mappe del servizio di posizione Amazon, sarà visualizzato un messaggio che indica che è necessario utilizzare questo servizio per accedere alla mappa e visualizzare la posizione del gateway. L'utilizzo di mappe del servizio di posizione Amazon può comportare addebiti aggiuntivi al tuo Account AWS. Per ulteriori informazioni, consultare [Prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/).

La mappa, `iotwireless.map`, funge da fonte di dati cartografici a cui si accede tramite operazioni API `Get`, ad esempio [https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapTile.html](https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapTile.html). Per informazioni sulle API `Get` utilizzate con le mappe, consulta [Amazon Location Service API reference](https://docs.aws.amazon.com/location-maps/latest/APIReference/Welcome.html) (Documentazione di riferimento delle API del servizio di posizione Amazon).

Per ulteriori dettagli su questa mappa, vai alla console del servizio di posizione Amazon, scegli **maps** (mappe) quindi seleziona [iotwireless.map](https://console.aws.amazon.com/location/maps/home#/describe/iotwireless.map). Per ulteriori informazioni, consultare [Mappe](https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html) nella *Guida per gli sviluppatori del servizio di posizione Amazon*.

**Aggiornamento della configurazione della posizione del gateway**  
Per modificare la configurazione della posizione del gateway, nella pagina dei dettagli del gateway, seleziona **Edit** (Modifica), quindi aggiorna le informazioni sulla posizione e la destinazione.

**Nota**  
Le informazioni sui dati storici della posizione non sono disponibili. Quando aggiorni le coordinate di posizione del gateway, i dati sulla posizione riportati in precedenza vengono sovrascritti. Dopo aver aggiornato la posizione, nella scheda **Position** (Posizione) dei dettagli del gateway, vedrai le nuove informazioni sulla posizione. Una modifica del timestamp indica che corrisponde all'ultima posizione nota del gateway.

## Configurazione della posizione del gateway tramite l'API
<a name="lorawan-location-gateways-api"></a>

Puoi specificare le informazioni sulla posizione e configurare il gateway utilizzando l'API Wireless AWS IoT o la AWS CLI.

**Importante**  
Le operazioni API [UpdatePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdatePosition.html), [GetPosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetPosition.html), [PutPositionConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_PutPositionConfiguration.html), [GetPositionConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetPositionConfiguration.html) e [ListPositionConfigurations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListPositionConfigurations.html) non sono più supportate. Le chiamate per aggiornare e recuperare le informazioni sulla posizione devono utilizzare le operazioni API [GetResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourcePosition.html) e [UpdateResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateResourcePosition.html).

### Aggiunta di informazioni sulla posizione
<a name="lorawan-location-gateways-api-add"></a>

Per aggiungere le informazioni sulla posizione statica per un determinato gateway wireless, specificare le coordinate utilizzando l'operazione API [UpdateResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateResourcePosition.html) o il comando [update-resource-position](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-resource-position.html) della CLI. Specificare `WirelessGateway` come `ResourceType`, l'ID del gateway wireless da aggiornare come `ResourceIdentifier` e le informazioni sulla posizione come payload GeoJSON.

```
aws iotwireless update-resource-position \ 
    --resource-type WirelessGateway \ 
    --resource-id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" \ 
    --cli-input-json file://gatewayposition.json
```

Nell'esempio seguente viene mostrato il contenuto del file `gatewayposition.json`.

**Contenuto di gatewayposition.json**

```
{ 
     "type": "Point",
     "coordinates": [33.3318, -22.2155, 13.123],
     "properties": {
          "timestamp": "2018-11-30T18:35:24Z"
      }
}
```

L'esecuzione di questo comando non produce output. Per visualizzare le informazioni sulla posizione specificate, utilizzare l'operazione API `GetResourcePosition`.

### Ottenimento delle informazioni sulla posizione
<a name="lorawan-location-devices-api-get"></a>

Per ottenere le informazioni sulla posizione di un determinato gateway wireless, utilizzare l'API [GetResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourcePosition.html) o il comando [get-resource-position](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-position.html) della CLI. Specifica `WirelessGateway` come `resourceType` e immetti l'ID del gateway wireless come `resourceIdentifier`.

```
aws iotwireless get-resource-position \ 
    --resource-type WirelessGateway \ 
    --resource-id "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
```

L'esecuzione di questo comando visualizza le informazioni sulla posizione del gateway wireless come un payload GeoJSON. Saranno visualizzate le informazioni sulle coordinate della posizione, il tipo di informazioni sulla posizione e proprietà aggiuntive, come il timestamp che corrisponde all'ultima posizione nota del gateway.

```
{
    {
    "type": "Point",
     "coordinates": [33.3318,-22.2155,13.123],
     "properties": {
         "timestamp": "2018-11-30T18:35:24Z"
         }
    }
}
```

# Configurazione della posizione dei dispositivi LoRaWAN
<a name="lorawan-location-devices"></a>

Quando si aggiunge il dispositivo a AWS IoT Core per LoRaWAN, è possibile specificare le informazioni sulla posizione statica, attivare facoltativamente il posizionamento e specificare una destinazione. La destinazione descrive la regola IoT che elabora le informazioni sulla posizione del dispositivo e instrada la posizione aggiornata al servizio di posizione Amazon. Dopo aver configurato la posizione del dispositivo, i dati sulla posizione vengono visualizzati su una mappa di posizioni di Amazon con le informazioni sulla precisione e la destinazione specificata.

Puoi configurare la posizione del dispositivo utilizzando la Console di gestione AWS, l'API Wireless AWS IoT o la AWS CLI.

## Porte di frame e formato dei messaggi di uplink
<a name="lorawan-location-devices-fportuplink"></a>

Se si attiva il posizionamento, è necessario specificare la porta di frame di geolocalizzazione per comunicare i dati di scansione Wi-Fi e GNSS dal dispositivo a AWS IoT Core per LoRaWAN. Le informazioni sulla posizione vengono comunicate a AWS IoT Core per LoRaWAN tramite la porta di frame.

La specifica LoRaWAN fornisce un campo di consegna dati (FRMPayload) e un campo Port (FPort) per distinguere tra diversi tipi di messaggi. Per comunicare le informazioni sulla posizione, per la porta di frame è possibile specificare un valore qualsiasi compreso tra 1 e 223. FPort 0 è riservato ai messaggi MAC, FPort 224 è riservato ai test di conformità MAC e le porte 225-255 sono riservate per future estensioni di applicazioni standardizzate.

### Messaggio di uplink da AWS IoT Core per LoRaWAN a motore delle regole
<a name="lorawan-location-devices-uplink"></a>

Quando aggiungi una destinazione, viene creata una regola AWS IoT per instradare i dati al servizio di posizione Amazon utilizzando il motore delle regole. Le informazioni aggiornate sulla posizione vengono quindi visualizzate su una mappa delle posizioni Amazon. Se il posizionamento non è stato attivato, la destinazione instrada i dati sulla posizione quando si aggiornano le coordinate di posizione statiche del dispositivo.

Il seguente codice mostra il formato del messaggio di uplink inviato da AWS IoT Core per LoRaWAN con le informazioni sulla posizione, la precisione, la configurazione del risolutore e i metadati wireless. I campi evidenziati di seguito sono facoltativi. Se non sono disponibili informazioni sulla precisione verticale, il valore è `null`.

```
{
    // Position configuration parameters for given wireless device
    "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35",     

    // Position information for a device in GeoJSON format. Altitude
    // is optional. If no vertical accuracy information is available
    // or positioning isn't activated, the value is set to null.
    // The position information coordinates are listed in the order 
    // [longitude, latitude, altitude].
    "coordinates": [33.33000183105469, -22.219999313354492, 99.0],
    "type": "Point",
    "properties": { 
         "horizontalAccuracy": number,
         "verticalAccuracy": number",
         "timestamp": "2022-08-19T03:08:35.061Z"
    },

    //Parameters controlled by AWS IoT Core per LoRaWAN
    "WirelessMetadata": 
    {
        "LoRaWAN":
        {
            "ADR": false,
            "Bandwidth": 125,
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "0",
            "DevAddr": "00b96cd4",
            "DevEui": "58a0cb000202c99",            
            "FOptLen": 2,
            "FCnt": 1,
            "Fport": 136,   
            "Frequency": "868100000",     
            "Gateways": [
             {
                    "GatewayEui": "80029cfffe5cf1cc",      
                    "Snr": -29,
                    "Rssi": 9.75
             }
             ],  
            "MIC": "7255cb07",  
            "MType": "UnconfirmedDataUp",
            "Major": "LoRaWANR1",
            "Modulation": "LORA", 
            "PolarizationInversion": false,    
            "SpreadingFactor": 12,                         
            "Timestamp": "2021-05-03T03:24:29Z"
            
        }
    }
}
```

## Configurazione della posizione dei dispositivi tramite la console
<a name="lorawan-location-devices-console"></a>

Per configurare e gestire la posizione dei dispositivi tramite la Console di gestione AWS, accedere innanzitutto alla console quindi passare alla pagina hub [https://console.aws.amazon.com/iot/home#/wireless/devices](https://console.aws.amazon.com/iot/home#/wireless/devices) (Dispositivi) della console AWS IoT.

**Aggiunta di informazioni sulla posizione**  
Per aggiungere informazioni sulla posizione per il dispositivo:

1. Nella pagina hub **Devices** (Dispositivi), scegli **Add wireless device** (Aggiungi dispositivo wireless).

1. Immetti le specifiche del dispositivo wireless, i profili di dispositivo e servizio e la destinazione che definisce la regola IoT per l'instradamento dei dati a un altro Servizio AWS. Per ulteriori informazioni, consultare [Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN](lorawan-onboard-end-devices.md).

1. Immetti le informazioni sulla posizione, attiva facoltativamente la geolocalizzazione e specifica una destinazione dei dati sulla posizione che desideri utilizzare per instradare i messaggi.
   + 

**Informazioni sulla posizione**  
Specifica i dati sulla posizione per il dispositivo utilizzando le coordinate di latitudine e longitudine e una coordinata di altitudine facoltativa. Le informazioni sulla posizione si basano sul sistema di coordinate WGS84.
   + 

**GeoLocation**  
Attiva il posizionamento se desideri che AWS IoT Core per LoRaWAN utilizzi la geolocalizzazione per calcolare la posizione del dispositivo. I risolutori GNSS e Wi-Fi di terze parti vengono utilizzati per identificare la posizione del dispositivo in tempo reale. 

     Per inserire le informazioni di geolocalizzazione, scegli **Attiva posizionamento** e inserisci la porta di frame di geolocalizzazione per comunicare i dati di scansione GNSS e Wi-Fi a AWS IoT Core per LoRaWAN. Come riferimento, sono già inseriti i valori di FPort predefiniti. Tuttavia, puoi scegliere un valore diverso compreso tra 1 e 223.
   + 

**Destinazione dei dati sulla posizione**  
Scegli una destinazione per descrivere la regola AWS IoT che elabora i dati sulla posizione del dispositivo e invia la posizione aggiornata a AWS IoT Core per LoRaWAN. Utilizza questa destinazione solo per instradare i dati sulla posizione. Deve essere diversa dalla destinazione utilizzata per l'instradamento dei dati del dispositivo ad altri Servizio AWS.

**Visualizzazione della configurazione della posizione del dispositivo**  
Dopo aver configurato la posizione del dispositivo, AWS IoT Core per LoRaWAN crea una mappa delle posizioni Amazon chiamata `iotwireless.map`. Questa mappa è presente sulla pagina dei dettagli del tuo dispositivo nella scheda **Position** (Posizione). In base alle coordinate di posizione specificate o alla posizione calcolata dai risolutori di terze parti, la posizione del dispositivo verrà visualizzata come un contrassegno sulla mappa. Puoi ingrandire o rimpicciolire la mappa per visualizzare chiaramente la posizione del tuo dispositivo. Nella pagina dei dettagli del dispositivo, nella scheda **Position** (Posizione), vedrai anche le informazioni sulla precisione, il timestamp in cui è stata determinata la posizione del dispositivo e la destinazione dei dati sulla posizione che hai specificato.

**Nota**  
Se non hai attivato le mappe del servizio di posizione Amazon, sarà visualizzato un messaggio che indica che è necessario utilizzare il servizio di posizione Amazon per accedere alla mappa e visualizzare la posizione. L'utilizzo di mappe del servizio di posizione Amazon può comportare addebiti aggiuntivi al tuo Account AWS. Per ulteriori informazioni, consultare [Prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/).

La mappa, `iotwireless.map`, funge da fonte di dati cartografici a cui si accede tramite operazioni API `Get`, ad esempio [https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapTile.html](https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapTile.html). Per informazioni sulle API `Get` utilizzate con le mappe, consulta [Amazon Location Service API reference](https://docs.aws.amazon.com/location-maps/latest/APIReference/Welcome.html) (Documentazione di riferimento delle API del servizio di posizione Amazon).

Per ulteriori dettagli su questa mappa, vai alla console del servizio di posizione Amazon, scegli **maps** (mappe) quindi seleziona [iotwireless.map](https://console.aws.amazon.com/location/maps/home#/describe/iotwireless.map). Per ulteriori informazioni, consultare [Mappe](https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html) nella *Guida per gli sviluppatori del servizio di posizione Amazon*.

**Aggiornamento della configurazione della posizione del dispositivo**  
Per modificare la configurazione della posizione del dispositivo, nella pagina dei dettagli del dispositivo, scegli **Edit** (Modifica), quindi aggiorna le informazioni sulla posizione, eventuali impostazioni di geolocalizzazione e la destinazione.

**Nota**  
Le informazioni sui dati storici della posizione non sono disponibili. Quando aggiorni le coordinate di posizione del dispositivo, i dati sulla posizione riportati in precedenza vengono sovrascritti. Dopo aver aggiornato la posizione, nella scheda **Position** (Posizione) dei dettagli del dispositivo, vedrai le nuove informazioni sulla posizione. Una modifica del timestamp indica che corrisponde all'ultima posizione nota del dispositivo.

## Configurazione della posizione del dispositivo tramite l'API
<a name="lorawan-location-devices-api"></a>

Puoi specificare le informazioni sulla posizione, configurare la posizione del dispositivo e attivare la geolocalizzazione facoltativa mediante l'API Wireless AWS IoT o la AWS CLI.

**Importante**  
Le operazioni API [UpdatePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdatePosition.html), [GetPosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetPosition.html), [PutPositionConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_PutPositionConfiguration.html), [GetPositionConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetPositionConfiguration.html) e [ListPositionConfigurations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListPositionConfigurations.html) non sono più supportate. Le chiamate per aggiornare e recuperare le informazioni sulla posizione devono utilizzare le operazioni API [GetResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourcePosition.html) e [UpdateResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateResourcePosition.html).

### Aggiunta di informazioni sulla posizione e configurazione
<a name="lorawan-location-devices-api-add"></a>

Per aggiungere le informazioni sulla posizione per un determinato dispositivo wireless, specificare le coordinate utilizzando l'operazione API [UpdateResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateResourcePosition.html) o il comando [update-resource-position](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-resource-position.html) della CLI. Specificare `WirelessDevice` come `ResourceType`, l'ID del dispositivo wireless da aggiornare come `ResourceIdentifier` e le informazioni sulla posizione.

```
aws iotwireless update-resource-position \ 
    --resource-type WirelessDevice \ 
    --resource-id "1ffd32c8-8130-4194-96df-622f072a315f" \ 
    --position [33.33, -33.33, 10.0]
```

Nell'esempio seguente viene mostrato il contenuto del file `deviceposition.json`. Per specificare i valori FPort per l'invio dei dati di geolocalizzazione, utilizzare l'oggetto [Positioning](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_Positioning.html) (Posizionamento) con le operazioni API [CreateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html) e [UpdateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessDevice.html).

**Contenuto di deviceposition.json**

```
{ 
     "type": "Point",
     "coordinates": [33.3318, -22.2155, 13.123],
     "properties": {
          "verticalAccuracy": 707,
          "horizontalAccuracy": 
          "timestamp": "2018-11-30T18:35:24Z"
      }
}
```

L'esecuzione di questo comando non produce output. Per visualizzare le informazioni sulla posizione specificate, utilizzare l'operazione API `GetResourcePosition`.

### Ottenimento delle informazioni su posizione e configurazione
<a name="lorawan-location-devices-api-get"></a>

Per ottenere le informazioni sulla posizione per un determinato dispositivo wireless, utilizzare l'API [GetResourcePosition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourcePosition.html) o il comando [get-resource-position](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-resource-position.html) della CLI. Specifica `WirelessDevice` come `resourceType` e immetti l'ID del dispositivo wireless come `resourceIdentifier`.

```
aws iotwireless get-resource-position \ 
    --resource-type WirelessDevice \ 
    --resource-id "1ffd32c8-8130-4194-96df-622f072a315f"
```

L'esecuzione di questo comando visualizza le informazioni sulla posizione del dispositivo wireless come un payload GeoJSON. Saranno visualizzate le informazioni sulle coordinate della posizione, il tipo di posizione e le proprietà che includono le informazioni sulla precisione e il timestamp che corrisponde all'ultima posizione nota del dispositivo.

```
{ 
     "type": "Point",
     "coordinates": [33.3318, -22.2155, 13.123],
     "properties": {
          "verticalAccuracy": 707,
          "horizontalAccuracy": 389,
          "horizontalConfidenceLevel": 0.68,
          "verticalConfidenceLevel": 0.68,
          "timestamp": "2018-11-30T18:35:24Z"
      }
}
```

# Gestione dei gateway con Wireless AWS IoT
<a name="lorawan-manage-gateways"></a>

Di seguito sono riportate alcune considerazioni importanti quando si utilizzano i gateway con AWS IoT Core per LoRaWAN. Per informazioni su come aggiungere il tuo gateway al AWS IoT Core per LoRaWAN, consulta [Integrare i gateway per AWS IoT Core per LoRaWAN](lorawan-onboard-gateways.md). 

## Requisiti software LoRa Basics Station
<a name="lorawan-lora-basics-station"></a>

Per connettersi ad AWS IoT Core per LoRaWAN, il gateway LoRaWAN deve avere un software chiamato [LoRa Basics Station](https://doc.sm.tc/station) in esecuzione. LoRa Basics Station è un software open source che viene gestito da Semtech Corporation e distribuito dalla loro repository [GitHub](https://github.com/lorabasics/basicstation). AWS IoT Core per LoRaWAN supporta LoRa Basics Station versione 2.0.4 e quelle successive. La versione più recente è la 2.0.6.

## Utilizzo di gateway qualificati dal Catalogo dei dispositivi dei partner di AWS
<a name="lorawan-qualified-gateways"></a>

Il [Catalogo dei dispositivi dei partner AWS](https://devices.amazonaws.com/search?page=1&sv=iotclorawan) contiene gateway e kit di sviluppo qualificati per l'utilizzo con AWS IoT Core per LoRaWAN. Si consiglia di utilizzare questi gateway qualificati perché non è necessario modificare il software di incorporamento per la connessione dei gateway ad AWS IoT Core. Questi gateway dispongono già di una versione del software BasicStation compatibile con AWS IoT Core per LoRaWAN.

**Nota**  
Se disponi di un gateway non elencato nel Catalogo partner come gateway qualificato con AWS IoT Core per LoRaWAN, potresti ancora utilizzarlo se il gateway esegue il software LoRa Basics Station con la versione 2.0.4 e quelle successive. Assicurati di utilizzare **Autenticazione client e server TLS** per l'autenticazione del gateway LoRaWAN.

## Utilizzo di protocolli CUPS e LNS
<a name="lorawan-cups-lns-protocols"></a>

Il software LoRa Basics Station contiene due protocolli secondari per la connessione di gateway a server di rete, protocolli LoRaWAN Network Server (LNS) e Configuration and Update Server (CUPS).

Il protocollo LNS stabilisce una connessione dati tra un gateway compatibile LoRa Basics Station e un server di rete. I messaggi di uplink e downlink LoRa vengono scambiati tramite questa connessione dati tramite WebSockets sicuri.

Il protocollo CUPS abilita la gestione delle credenziali e la configurazione remota e l'aggiornamento del firmware dei gateway. AWS IoT Core per LoRaWAN fornisce endpoint LNS e CUPS rispettivamente per l'importazione di dati LoRaWAN e la gestione remota del gateway.

Per ulteriori informazioni, consulta [Protocollo LNS](https://doc.sm.tc/station/tcproto.html) e [Protocollo CUPS](https://doc.sm.tc/station/cupsproto.html).

**Topics**
+ [Requisiti software LoRa Basics Station](#lorawan-lora-basics-station)
+ [Utilizzo di gateway qualificati dal Catalogo dei dispositivi dei partner di AWS](#lorawan-qualified-gateways)
+ [Utilizzo di protocolli CUPS e LNS](#lorawan-cups-lns-protocols)
+ [Configurazione delle funzionalità di beaconing e filtraggio dei gateway LoRaWAN](lorawan-gateway-configure.md)
+ [Aggiornare il firmware del gateway utilizzando il servizio CUPS con AWS IoT Core per LoRaWAN](lorawan-update-firmware.md)
+ [Scelta dei gateway per ricevere il traffico dati in downlink LoRaWAN](lorawan-gateway-participate.md)

# Configurazione delle funzionalità di beaconing e filtraggio dei gateway LoRaWAN
<a name="lorawan-gateway-configure"></a>

Quando si utilizzano dispositivi LoRaWAN, è possibile configurare alcuni parametri opzionali per i gateway LoRaWAN. I parametri includono:
+ 

**Beaconing**  
È possibile configurare i parametri di beaconing per i gateway LoRaWAN che fungono da bridge per i dispositivi LoRaWAN di classe B. Questi dispositivi ricevono un messaggio di downlink nelle fasce orarie pianificate, pertanto è necessario configurare i parametri di beaconing affinché i gateway trasmettano questi beacon sincronizzati nel tempo.
+ 

**Filtraggio**  
È possibile configurare i parametri `NetID` e `JoinEUI` per i gateway LoRaWAN per filtrare il traffico dati del dispositivo. Il filtraggio del traffico aiuta a preservare l'utilizzo della larghezza di banda e riduce il flusso di traffico tra gateway e LNS.
+ 

**Sottobande**  
È possibile configurare le sottobande del gateway per specificare la particolare sottobanda che si desidera utilizzare. Per i dispositivi wireless che non possono passare da una sottobanda all'altra, è possibile utilizzare questa funzionalità per comunicare con i dispositivi utilizzando solo i canali di frequenza in quella particolare sottobanda.

I seguenti argomenti contengono ulteriori informazioni su questi parametri e su come configurarli. I parametri di beaconing non sono disponibili nella Console di gestione AWS e possono essere specificato solo mediante l'API Wireless AWS IoT API o l'AWS CLI.

**Topics**
+ [Configurazione dei gateway per inviare beacon a dispositivi di classe B](lorawan-gateway-beaconing.md)
+ [Configurare le sottobande e le funzionalità di filtraggio del gateway](lorawan-subband-filter-configuration.md)

# Configurazione dei gateway per inviare beacon a dispositivi di classe B
<a name="lorawan-gateway-beaconing"></a>

Se si installano dispositivi wireless di classe B su AWS IoT Core per LoRaWAN, i dispositivi ricevono messaggi di downlink in intervalli temporali programmati. I dispositivi aprono questi intervalli in base a beacon sincronizzati nel tempo che vengono trasmessi dal gateway. Affinché i gateway trasmettano questi beacon sincronizzati nel tempo, è possibile usare AWS IoT Core per LoRaWAN per configurare determinati parametri relativi ai beacon per i gateway.

Per configurare questi parametri di beaconing, il gateway deve eseguire la versione del software LoRa Basics Station versione 2.0.6. Per informazioni, consulta [Utilizzo di gateway qualificati dal Catalogo dei dispositivi dei partner di AWS](lorawan-manage-gateways.md#lorawan-qualified-gateways).

## Come configurare i parametri di beaconing
<a name="lorawan-beaconing-configure"></a>

**Nota**  
È necessario configurare i parametri di beaconing per il gateway solo se comunica con un dispositivo wireless di classe B.

I parametri di beaconing vengono configurati quando si aggiunge il gateway a AWS IoT Core per LoRaWAN mediante l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html). Quando si richiama l'operazione API, specificare i seguenti parametri utilizzando l'oggetto `Beaconing` per i gateway. Dopo aver configurato i parametri, i gateway invieranno i beacon ai dispositivi a intervalli di 128 secondi.
+ `DataRate`: la velocità dei dati dei gateway che trasmettono i beacon.
+ `Frequencies`: l'elenco delle frequenze con cui i gateway trasmettono i beacon.

L'esempio seguente mostra come configurare tali parametri per il gateway. Il file `input.json` conterrà ulteriori dettagli, ad esempio il certificato del gateway e le credenziali di provisioning. Per ulteriori informazioni sull'aggiunta di gateway a AWS IoT Core per LoRaWAN mediante l'operazione API `CreateWirelessGateway`, consulta [Aggiungi un gateway utilizzando l'API](lorawan-onboard-gateway-add.md#lorawan-onboard-gateway-api).

**Nota**  
I parametri di beaconing non sono disponibili quando si aggiunge il gateway a AWS IoT Core per LoRaWAN mediante la console AWS IoT.

```
aws iotwireless create-wireless-gateway \
    --name "myLoRaWANGateway" \        
    --cli-input-json file://input.json
```

Nell'esempio seguente viene mostrato il contenuto del file `input.json`.

**Contenuto di input.json**

```
{ 
    "Description": "My LoRaWAN gateway",
    "LoRaWAN": {
        "Beaconing": { 
          "DataRate": 8,
          "Frequencies": ["923300000","923900000"]
        },
        "GatewayEui": "a1b2c3d4567890ab",
        "RfRegion": US915, 
        "JoinEuiFilters": [ 
         ["0000000000000001", "00000000000000ff"], 
         ["000000000000ff00", "000000000000ffff"] 
         ], 
        "NetIdFilters": ["000000", "000001"], 
        "RfRegion": "US915", 
        "SubBands": [2] 
    }     
}
```

Il seguente codice mostra l'output dell'esecuzione del comando.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:400232685877aa:WirelessGateway/a01b2c34-d44e-567f-abcd-0123e445663a",
    "Id": a01b2c34-d44e-567f-abcd-0123e445663a"
}
```

## Ottenimento delle informazioni sui parametri di beaconing
<a name="lorawan-beaconing-get"></a>

È possibile ottenere informazioni sui parametri di beaconing per il gateway utilizzando l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessGateway.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessGateway.html).

**Nota**  
Se un gateway è già stato integrato, non è possibile utilizzare l'operazione API `UpdateWirelessGateway` per configurare i parametri di beaconing. Per configurare i parametri, è necessario eliminare il gateway e quindi specificare i parametri quando si aggiunge il gateway mediante l'operazione API `CreateWirelessGateway`.

```
aws iotwireless get-wireless-gateway \
    --identifier "12345678-a1b2-3c45-67d8-e90fa1b2c34d" \
    --identifier-type WirelessGatewayId
```

L'esecuzione di questo comando restituisce informazioni sul gateway e sui parametri di beaconing.

# Configurare le sottobande e le funzionalità di filtraggio del gateway
<a name="lorawan-subband-filter-configuration"></a>

I gateway LoRaWAN eseguono un software [LoRa Basics Station](https://doc.sm.tc/station) che abilita ai gateway di connettersi ad AWS IoT Core per LoRaWAN. Per connettersi ad AWS IoT Core per LoRaWAN, il tuo gateway LoRa interroga innanzitutto il server CUPS per l'endpoint LNS, quindi stabilisce una connessione dati WebSockets con tale endpoint. Una volta stabilita la connessione, i frame uplink e downlink possono essere scambiati tramite tale connessione.

## Filtro dei frame dati LoRa ricevuti dal gateway
<a name="lorawan-frequency-channels-subbands"></a>

Dopo che il gateway LoRaWAN ha stabilito una connessione all'endpoint, AWS IoT Core per LoRaWAN risponde con un `router_config` messaggio che specifica un insieme di parametri per la configurazione del gateway LoRa, inclusi i parametri di filtraggio `NetID` e `JoinEui`. Per ulteriori informazioni su `router_config` e come viene stabilita una connessione con il server di rete LoRaWAN (LNS), consulta [Protocollo LNS](https://doc.sm.tc/station/tcproto.html).

```
{
"msgtype"    : "router_config"
"NetID"      : [ INT, .. ]
"JoinEui"    : [ [INT,INT], .. ] // ranges: beg,end inclusive
"region"     : STRING             // e.g. "EU863", "US902", ..
"hwspec"     : STRING
"freq_range" : [ INT, INT ]       // min, max (hz)
"DRs"        : [ [INT,INT,INT], .. ]   // sf,bw,dnonly
"sx1301_conf": [ SX1301CONF, .. ]
"nocca"      : BOOL
"nodc"       : BOOL
"nodwell"    : BOOL
}
```

I gateway trasportano i dati dei dispositivi LoRaWAN da e verso LNS, di solito su reti ad alta larghezza di banda come Wi-Fi, Ethernet o Cellular. Di solito i gateway raccolgono tutti i messaggi e passano attraverso il traffico che arriva ad essi tramite AWS IoT Core per LoRaWAN. Tuttavia, è possibile configurare i gateway per filtrare parte del traffico dati del dispositivo, il che aiuta a preservare l'utilizzo della larghezza di banda e riduce il flusso di traffico tra gateway e LNS.

Per configurare il gateway LoRa per filtrare i frame di dati, è possibile utilizzare i parametri `NetID` e `JoinEui` nel messaggio `router_config`. `NetID` è un elenco di valori NetID accettati. Qualsiasi frame di dati LoRa contenente un frame di dati diverso da quelli elencati verrà eliminato. `JoinEui` è un elenco di coppie di valori interi che codificano intervalli di valori JoinEUI. I frame di richiesta di join verranno eliminati dal gateway a meno che il campo nel messaggio `JoinEui` sia all'interno dell'intervallo [BegEui,EndEui].

## Canali di frequenza e sottobande
<a name="lorawan-frequency-channels-subbands"></a>

Per le regioni RF US915 e AU915, i dispositivi wireless hanno una scelta di 64 canali di uplink 125 kHz e 8 500 kHz per accedere alle reti LoRaWAN utilizzando i gateway LoRa. I canali di frequenza uplink sono divisi in 8 sottobande, ciascuna con 8 canali 125kHz e un canale da 500 kHz. Per ogni gateway normale nella regione AU915, saranno supportate una o più sottobande.

Alcuni dispositivi wireless non possono passare tra le sottobande e utilizzare i canali di frequenza in una sola sottobanda quando sono connessi ad AWS IoT Core per LoRaWAN. Affinché i pacchetti uplink vengano trasmessi da tali dispositivi, configura i gateway LoRa per utilizzare quella particolare sottobanda. Per i gateway in altre regioni RF, come EU868, questa configurazione non è necessaria.

## Come configurare il gateway affinché utilizzi filtri e sottobande utilizzando la console
<a name="lorawan-configure-gateway-channels-console"></a>

È possibile configurare il gateway per utilizzare una particolare sottobanda e abilitare anche la capacità di filtrare i frame di dati LoRa. Per specificare questi parametri utilizzando la console:

1. Passa alla pagina [AWS IoT Core per LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/gateways) **Gateway** della console AWS IoT e scegli **Aggiungi gateway**.

1. Specifica i dettagli del gateway, ad esempio **Eui di Gateway**, **Banda di frequenza (RFRegion)**, un **Nome** opzionale, una **Descrizione** e scegli se associare un oggetto AWS IoT al gateway. Per informazioni su come aggiungere un gateway, consulta [Aggiungere un gateway utilizzando la console](lorawan-onboard-gateway-add.md#lorawan-onboard-gateway-console).

1. Nella sezione **LoRaWAN configuration (Configurazione LoRaWAN)**, è possibile specificare le sottobande e le informazioni di filtraggio.
   + `SubBands`: per aggiungere una sottobanda, scegli **Add SubBand (Aggiungi sottobanda)** e specifica un elenco di valori interi che indicano quali sottobande sono supportate dal gateway. Il parametro `SubBands` può essere configurato solo nelle `RfRegion` US915 e AU915 e devono avere valori nell'intervallo `[1,8]` in una di queste regioni supportate.
   + `NetIdFilters`: per filtrare i fotogrammi uplink, scegli **Add NetId (Aggiungi NetID)** e specifica un elenco di valori stringa utilizzati dal gateway. Il NetID del frame uplink in entrata dal dispositivo wireless deve corrispondere ad almeno uno dei valori elencati, altrimenti il fotogramma viene eliminato.
   + `JoinEuiFilters`: scegli **Add JoinEui range (Aggiungi l'intervallo JoinEUI)** e specifica un elenco di coppie di valori stringa utilizzati da un gateway per filtrare i frame LoRa. Il valore JoinEUI specificato come parte della richiesta di join dal dispositivo wireless deve essere compreso nell'intervallo di almeno uno dei valori joinEuiRange, ciascuno elencato come una coppia di [BegEui, EndEui], altrimenti il frame viene eliminato.

1. È quindi possibile continuare a configurare il gateway seguendo le istruzioni descritte in [Aggiungere un gateway utilizzando la console](lorawan-onboard-gateway-add.md#lorawan-onboard-gateway-console).

Dopo aver aggiunto un gateway, nella pagina [AWS IoT Core per LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/gateways) **Gateway** della console AWS IoT, se selezioni il gateway aggiunto, è possibile visualizzare le `SubBands` e filtri `NetIdFilters` e `JoinEuiFilters` nella sezione **Dettagli specifici di LoRaWAN** della pagina dei dettagli del gateway.

## Come configurare il gateway affinché utilizzi filtri e sottobande tramite l'API
<a name="lorawan-configure-gateway-channels-api"></a>

Puoi utilizzare l’API [CreateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html) utilizzata per creare un gateway per configurare le sottobande che desideri utilizzare e abilitare la funzionalità di filtraggio. Utilizzando dell’API `CreateWirelessGateway`, è possibile specificare le sottobande e i filtri come parte delle informazioni di configurazione del gateway fornite utilizzando il campo `LoRaWAN`. Di seguito viene illustrato il token di richiesta che include queste informazioni.

```
POST /wireless-gateways HTTP/1.1
Content-type: application/json

{
"Arn": "arn:aws:iotwireless:us-east-1:400232685877aa:WirelessGateway/
       a11e3d21-e44c-471c-afca-6716c228336a",
"Description": "Using my first LoRaWAN gateway",
   "LoRaWAN": { 
      "GatewayEui": "a1b2c3d4567890ab",
      "JoinEuiFilters": [
        ["0000000000000001", "00000000000000ff"],
        ["000000000000ff00", "000000000000ffff"]
      ],
      "NetIdFilters": ["000000", "000001"],
      "RfRegion": "US915",
      "SubBands": [2]
   },
   "Name": "myFirstLoRaWANGateway"  
   "ThingArn": null,
   "ThingName": null
}
```

È possibile utilizzare anche l'API [UpdateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessGateway.html) per aggiornare i filtri ma non le sottobande. Se i valori `JoinEuiFilters` e `NetIdfilters` sono nulli, significa che non c'è alcun aggiornamento per i campi. Se i valori non sono nulli e vengono inclusi elenchi vuoti, viene applicato l'aggiornamento. Per ottenere i valori dei campi specificati, utilizza l'API [GetWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessGateway.html).

# Aggiornare il firmware del gateway utilizzando il servizio CUPS con AWS IoT Core per LoRaWAN
<a name="lorawan-update-firmware"></a>

Il software [LoRa Basics Station](https://doc.sm.tc/station) che viene eseguito sul gateway fornisce la gestione delle credenziali e l'interfaccia di aggiornamento del firmware utilizzando il protocollo CUPS (Configuration and Update Server). Il protocollo CUPS fornisce un aggiornamento sicuro del firmware con firme ECDSA.

Dovrai aggiornare frequentemente il firmware del gateway. È possibile utilizzare il servizio CUPS con AWS IoT Core per LoRaWAN per fornire aggiornamenti firmware al gateway dove gli aggiornamenti possono anche essere firmati. Per aggiornare il firmware del gateway, è possibile utilizzare l'SDK o la CLI ma non la console. 

Il completamento del processo può richiedere fino a 45 minuti. Può richiedere più tempo se si configura il gateway per la prima volta per connettersi ad AWS IoT Core per LoRaWAN. I produttori di gateway di solito forniscono i propri file di aggiornamento del firmware e le firme in modo da poterli utilizzare e procedere a [Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM](lorawan-upload-firmware-s3bucket.md).

Se non disponi dei file di aggiornamento del firmware, consulta [Genera il file di aggiornamento del firmware e la firma](lorawan-script-fwupdate-sigkey.md) per un esempio che è possibile utilizzare per adattarsi alla propria applicazione.

**Topics**
+ [Genera il file di aggiornamento del firmware e la firma](lorawan-script-fwupdate-sigkey.md)
+ [Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM](lorawan-upload-firmware-s3bucket.md)
+ [Pianifica ed esegui l'aggiornamento del firmware utilizzando una definizione di processo](lorawan-schedule-firmware-update.md)

# Genera il file di aggiornamento del firmware e la firma
<a name="lorawan-script-fwupdate-sigkey"></a>

I passaggi descritti in questa procedura sono facoltativi e dipendono dal gateway utilizzato. I produttori di gateway forniscono il proprio aggiornamento del firmware sotto forma di file di aggiornamento o script e Basics Station esegue questo script in background. In questo caso, molto probabilmente troverai il file di aggiornamento del firmware nelle note di rilascio del gateway che stai utilizzando. È quindi possibile utilizzare il file o lo script di aggiornamento e procedere a [Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM](lorawan-upload-firmware-s3bucket.md).

Se non si dispone di questo script, di seguito vengono mostrati i comandi da eseguire per la generazione del file di aggiornamento del firmware. Gli aggiornamenti possono anche essere firmati per garantire che il codice non sia stato alterato o danneggiato e che i dispositivi eseguano codici pubblicati solo da autori attendibili.

**Topics**
+ [Generare il file di aggiornamento del firmware](#lorawan-firmware-update-script)
+ [Generare firma per l'aggiornamento del firmware](#lorawan-generate-signature-fwupdate)
+ [Esamina i passaggi successivi](#lorawan-fwupdate-sigkey-next-steps)

## Generare il file di aggiornamento del firmware
<a name="lorawan-firmware-update-script"></a>

Il software LoRa Basics Station in esecuzione sul gateway è in grado di ricevere aggiornamenti firmware nella risposta CUPS. Se non disponi di uno script fornito dal produttore, fai riferimento al seguente script di aggiornamento del firmware scritto per il gateway RAKWireless basato su Raspberry Pi. Abbiamo uno script di base e la nuova stazione binaria, il file di versione, e `station.conf` sono collegati ad esso.

**Nota**  
Lo script è specifico del gateway RAKWireless, quindi dovrai adattarlo alla tua applicazione in base al gateway che stai utilizzando.

**Script di base**  
Di seguito uno script di base di esempio per il gateway RAKWireless basato su Raspberry Pi. È possibile salvare i seguenti comandi in un file `base.sh` e quindi eseguire lo script nel terminale sul browser web di Raspberry Pi.

```
*#!/bin/bash*
execution_folder=/home/pi/Documents/basicstation/examples/aws_lorawan
station_path="$execution_folder/station"
version_path="$execution_folder/version.txt"
station_conf_path="$execution_folder/station_conf"

# Function to find the Basics Station binary at the end of this script 
# and store it in the station path
function prepare_station()
{
 match=$(grep --text --line-number '^STATION:$' $0 | cut -d ':' -f 1) 
 payload_start=$((match + 1)) 
 match_end=$(grep --text --line-number '^END_STATION:$' $0 | cut -d ':' -f 1) 
 payload_end=$((match_end - 1)) 
 lines=$(($payload_end-$payload_start+1)) 
 head -n $payload_end $0 | tail -n $lines  > $station_path
}

# Function to find the version.txt at the end of this script 
# and store it in the location for version.txt
function prepare_version()
{
  match=$(grep --text --line-number '^VERSION:$' $0 | cut -d ':' -f 1) 
  payload_start=$((match + 1))        
  match_end=$(grep --text --line-number '^END_VERSION:$' $0 | cut -d ':' -f 1) 
  payload_end=$((match_end - 1)) 
  lines=$(($payload_end-$payload_start+1)) 
  head -n $payload_end $0 | tail -n $lines  > $version_path
}

# Function to find the version.txt at the end of this script 
# and store it in the location for version.txt
function prepare_station_conf()
{
 match=$(grep --text --line-number '^CONF:$' $0 | cut -d ':' -f 1) 
 payload_start=$((match + 1)) 
 match_end=$(grep --text --line-number '^END_CONF:$' $0 | cut -d ':' -f 1) 
 payload_end=$((match_end - 1)) 
 lines=$(($payload_end-$payload_start+1)) 
 head -n $payload_end $0 | tail -n $lines  > $station_conf_path
}

# Stop the currently running Basics station so that it can be overwritten
# by the new one
killall station

# Store the different files
prepare_station
prepare_versionp
prepare_station_conf

# Provide execute permission for Basics station binary
chmod +x $station_path

# Remove update.bin so that it is not read again next time Basics station starts
rm -f /tmp/update.bin

# Exit so that rest of this script which has binaries attached does not get executed
exit 0
```

**Aggiungere script payload**  
Allo script di base, aggiungiamo il binario Basics Station, il version.txt che identifichi la versione a cui aggiornare, e `station.conf` in uno script chiamato `addpayload.sh`. Quindi, esegui questo script.

```
*#!/bin/bash
*
base.sh > fwstation

# Add station
echo "STATION:" >> fwstation
cat $1 >> fwstation
echo "" >> fwstation
echo "END_STATION:" >> fwstation

# Add version.txt
echo "VERSION:" >> fwstation
cat $2 >> fwstation
echo "" >> fwstation
echo "END_VERSION:" >> fwstation

# Add station.conf
echo "CONF:" >> fwstation
cat $3 >> fwstation
echo "END_CONF:" >> fwstation

# executable
chmod +x fwstation
```

Dopo aver eseguito questi script, è possibile eseguire il seguente comando nel terminale per generare il file di aggiornamento del firmware, `fwstation`.

```
$ ./addpayload.sh station version.txt station.conf
```

## Generare firma per l'aggiornamento del firmware
<a name="lorawan-generate-signature-fwupdate"></a>

Il software LoRa Basics Station fornisce aggiornamenti firmware firmati con firme ECDSA. Per supportare gli aggiornamenti firmati, è necessario:
+ La firma che deve essere generata da una chiave privata ECDSA e meno di 128 byte. 
+ La chiave privata utilizzata per la firma e che deve essere memorizzata nel gateway con il nome file del formato `sig-%d.key`. Si consiglia di utilizzare il nome del file `sig-0.key`.
+ Un CRC a 32 bit sulla chiave privata.

La firma e il CRC saranno passati alle API AWS IoT Core per LoRaWAN. Per generare i file precedenti, è possibile utilizzare il seguente script `gen.sh` che si ispira all’esempio [ basicstation](https://github.com/lorabasics/basicstation/blob/master/examples/cups/prep.sh) nel repository GitHub.

```
*#!/bin/bash

*function ecdsaKey() {
    # Key not password protected for simplicity    
    openssl ecparam -name prime256v1 -genkey | openssl ec -out $1
}

# Generate ECDSA key
ecdsaKey sig-0.prime256v1.pem

# Generate public key
openssl ec -in sig-0.prime256v1.pem -pubout -out sig-0.prime256v1.pub

# Generate signature private key
openssl ec -in sig-0.prime256v1.pub -inform PEM -outform DER -pubin | tail -c 64 > sig-0.key

# Generate signature
openssl dgst -sha512 -sign sig-0.prime256v1.pem $1 > sig-0.signature

# Convert signature to base64
openssl enc -base64 -in sig-0.signature -out sig-0.signature.base64

# Print the crc
crc_res=$(crc32 sig-0.key)printf "The crc for the private key=%d\n" $((16#$crc_res))

# Remove the generated files which won't be needed later
rm -rf sig-0.prime256v1.pem sig-0.signature sig-0.prime256v1.pub
```

La chiave privata generata dallo script dovrebbe essere salvata nel gateway. Il file chiave è in formato binario.

```
./gen_sig.sh fwstation 
read EC key
writing EC key
read EC key
writing EC key
read EC key
writing EC key
The crc for the private key=3434210794

$ cat sig-0.signature.base64 
MEQCIDPY/p2ssgXIPNCOgZr+NzeTLpX+WfBo5tYWbh5pQWN3AiBROen+XlIdMScv
AsfVfU/ZScJCalkVNZh4esyS8mNIgA==

$ ls sig-0.key
sig-0.key

$ scp sig-0.key pi@192.168.1.11:/home/pi/Documents/basicstation/examples/iotwireless
```

## Esamina i passaggi successivi
<a name="lorawan-fwupdate-sigkey-next-steps"></a>

Ora che hai generato il firmware e la firma, vai all'argomento successivo per caricare il file del firmware `fwstation` per un bucket Amazon S3. Il bucket è un container che memorizza il file di aggiornamento del firmware come oggetto. È possibile aggiungere un ruolo IAM che consentirà al server CUPS l'autorizzazione per leggere il file di aggiornamento del firmware nel bucket S3. 

# Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM
<a name="lorawan-upload-firmware-s3bucket"></a>

Puoi utilizzare Amazon S3 per creare un *bucket*, che è un container in grado di archiviare il file di aggiornamento del firmware. È possibile caricare il file nel bucket S3 e aggiungere un ruolo IAM che permette al server CUPS di leggere il file di aggiornamento dal bucket. Per ulteriori informazioni su Amazon S3, consulta [ Nozioni di base su Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html). 

Il file di aggiornamento del firmware che si desidera caricare dipende dal gateway in uso. Se è stata eseguita una procedura simile a quella descritta in [Genera il file di aggiornamento del firmware e la firma](lorawan-script-fwupdate-sigkey.md), caricherai il `fwstation` generato eseguendo gli script.

Questa procedura dura circa 20 minuti.

**Topics**
+ [Crea un bucket Amazon S3 e carica il file di aggiornamento](#lorawan-create-s3-bucket)
+ [Crea un ruolo IAM con autorizzazioni per leggere il bucket S3](#lorawan-s3-iam-permissions)
+ [Esamina i passaggi successivi](#lorawan-s3iam-next-steps)

## Crea un bucket Amazon S3 e carica il file di aggiornamento
<a name="lorawan-create-s3-bucket"></a>

Creerai un bucket Amazon S3 utilizzando la Console di gestione AWS, quindi caricherai il file di aggiornamento del firmware nel bucket.

**Creare un bucket S3**  
Per creare un bucket S3, apri la [Amazon S3 console](https://console.aws.amazon.com/s3/home#). Accedi se non lo hai già fatto e quindi esegui il passaggio seguente:

1. Seleziona **Crea bucket**.

1. Inserisci un nome univoco e significativo per il **Nome bucket**, (ad esempio, `iotwirelessfwupdate`). Per la convenzione di denominazione consigliata per il bucket, consulta [https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).

1. Assicurati di aver selezionato Regione AWS come quello usato per creare il gateway e il dispositivo LoRaWAN, e che l’impostazione **Block all public access (Blocca tutti gli accessi pubblici)** sia selezionata in modo che il bucket utilizzi le autorizzazioni predefinite.

1. Scegli **Enable (Abilita)** per **Bucket versioning (Controllo delle versioni bucket)** che ti aiuterà a mantenere più versioni del file di aggiornamento firmware nello stesso bucket.

1. Conferma che **Server-side encryption (Crittografia lato server)** è impostato su **Disable (Disabilita)** e scegli **Create bucket (Crea bucket)**.

**Carica il file di aggiornamento del firmware**  
Ora puoi visualizzare il bucket nell'elenco dei bucket visualizzato nella Console di gestione AWS. Scegli il tuo bucket e completa i seguenti passaggi per caricare il file.

1. Scegli il bucket e poi **Upload (Carica)**. 

1. Scegli **Add file (Aggiungi file)** e carica il file di aggiornamento del firmware. Se hai seguito la procedura descritta in [Genera il file di aggiornamento del firmware e la firma](lorawan-script-fwupdate-sigkey.md), caricherai il `fwstation`, altrimenti carica il file fornito dal produttore del gateway.

1. Assicurati che tutte le impostazioni siano impostate sul valore predefinito. Assicurati che **Predefined ACLs (ACL predefiniti)** sia impostato su **private (privato)** e scegli **Upload (Caricamento)** per caricare il file.

1. Copia l'URI S3 del file caricato. Scegli il tuo bucket e vedrai il file che hai caricato visualizzato nell'elenco di **Objects (Oggetti)**. Scegli il file e poi **Copy S3 URI (Copiare URI S3)**. L'URI sarà: `s3://iotwirelessfwupdate/fwstation` se hai chiamato il tuo bucket in modo simile all'esempio descritto in precedenza (`fwstation`). Utilizza l'URI S3 durante la creazione del ruolo IAM.

## Crea un ruolo IAM con autorizzazioni per leggere il bucket S3
<a name="lorawan-s3-iam-permissions"></a>

Verrà ora creato un ruolo e una policy IAM che darà a CUPS l'autorizzazione a leggere il file di aggiornamento del firmware dal bucket S3.

**Creare una policy IAM per il tuo ruolo**  
Per creare una policy IAM per il tuo ruolo di destinazione AWS IoT Core per LoRaWAN, apri [ Hub policy della console IAM)](https://console.aws.amazon.com/iam/home#/policies) quindi completa questi passaggi:

1. Scegli **Create policy (Crea policy)**, quindi scegli la scheda **JSON**.

1. Elimina qualsiasi contenuto dall'editor e incolla il documento relativo alla policy. La policy fornisce le autorizzazioni per accedere al bucket `iotwireless` e il file di aggiornamento del firmware `fwstation` memorizzato all'interno di un oggetto.

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucketVersions",
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::iotwirelessfwupdate/fwstation",
                   "arn:aws:s3:::iotwirelessfwupdate"
               ]
           }
       ]
   }
   ```

1. Scegli **Review policy (Rivedi la policy)** e in **Name (Nome)**, inserisci un nome per questa policy (ad esempio, `IoTWirelessFwUpdatePolicy`). Dovrai utilizzare questo nome nella procedura successiva.

1. Scegli **Crea policy**.

**Creare un ruolo IAM e collegarvi la policy**  
Ora creerai un ruolo IAM e lo collegherai alla policy creata in precedenza per accedere al bucket S3. Apri [ Roles hub of the IAM console (Hub ruoli della console IAM)](https://console.aws.amazon.com/iam/home#/roles) e completa la procedura seguente:

1. Scegli **Crea ruolo**.

1. In **Seleziona tipo di entità attendibile**, scegli **Altro Account AWS**.

1. In **Account ID (ID account)**, inserisci il tuo account Account AWS ID, quindi scegli **Next: Permissions (Successivo: autorizzazioni)**.

1. Nella casella di ricerca, immetti il nome della policy IAM creata nella procedura precedente. Controlla la policy IAM (ad esempio, `IoTWirelessFwUpdatePolicy`) creata in precedenza nei risultati della ricerca e sceglila.

1. Scegliere **Next: Tags (Successivo: Tag)**, quindi **Next: Review (Successivo: Verifica)**.

1. Per **Role Name (Nome ruolo)**, immetti un nome per il ruolo, ad esempio `IoTWirelessFwUpdateRole`, quindi scegli **Create role (Crea ruolo)**.

**Modifica la relazione di fiducia per il ruolo IAM**  
Nel messaggio di conferma visualizzato dopo avere eseguito il passaggio precedente, scegli il nome del ruolo creato per modificarlo. Modificherai il ruolo per aggiungere la seguente relazione di trust.

1. Nella sezione **Summary (Riepilogo)** del ruolo creato in precedenza, scegli la scheda **Trust Relationships (Relazioni di trust)**, quindi scegli **Edit Trust Relationship (Modifica relazione di trust)**.

1. In **Policy Document (Documento policy)**, modifica la proprietà di `Principal` affinché appaia come il seguente esempio.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   Dopo aver modificato la proprietà `Principal`, il documento completo di policy dovrebbe essere simile al seguente.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. Per salvare le modifiche e uscire, scegli **Update Trust Policy (Aggiorna policy di attendibilità)**.

1. Ottieni l'ARN per il tuo ruolo. Scegli il tuo ruolo IAM e nella sezione Riepilogo vedrai un **ARN ruolo**, ad esempio `arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole`. Copia questo **ARN Ruolo**.

## Esamina i passaggi successivi
<a name="lorawan-s3iam-next-steps"></a>

Dopo aver creato il bucket S3 e un ruolo IAM che consente al server CUPS di leggere il bucket S3, passa all'argomento successivo per pianificare ed eseguire l'aggiornamento del firmware. Mantieni **S3 URI** e **ARN ruolo** che hai copiato in precedenza, in modo da poterli immettere per creare una definizione di attività che verrà eseguita per eseguire l'aggiornamento del firmware.

# Pianifica ed esegui l'aggiornamento del firmware utilizzando una definizione di processo
<a name="lorawan-schedule-firmware-update"></a>

È possibile utilizzare una definizione di processo per includere dettagli sull'aggiornamento del firmware e definire l'aggiornamento. AWS IoT Core per LoRaWAN fornisce un aggiornamento del firmware basato sulle informazioni dei seguenti tre campi associati al gateway.
+ 

**Station**  
La versione e il tempo di compilazione del software Basics Station. Per identificare queste informazioni, è inoltre possibile generarle utilizzando il software Basics Station che viene eseguito dal gateway (ad esempio, `2.0.5(rpi/std) 2021-03-09 03:45:09`).
+ 

**PackageVersion**  
La versione del firmware, specificata dal file `version.txt` nel gateway. Anche se queste informazioni potrebbero non essere presenti nel gateway, è consigliabile utilizzarle come metodo per definire la versione del firmware (ad esempio, `1.0.0`).
+ 

**Modello**  
La piattaforma o il modello utilizzato dal gateway (ad esempio, Linux).

Questa procedura richiede 20 minuti.

**Topics**
+ [Scarica la versione corrente in esecuzione sul tuo gateway](#lorawan-gateway-current-version)
+ [Creare una definizione di attività Wireless gateway](#lorawan-create-task-definition)
+ [Esegui il processo di aggiornamento del firmware e monitora l'avanzamento](#lorawan-run-fwupdate-task)

## Scarica la versione corrente in esecuzione sul tuo gateway
<a name="lorawan-gateway-current-version"></a>

Per determinare l'idoneità del gateway per un aggiornamento del firmware, il server CUPS controlla tutti e tre i campi `Station`, `PackageVersion` e `Model`, per una corrispondenza quando il gateway li presenta durante una richiesta CUPS. Quando si utilizza una definizione di attività, questi campi vengono memorizzati come parte del campo `CurrentVersion`.

Puoi utilizzare l'API AWS IoT Core per LoRaWAN o AWS CLI per ottenere il `CurrentVersion` per il gateway. I comandi seguenti mostrano come ottenere queste informazioni utilizzando la CLI.

1. Se è già stato eseguito il provisioning di un gateway, è possibile ottenere informazioni sul gateway utilizzando il comando [get-wireless-gateway](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-gateway.html).

   ```
   aws iotwireless get-wireless-gateway \ 
       --identifier 5a11b0a85a11b0a8 \ 
           --identifier-type GatewayEui
   ```

   L'esempio seguente mostra un output di esempio per questo comando.

   ```
   {
       "Name": "Raspberry pi",
       "Id": "1352172b-0602-4b40-896f-54da9ed16b57",
       "Description": "Raspberry pi",
       "LoRaWAN": {
           "GatewayEui": "5a11b0a85a11b0a8",
           "RfRegion": "US915"
       },
       "Arn": "arn:aws:iotwireless:us-east-1:231894231068:WirelessGateway/1352172b-0602-4b40-896f-54da9ed16b57"
   }
   ```

1. Utilizzando l'ID del gateway wireless riportato dal comando `get-wireless-gateway`, puoi utilizzare il comando [get-wireless-gateway-firmware-informazioni](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-gateway-firmware-information.html) per ottenere `CurrentVersion`. 

   ```
   aws iotwireless get-wireless-gateway-firmware-information \
       --id "3039b406-5cc9-4307-925b-9948c63da25b"
   ```

   Di seguito viene mostrato un output di esempio per il comando, con le informazioni provenienti da tutti e tre i campi visualizzati dal `CurrentVersion`.

   ```
   {
       "LoRaWAN": {
           "CurrentVersion": {
               "PackageVersion": "1.0.0",
               "Model": "rpi",
               "Station": "2.0.5(rpi/std) 2021-03-09 03:45:09"
           }
       }
   }
   ```

## Creare una definizione di attività Wireless gateway
<a name="lorawan-create-task-definition"></a>

Quando si crea la definizione dell'attività, si consiglia di specificare la creazione automatica delle attività utilizzando il parametro AutoCreateTasks. `AutoCreateTasks` si applica a qualsiasi gateway che abbia una corrispondenza per tutti e tre i parametri menzionati in precedenza. Se questo parametro è disabilitato, i parametri devono essere assegnati manualmente al gateway.

È possibile creare la definizione del processo del gateway wireless utilizzando l'API AWS IoT Core per LoRaWAN o AWS CLI. I comandi seguenti mostrano come creare la definizione di processo utilizzando la CLI.

1. Crea un file, `input.json`, che conterrà le informazioni da passare all’API `CreateWirelessGatewayTaskDefinition`. Nel file `input.json`, fornisci le informazioni riportate di seguito:
   + 

**UpdateDataSource**  
Fornisci il collegamento all'oggetto contenente il file di aggiornamento del firmware caricato nel bucket S3. (ad esempio, `s3://iotwirelessfwupdate/fwstation`).
   + 

**UpdateDataRole**  
Fornisci il collegamento al ruolo ARN del ruolo IAM creato, che fornisce le autorizzazioni per leggere il bucket S3. (ad esempio, `arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole`).
   + 

**SigKeyCRC e UpdateSignature**  
Queste informazioni potrebbero essere fornite dal produttore del gateway, ma se è stata eseguita la procedura descritta in [Genera il file di aggiornamento del firmware e la firma](lorawan-script-fwupdate-sigkey.md), queste informazioni si trovano quando si genera la firma.
   + 

**CurrentVersion**  
Fornisci il `CurrentVersion` che è stato ottenuto in precedenza eseguendo il comando `get-wireless-gateway-firmware-information `.

     ```
     cat input.json
     ```

     Di seguito viene mostrato il contenuto del file `input.json`.

     ```
     {
         "AutoCreateTasks": true,
         "Name": "FirmwareUpdate",
         "Update":
         {
             "UpdateDataSource" : "s3://iotwirelessfwupdate/fwstation",
             "UpdateDataRole" : "arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole",
             "LoRaWAN" :
             {
                 "SigKeyCrc": 3434210794,
                 "UpdateSignature": "MEQCIDPY/p2ssgXIPNCOgZr+NzeTLpX+WfBo5tYWbh5pQWN3AiBROen+XlIdMScvAsfVfU/ZScJCalkVNZh4esyS8mNIgA==",
                 "CurrentVersion" :
                 {
                 "PackageVersion": "1.0.0",
                 "Model": "rpi",
                 "Station": "2.0.5(rpi/std) 2021-03-09 03:45:09"
                 }
             }
         }
     }
     ```

1. Passa il file `input.json` nel comando [create-wireless-gateway-task-definition](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-gateway-task-definition.html) per creare la definizione dell'attività. 

   ```
   aws iotwireless create-wireless-gateway-task-definition \ 
       --cli-input-json file://input.json
   ```

   Di seguito viene mostrato l'output del comando.

   ```
   {
       "Id": "4ac46ff4-efc5-44fd-9def-e8517077bb12",
       "Arn": "arn:aws:iotwireless:us-east-1:231894231068:WirelessGatewayTaskDefinition/4ac46ff4-efc5-44fd-9def-e8517077bb12"
   }
   ```

## Esegui il processo di aggiornamento del firmware e monitora l'avanzamento
<a name="lorawan-run-fwupdate-task"></a>

Il gateway è pronto per ricevere l'aggiornamento del firmware e, una volta acceso, si connette al server CUPS. Quando il server CUPS trova una corrispondenza nella versione del gateway, pianifica un aggiornamento del firmware.

Un processo è una definizione di processo in corso. Una volta specificata la creazione automatica delle attività impostando `AutoCreateTasks` a `True`, l'attività di aggiornamento del firmware viene avviata non appena viene trovato un gateway corrispondente.

È possibile tenere traccia dello stato di avanzamento dell'attività utilizzando l’API `GetWirelessGatewayTask`. Quando si esegue il comando [get-wireless-gateway-task](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-gateway-task.html) per la prima volta, mostrerà lo stato dell'attività come `IN_PROGRESS`.

```
aws iotwireless get-wireless-gateway-task \ 
    --id 1352172b-0602-4b40-896f-54da9ed16b57
```

Di seguito viene mostrato l'output del comando.

```
{
    "WirelessGatewayId": "1352172b-0602-4b40-896f-54da9ed16b57",
    "WirelessGatewayTaskDefinitionId": "ec11f9e7-b037-4fcc-aa60-a43b839f5de3",
    "LastUplinkReceivedAt": "2021-03-12T09:56:12.047Z",
    "TaskCreatedAt": "2021-03-12T09:56:12.047Z",
    "Status": "IN_PROGRESS"
}
```

Quando si esegue il comando la volta successiva, se l'aggiornamento del firmware ha effetto, mostrerà i campi aggiornati `Package`, `Version` e `Model` e lo stato dell'attività cambia in `COMPLETED`.

```
aws iotwireless get-wireless-gateway-task \ 
    --id 1352172b-0602-4b40-896f-54da9ed16b57
```

Di seguito viene mostrato l'output del comando.

```
{
    "WirelessGatewayId": "1352172b-0602-4b40-896f-54da9ed16b57",
    "WirelessGatewayTaskDefinitionId": "ec11f9e7-b037-4fcc-aa60-a43b839f5de3",
    "LastUplinkReceivedAt": "2021-03-12T09:56:12.047Z",
    "TaskCreatedAt": "2021-03-12T09:56:12.047Z",
    "Status": "COMPLETED"
}
```

In questo esempio, abbiamo mostrato l'aggiornamento del firmware utilizzando il gateway RAKWireless basato su Raspberry Pi. Lo script di aggiornamento del firmware interrompe la BasicStation in esecuzione per archiviare l'aggiornamento `Package`, `Version` e i campi `Model` in modo che BasicStation debba essere riavviato.

```
2021-03-12 09:56:13.108 [CUP:INFO] CUPS provided update.bin
2021-03-12 09:56:13.108 [CUP:INFO] CUPS provided signature len=70 keycrc=37316C36
2021-03-12 09:56:13.148 [CUP:INFO] ECDSA key#0 -> VERIFIED
2021-03-12 09:56:13.148 [CUP:INFO] Running update.bin as background process
2021-03-12 09:56:13.149 [SYS:VERB] /tmp/update.bin: Forked, waiting...
2021-03-12 09:56:13.151 [SYS:INFO] Process /tmp/update.bin (pid=6873) completed
2021-03-12 09:56:13.152 [CUP:INFO] Interaction with CUPS done - next regular check in 10s
```

Se l'aggiornamento del firmware non riesce, viene visualizzato lo stato `FIRST_RETRY` dal server CUPS e il gateway invia la stessa richiesta. Se il server CUPS non è in grado di connettersi al gateway dopo un `SECOND_RETRY`, mostrerà uno stato di `FAILED`.

Dopo l'attività precedente è stata `COMPLETED` o `FAILED`, elimina la vecchia attività utilizzando il comando [delete-wireless-gateway-task](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-wireless-gateway-task.html) prima di avviarne uno nuovo.

```
aws iotwireless delete-wireless-gateway-task \ 
    --id 1352172b-0602-4b40-896f-54da9ed16b57
```

# Scelta dei gateway per ricevere il traffico dati in downlink LoRaWAN
<a name="lorawan-gateway-participate"></a>

Quando si invia un messaggio di downlink da AWS IoT Core per LoRaWAN al dispositivo, è possibile scegliere i gateway che si desidera utilizzare per il traffico di dati in downlink. Per ricevere il traffico in downlink è possibile specificare un singolo gateway o scegliere da un elenco di gateway.

## Come specificare l'elenco dei gateway
<a name="lorawan-participate-how"></a>

È possibile specificare un singolo gateway o l'elenco dei gateway da utilizzare per inviare un messaggio in downlink da AWS IoT Core per LoRaWAN sul proprio dispositivo utilizzando l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html). Quando si richiama l'operazione API, specificare i seguenti parametri utilizzando l'oggetto `ParticipatingGateways` per i gateway. 

**Nota**  
L'elenco dei gateway che si desidera utilizzare non è disponibile nella console AWS IoT. È possibile specificare questo elenco di gateway da utilizzare solo quando si utilizza l'operazione API `SendDataToWirelessDevice` o la CLI.
+ `DownlinkMode`: indica se inviare il messaggio di downlink in modalità sequenziale o simultanea. Per i dispositivi di classe A, specificare `UsingUplinkGateway` per utilizzare solo i gateway scelti dalla precedente trasmissione di messaggi di uplink.
+ `GatewayList`: l'elenco dei gateway che si desidera usare per inviare il traffico dati in downlink. Il payload del downlink verrà inviato ai gateway specificati con la frequenza specificata. Ciò è indicato mediante un elenco di oggetti `GatewayListItem`, formati da coppie `GatewayId` e `DownlinkFrequency`.
+ `TransmissionInterval`: il tempo che AWS IoT Core per LoRaWAN attenderà prima di trasmettere il payload al gateway successivo.

**Nota**  
È possibile specificare questo elenco di gateway da utilizzare solo quando si invia il messaggio di downlink a un dispositivo wireless di classe B o C. Se si utilizza un dispositivo di classe A, il gateway scelto per l'invio del messaggio di uplink verrà utilizzato quando viene inviato un messaggio di downlink al dispositivo.

L'esempio seguente mostra come specificare tali parametri per il gateway. Il file `input.json` conterrà ulteriori dettagli. Per ulteriori informazioni sull'invio di un messaggio di downlink mediante l'operazione API `SendDataToWirelessDevice`, consulta [Eseguire operazioni di accodamento dei messaggi di downlink utilizzando l'API](lorawan-downlink-queue.md#lorawan-downlink-queue-api).

**Nota**  
I parametri per specificare l'elenco dei gateway partecipanti non sono disponibili quando si invia un messaggio di downlink da AWS IoT Core per LoRaWANmediante la console AWS IoT.

```
aws iotwireless send-data-to-wireless-device \
    --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \
    --transmit-mode "1" \
    --payload-data "SGVsbG8gVG8gRGV2c2lt" \
    --cli-input-json file://input.json
```

Nell'esempio seguente viene mostrato il contenuto del file `input.json`.

**Contenuto di input.json**

```
{
    "WirelessMetadata": {
        "LoRaWAN": {
            "FPort": "1", 
            "ParticipatingGateways": {
                "DownlinkMode": "SEQUENTIAL", 
                "TransmissionInterval": 1200,
                "GatewayList": [
                    {
                        "DownlinkFrequency": 100000000,
                        "GatewayID": a01b2c34-d44e-567f-abcd-0123e445663a
                    },
                    {
                        "DownlinkFrequency": 100000101,
                        "GatewayID": 12345678-a1b2-3c45-67d8-e90fa1b2c34d
                    }
                ]
            }
        }
    }
}
```

L'output dell'esecuzione di questo comando genera un `MessageId` per il messaggio di downlink. In alcuni casi, anche se ricevi il `MessageId`, i pacchetti possono essere eliminati. Per ulteriori informazioni su come risolvere l'errore, consulta la sezione [Risoluzione dei problemi relativi alla coda dei messaggi di downlink](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot).

```
{
    MessageId: "6011dd36-0043d6eb-0072-0008"
}
```

## Ottenimento delle informazioni sull'elenco dei gateway partecipanti
<a name="lorawan-participate-get"></a>

È possibile ottenere informazioni sull'elenco dei gateway che partecipano alla ricezione del messaggio di downlink elencando i messaggi nella coda di downlink. Per elencare i messaggi, utilizzare l'API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html).

```
aws iotwireless list-queued-messages \
    --wireless-device-type "LoRaWAN"
```

L'esecuzione di questo comando restituisce informazioni sui messaggi in coda e sui relativi parametri.

# Gestione di dispositivi con AWS IoT Core per LoRaWAN
<a name="lorawan-manage-end-devices"></a>

Di seguito sono riportate alcune considerazioni importanti quando si utilizzano i dispositivi con AWS IoT Core per LoRaWAN. Per informazioni su come aggiungere un dispositivo a AWS IoT Core per LoRaWAN, consulta [Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN](lorawan-onboard-end-devices.md).

## Considerazioni sui dispositivi
<a name="lorawan-devices-criteria"></a>

Quando si seleziona un dispositivo da utilizzare per comunicare con AWS IoT Core per LoRaWAN, considera quanto segue.
+ Sensori disponibili
+ Capacità della batteria
+ Consumo energetico
+ Costo
+ Tipo di antenna e campo di trasmissione

## Utilizzo di dispositivi con gateway qualificati per AWS IoT Core per LoRaWAN
<a name="lorawan-devices-qualified-gateways"></a>

I dispositivi utilizzati possono essere associati a gateway wireless qualificati per l'utilizzo con AWS IoT Core per LoRaWAN. Puoi trovare questi gateway e kit di sviluppo nel [Catalogo dei dispositivi dei partner dei servizi AWS](https://devices.amazonaws.com/search?page=1&sv=iotclorawan). Ti consigliamo inoltre di considerare la vicinanza di questi dispositivi ai gateway. Per ulteriori informazioni, consultare [Utilizzo di gateway qualificati dal Catalogo dei dispositivi dei partner di AWS](lorawan-manage-gateways.md#lorawan-qualified-gateways).

## Versione di LoRaWAN
<a name="lorawan-lorawan-version"></a>

AWS IoT Core per LoRaWAN supporta tutti i dispositivi conformi alle specifiche LoRaWAN 1.0.x o 1.1, standardizzate da LoRa Alliance.

## Modalità di attivazione
<a name="lorawan-activation-modes"></a>

Prima che il tuo dispositivo LoRaWAN possa inviare dati uplink, devi completare un processo chiamato *attivazione* o procedura *join*. Per attivare il dispositivo, è possibile utilizzare OTAA (attivazione per via etere) o ABP (Attivazione per personalizzazione). Si consiglia di utilizzare OTAA per attivare il dispositivo in quanto vengono generate nuove chiavi di sessione per ogni attivazione, così da renderlo più sicuro.

Le specifiche del dispositivo wireless si basano sulla versione e sulla modalità di attivazione di LoRaWAN, che determina le chiavi root e le chiavi di sessione generate per ogni attivazione. Per ulteriori informazioni, consultare [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console).

## Classi di dispositivi
<a name="lorawan-device-classes"></a>

I dispositivi LoRaWAN possono inviare messaggi di uplink in qualsiasi momento. L'ascolto dei messaggi di downlink consuma la capacità della batteria e riduce la durata della batteria. Il protocollo LoRaWAN specifica tre classi di dispositivi LoRaWAN.
+ I dispositivi di classe A sono in modalità sleep per la maggior parte del tempo e ascoltano i messaggi di downlink solo per un breve periodo di tempo. Questi dispositivi sono per lo più sensori alimentati a batteria con durata fino a 10 anni.
+ I dispositivi di classe B possono ricevere messaggi negli slot downlink pianificati. Questi dispositivi sono principalmente attuatori alimentati a batteria.
+ I dispositivi di classe C non sono mai in modalità sleep e ascoltano continuamente i messaggi in arrivo, il che non causa molto ritardo nella ricezione dei messaggi. Questi dispositivi sono principalmente attuatori alimentati dalla rete.

Per ulteriori informazioni su queste considerazioni sui dispositivi wireless, fare riferimento alle risorse menzionate in [Ulteriori informazioni su LoRaWAN](what-is-lorawan.md#lorawan-learn-more).

**Topics**
+ [Considerazioni sui dispositivi](#lorawan-devices-criteria)
+ [Utilizzo di dispositivi con gateway qualificati per AWS IoT Core per LoRaWAN](#lorawan-devices-qualified-gateways)
+ [Versione di LoRaWAN](#lorawan-lorawan-version)
+ [Modalità di attivazione](#lorawan-activation-modes)
+ [Classi di dispositivi](#lorawan-device-classes)
+ [Esecuzione della velocità di trasmissione dati adattiva (ADR) con AWS IoT Core per LoRaWAN](iot-lorawan-adr.md)
+ [Gestione della comunicazione tra i dispositivi LoRaWAN e AWS IoT](lorawan-device-cloud-communication.md)
+ [Gestione del traffico LoRaWAN da reti di dispositivi LoRaWAN pubbliche (Everynet)](iot-lorawan-roaming.md)

# Esecuzione della velocità di trasmissione dati adattiva (ADR) con AWS IoT Core per LoRaWAN
<a name="iot-lorawan-adr"></a>

Per ottimizzare il consumo di energia di trasmissione del dispositivo e garantire al contempo che i messaggi dei dispositivi finali vengano ricevuti dai gateway, AWS IoT Core per LoRaWAN utilizza una velocità di trasmissione dati adattiva. La velocità di trasmissione dati adattiva indica ai dispositivi finali di ottimizzare la velocità dei dati, la potenza di trasmissione e il numero di ritrasmissioni, cercando di ridurre la percentuale di errori dei pacchetti ricevuti dai gateway. Ad esempio, se il dispositivo finale si trova vicino ai gateway, la velocità di trasmissione dati adattiva riduce la potenza di trasmissione e aumenta la velocità di trasmissione. 

**Topics**
+ [Come funziona la velocità di trasmissione dati adattiva (ADR)](#iot-lorawan-adr-algorithm)
+ [Configurazione dei limiti di velocità dati (CLI)](#iot-lorawan-adr-use)

## Come funziona la velocità di trasmissione dati adattiva (ADR)
<a name="iot-lorawan-adr-algorithm"></a>

Per abilitare l'ADR, il dispositivo deve impostare il bit ADR nell'intestazione del frame. Una volta impostato il bit ADR, AWS IoT Core per LoRaWAN invia il comando `LinkADRReq` MAC e i dispositivi rispondono con il comando `LinkADRAns` che include lo stato ACK del comando ADR. Una volta ricevuto l'ACK del comando ADR, il dispositivo seguirà le istruzioni ADR da AWS IoT Core per LoRaWAN e regolerà i valori dei parametri di trasmissione per ottenere la velocità di trasmissione ottimale. 

L'algoritmo AWS IoT Core per LoRaWAN ADR utilizza le informazioni SINR nella cronologia dei metadati di uplink per determinare la potenza di trasmissione e la velocità di trasmissione dati ottimali da utilizzare per i dispositivi. L'algoritmo utilizza i 20 messaggi uplink più recenti che vengono avviati una volta impostato il bit ADR nell'intestazione del frame. Per determinare il numero di ritrasmissioni, l'algoritmo utilizza la percentuale di errore dei pacchetti (PER), che è una percentuale del numero totale di pacchetti persi. Quando si utilizza questo algoritmo, è possibile controllare solo l'intervallo delle velocità di trasmissione dati, ovvero i limiti minimo e massimo per le velocità di trasmissione dati.

## Configurazione dei limiti di velocità dati (CLI)
<a name="iot-lorawan-adr-use"></a>

Per impostazione predefinita, AWS IoT Core per LoRaWAN eseguirà l'ADR quando imposti il bit ADR nell'intestazione del frame del tuo dispositivo LoRaWAN. È possibile controllare i limiti minimi e massimi per la velocità di trasmissione dati durante la creazione di un profilo di servizio per i dispositivi LoRaWAN utilizzando l'operazione API Wireless AWS IoT [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) o il comando AWS CLI, [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html).

**Nota**  
Non è possibile specificare i limiti massimi e minimi di velocità di trasmissione dati quando si crea un profilo di servizio dalla Console di gestione AWS. Può essere abilitato solo utilizzando l'API Wireless AWS IoT o la AWS CLI.

Per specificare i limiti minimo e massimo per la velocità dei dati, utilizza i parametri `DrMin` e `DrMax` con l'operazione API `CreateServiceProfile`. I limiti di velocità dati minimo e massimo predefiniti sono 0 e 15. Ad esempio, il seguente comando CLI imposta un limite minimo di velocità dati di 3 e un limite massimo di 12.

```
aws iotwireless create-service-profile \ 
    --lorawan DrMin=3,DrMax=12
```

L'esecuzione di questo comando genera un ID e un nome della risorsa Amazon (ARN) per il profilo del servizio.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

È possibile ottenere i valori dei parametri specificati utilizzando l'operazione API Wireless AWS IoT [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) o il comando AWS CLI, [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html). 

```
aws iotwireless get-service-profile --id "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
```

L'esecuzione di questo comando genera i valori per i parametri del profilo di servizio.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:651419225604:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "LoRaWAN": {
        "UlRate": 60,
        "UlBucketSize": 4096,
        "DlRate": 60,
        "DlBucketSize": 4096,
        "AddGwMetadata": false,
        "DevStatusReqFreq": 24,
        "ReportDevStatusBattery": false,
        "ReportDevStatusMargin": false,
        "DrMin": 3,
        "DrMax": 12,
        "PrAllowed": false,
        "HrAllowed": false,
        "RaAllowed": false,
        "NwkGeoLoc": false,
        "TargetPer": 5,
        "MinGwDiversity": 1
    }
}
```

Se hai creato più profili, puoi utilizzare l'operazione API, [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html), o il comando AWS CLI, [https://docs.aws.amazon.com/cli/latest/reference/list-service-profiles.html](https://docs.aws.amazon.com/cli/latest/reference/list-service-profiles.html), per elencare i profili di servizio nel tuo Account AWS, quindi utilizzare l'API `GetServiceProfile` o il comando CLI `get-service-profile` per recuperare il profilo di servizio per il quale hai personalizzato i limiti di velocità dei dati. 

# Gestione della comunicazione tra i dispositivi LoRaWAN e AWS IoT
<a name="lorawan-device-cloud-communication"></a>

Dopo aver collegato il tuo dispositivo LoRaWAN a AWS IoT Core per LoRaWAN, i dispositivi possono iniziare a inviare messaggi al cloud. Si definiscono messaggi di uplink i messaggi inviati dal dispositivo e ricevuti da AWS IoT Core per LoRaWAN. I dispositivi LoRaWAN possono inviare in qualsiasi momento messaggi di uplink, che vengono successivamente inoltrati ad altri Servizio AWS e applicazioni ospitate nel cloud. I messaggi inviati da AWS IoT Core per LoRaWAN e altri applicazioni e Servizio AWS ai tuoi dispositivi sono chiamati messaggi di downlink.

Di seguito viene illustrato come visualizzare e gestire i messaggi di uplink e downlink inviati tra i dispositivi e il Cloud. Puoi mantenere una coda dei messaggi di downlink e inviare questi messaggi ai dispositivi nell'ordine in cui sono stati aggiunti alla coda.

**Topics**
+ [Visualizza il formato dei messaggi di uplink inviati dai dispositivi LoRaWAN](lorawan-uplink-metadata-format.md)
+ [Accodamento dei messaggi di downlink da inviare ai dispositivi LoRaWAN](lorawan-downlink-queue.md)

# Visualizza il formato dei messaggi di uplink inviati dai dispositivi LoRaWAN
<a name="lorawan-uplink-metadata-format"></a>

Dopo aver collegato il dispositivo LoRaWAN ad AWS IoT Core per LoRaWAN, potrai visualizzare il formato del messaggio di uplink che riceverai dal tuo dispositivo wireless.

## Prima di poter visualizzare i messaggi di uplink
<a name="lorawan-uplink-metadata-prerequisites"></a>

È necessario aver inserito il dispositivo wireless e collegato il dispositivo ad AWS IoT in modo che possa trasmettere e ricevere dati. Per informazioni su come eseguire l'onboarding del dispositivo per AWS IoT Core per LoRaWAN, consulta [Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN](lorawan-onboard-end-devices.md).

## Cosa contengono i messaggi di uplink?
<a name="lorawan-uplink-metadata-contains"></a>

Dispositivi LoRaWAN connessi ad AWS IoT Core per LoRaWAN attraverso i gateway LoRaWAN. Il messaggio di uplink ricevuto dal dispositivo conterrà le seguenti informazioni.
+ Dati di payload corrispondenti al messaggio di payload crittografato inviato dal dispositivo wireless.
+ Metadati wireless che includono:
  + Informazioni sul dispositivo, ad esempio DevEui, la velocità dati e il canale di frequenza in cui il dispositivo è in funzione.
  + Parametri aggiuntivi opzionali e informazioni sul gateway per i gateway connessi al dispositivo. I parametri del gateway includono EUI del gateway, SNR e RSSi.

  Utilizzando i metadati wireless, è possibile ottenere informazioni utili sul dispositivo wireless e sui dati trasmessi tra il dispositivo e AWS IoT. Ad esempio, puoi utilizzare il parametro `AckedMessageId` per verificare se l'ultimo messaggio downlink confermato è stato ricevuto dal dispositivo. Facoltativamente, se si sceglie di includere le informazioni sul gateway, è possibile stabilire se si desidera passare a un canale gateway più potente e più vicino al dispositivo.

## Come visualizzare i messaggi di uplink?
<a name="lorawan-uplink-metadata-observe"></a>

Dopo aver effettuato l'onboarding del dispositivo, è possibile utilizzare il [Client di prova MQTT](https://console.aws.amazon.com/iot/home#/test) sulla pagina **Test** della console AWS IoT per sottoscrivere l'argomento specificato durante la creazione della destinazione. Potrai iniziare a visualizzare messaggi dopo che il dispositivo sarà connesso e avrà iniziato ad inviare i dati di payload.

Questo diagramma individua gli elementi chiave di un sistema LoRaWAN connesso ad AWS IoT Core per LoRaWAN, che mostra il piano dati primario e il modo in cui i dati fluiscono attraverso il sistema.

![\[Immagine che mostra come i dati AWS IoT Core per LoRaWAN vengano passati da un dispositivo wireless ad AWS IoT e altri servizi.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-data-flow.png)


Quando il dispositivo wireless inizia a inviare dati di uplink, AWS IoT Core per LoRaWAN avvolge le informazioni dei metadati wireless con il payload, inviandole quindi alle tue applicazioni AWS.

## Esempio di messaggio di uplink
<a name="lorawan-uplink-metadata-example"></a>

Nell'esempio seguente viene illustrato il formato del messaggio di uplink ricevuto dal dispositivo.

```
{
    "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", 
    "PayloadData": "Cc48AAAAAAAAAAA=",    
    "WirelessMetadata":
    {
        "LoRaWAN":
        {
            "ADR": false,
            "Bandwidth": 125,
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "0",
            "DevAddr": "00b96cd4",
            "DevEui": "58a0cb000202c99",            
            "FOptLen": 2,
            "FCnt": 1,
            "Fport": 136,   
            "Frequency": "868100000",     
            "Gateways": [
             {
                    "GatewayEui": "80029cfffe5cf1cc",      
                    "Snr": -29,
                    "Rssi": 9.75
             }
             ],  
            "MIC": "7255cb07",  
            "MType": "UnconfirmedDataUp",
            "Major": "LoRaWANR1",
            "Modulation": "LORA", 
            "PolarizationInversion": false,    
            "SpreadingFactor": 12,                         
            "Timestamp": "2021-05-03T03:24:29Z"
            
        }
    }
}
```

### Esclusione dei metadati gateway dai metadati uplink
<a name="lorawan-uplink-metadata-example2"></a>

Se desideri escludere le informazioni relative ai metadati del gateway dai metadati dell'uplink, disabilita il parametro **AddGwMetadata** quando crei il profilo di servizio. Per informazioni sulla disattivazione di questo parametro, consulta [Aggiungi profili di servizio](lorawan-define-profiles.md#lorawan-service-profiles).

In questo caso, non verrà visualizzata la sezione `Gateways` nei metadati uplink, come illustrato nell'esempio seguente.

```
{  
    "WirelessDeviceId": "0d9a439b-e77a-4573-a791-49d5c0f4db95",
    "PayloadData": "AAAAAAAA//8=",
    "WirelessMetadata": {
        "LoRaWAN": {
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "1",
            "DevAddr": "01920f27",
            "DevEui": "ffffff10000163b0",
            "FCnt": 1,
            "FPort": 5,
            "Timestamp": "2021-04-29T05:19:43.646Z"
    }
  }
}
```

# Accodamento dei messaggi di downlink da inviare ai dispositivi LoRaWAN
<a name="lorawan-downlink-queue"></a>

Le applicazioni ospitate su cloud e altri Servizio AWS possono inviare messaggi di downlink ai tuoi dispositivi wireless. Si definiscono messaggi di downlink i messaggi inviati da AWS IoT Core per LoRaWAN sul tuo dispositivo wireless. Puoi pianificare e inviare i messaggi di downlink per ogni dispositivo che hai inserito in AWS IoT Core per LoRaWAN.

Se vuoi inviare un messaggio di downlink a molteplici dispositivi, puoi utilizzare un gruppo multicast. I dispositivi di un gruppo multicast condividono lo stesso indirizzo multicast, che viene quindi distribuito a un intero gruppo di dispositivi destinatari. Per ulteriori informazioni, consultare [Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi](lorawan-multicast-groups.md). 

## Come funziona una coda di messaggi di downlink
<a name="lorawan-how-downlink-works"></a>

La classe del dispositivo LoRaWAN determina il modo in cui i messaggi nella coda vengono inviati al dispositivo. I dispositivi di classe A inviano un messaggio di uplink a AWS IoT Core per LoRaWAN per indicare che il dispositivo è disponibile alla ricezione di messaggi di downlink. I dispositivi di classe B possono ricevere messaggi negli slot di downlink pianificati. I dispositivi di classe C possono ricevere messaggi di downlink in qualsiasi momento. Per ulteriori informazioni sulle classi dei dispositivi, consulta la sezione [Classi di dispositivi](lorawan-manage-end-devices.md#lorawan-device-classes).

Di seguito viene illustrato come i messaggi vengono accodati e inviati ai dispositivi di classe A.

1. AWS IoT Core per LoRaWAN esegue il buffer del messaggio di downlink aggiunto alla coda con la porta frame, i dati di payload e i parametri della modalità di ricevuta specificati utilizzando la console AWS IoT o l'API Wireless AWS IoT.

1. Il dispositivo LoRaWAN invia un messaggio di uplink per indicare che è online e può iniziare a ricevere messaggi di downlink.

1. Se hai aggiunto più di un messaggio di downlink alla coda, AWS IoT Core per LoRaWAN invia il primo messaggio di downlink presente nella coda al dispositivo con il flag di ricevuta (ACK) impostato.

1. Il dispositivo invia un messaggio di uplink a AWS IoT Core per LoRaWAN immediatamente oppure rimane in sospeso fino al successivo messaggio di uplink e include il flag ACK nel messaggio.

1. Quando riceve il messaggio di uplink con il flag ACK, AWS IoT Core per LoRaWAN cancella il messaggio di downlink dalla coda, indicando che il dispositivo ha ricevuto correttamente il messaggio di downlink. Se dopo tre verifiche il flag ACK non è presente nel messaggio di uplink, il messaggio viene eliminato.

## Eseguire operazioni di accodamento dei messaggi di downlink utilizzando la console
<a name="lorawan-downlink-queue-console"></a>

Puoi utilizzare la Console di gestione AWS per accodare i messaggi di downlink e cancellare i singoli messaggi o l'intera coda, secondo necessità. Per i dispositivi di classe A, dopo che il dispositivo invia un messaggio di uplink per indicare che è online, i messaggi in coda vengono inviati al dispositivo. Dopo l'invio, il messaggio viene automaticamente cancellato dalla coda.

**Accodamento dei messaggi di downlink**  
Per creare una coda di messaggi di downlink

1. Accedi all'[hub dei dispositivi della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/devices) e scegli il dispositivo per il quale desideri accodare i messaggi di downlink.

1. Nella sezione **Downlink messages** (Messaggi di downlink) della pagina dei dettagli del dispositivo, scegli **Queue downlink messages** (Accoda messaggi di downlink).

1. Per configurare il messaggio di downlink, specifica i seguenti parametri:
   + **FPort**: scegli la porta frame per la comunicazione tra il dispositivo e AWS IoT Core per LoRaWAN.
   + **Payload**: specifica il messaggio di payload che desideri inviare al dispositivo. La dimensione massima del payload è di 242 byte. Se la velocità dati adattiva (ADR) è abilitata, AWS IoT Core per LoRaWAN la utilizza per scegliere la velocità dati ottimale per le dimensioni del payload. Puoi ottimizzare ulteriormente la velocità dati in base alle tue esigenze.
   + **Modalità ricevuta**: conferma se il dispositivo ha ricevuto il messaggio di downlink. Se un messaggio richiede questa modalità, verrà visualizzato un messaggio di uplink con il flag ACK nel flusso dei dati e il messaggio verrà cancellato dalla coda.

1. Per aggiungere il messaggio di downlink alla coda, scegli **Submit** (Invia).

Ora il messaggio di downlink è stato aggiunto alla coda. Se non visualizzi il messaggio o si verifica un errore, puoi risolvere il problema come descritto in [Risoluzione dei problemi relativi alla coda dei messaggi di downlink](#lorawan-downlink-queue-troubleshoot). 

**Nota**  
Dopo che il messaggio di downlink è stato aggiunto alla coda, i parametri **FPort**, **Payload** e **Acknowledge mode** (Modalità ricevuta) non possono più essere modificati. Se vuoi inviare un messaggio di downlink con valori diversi per questi parametri, devi eliminare il messaggio e accodare un nuovo messaggio di downlink con i valori dei parametri aggiornati.

La coda elenca i messaggi di downlink aggiunti. Per visualizzare il payload per i messaggi di uplink e downlink scambiati tra i dispositivi e AWS IoT Core per LoRaWAN, puoi utilizzare l'analizzatore di rete. Per ulteriori informazioni, consultare [Monitoraggio del parco istanze di risorse wireless in tempo reale utilizzando l'analizzatore di rete](network-analyzer-overview.md).

**Elenco dei messaggi di downlink in coda**  
Il messaggio di downlink che hai creato viene aggiunto alla coda. Ogni successivo messaggio di downlink viene aggiunto alla coda dopo questo messaggio. Puoi visualizzare un elenco dei messaggi di downlink nella sezione **Downlink messages** (Messaggi di downlink) della pagina dei dettagli del dispositivo. Dopo avere ricevuto un messaggio di uplink, i messaggi vengono inviati al dispositivo. Dopo che un messaggio di downlink è stato ricevuto dal dispositivo, verrà rimosso dalla coda. Il messaggio successivo si sposta quindi verso l'alto nella coda dei messaggi da inviare al dispositivo.

**Eliminazione di singoli messaggi di downlink o cancellazione dell'intera coda**  
Ogni messaggio di downlink viene cancellato automaticamente dalla coda dopo che è stato inviato al dispositivo. Puoi anche eliminare singoli messaggi o cancellare l'intera coda dei messaggi di downlink. Queste operazioni non possono essere annullate.
+ Se nella coda trovi messaggi che non vuoi inviare, selezionali e scegli **Delete** (Elimina).
+ Se non vuoi inviare alcuno dei messaggi in coda al tuo dispositivo, puoi cancellare l'intera coda scegliendo **Clear downlink queue** (Cancella coda di downlink).

## Eseguire operazioni di accodamento dei messaggi di downlink utilizzando l'API
<a name="lorawan-downlink-queue-api"></a>

Puoi utilizzare l'API Wireless AWS IoT per accodare i messaggi di downlink e cancellare i singoli messaggi o l'intera coda, secondo necessità.

**Accodamento dei messaggi di downlink**  
Per creare una coda di messaggi di downlink tramite l'API, utilizza l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html) o il comando della CLI [cli/latest/reference/iotwireless/send-data-to-wireless-device.html](cli/latest/reference/iotwireless/send-data-to-wireless-device.html).

```
aws iotwireless send-data-to-wireless-device \
    --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \
    --transmit-mode "1" \
    --payload-data "SGVsbG8gVG8gRGV2c2lt" \
    --wireless-metadata LoRaWAN={FPort=1}
```

L'output dell'esecuzione di questo comando genera un `MessageId` per il messaggio di downlink. In alcuni casi, anche se ricevi il `MessageId`, i pacchetti possono essere eliminati. Per ulteriori informazioni su come risolvere l'errore, consulta la sezione [Risoluzione dei problemi relativi alla coda dei messaggi di downlink](#lorawan-downlink-queue-troubleshoot).

```
{
    MessageId: "6011dd36-0043d6eb-0072-0008"
}
```

**Elenco dei messaggi di downlink in coda**  
Per elencare tutti i messaggi di downlink presenti nella coda, utilizza l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html) o il comando della CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-queued-messages.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-queued-messages.html).

```
aws iotwireless list-queued-messages
```

Per impostazione predefinita, durante l'esecuzione di questo comando vengono visualizzati un massimo di 10 messaggi di downlink.

**Rimozione di singoli messaggi di downlink o cancellazione dell'intera coda**  
Per rimuovere singoli messaggi dalla coda o per cancellare l'intera coda, utilizza l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteQueuedMessages.html) o il comando della CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-queued-messages.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-queued-messages.html).
+ Per rimuovere i singoli messaggi, fornisci il `messageID` dei messaggi che desideri rimuovere per il dispositivo wireless, specificato dal `wirelessDeviceId`.
+ Per cancellare l'intera coda di downlink, specifica il `messageID` come `*` per il dispositivo wireless, specificato dal `wirelessDeviceId`.

## Risoluzione dei problemi relativi alla coda dei messaggi di downlink
<a name="lorawan-downlink-queue-troubleshoot"></a>

Ecco alcune cose da controllare se i risultati che vedi sono diversi da quelli che ti aspetti.
+ 

**I messaggi di downlink non vengono visualizzati nella console AWS IoT**  
Se non visualizzi un messaggio di downlink nella coda dopo averlo aggiunto come descritto in [Eseguire operazioni di accodamento dei messaggi di downlink utilizzando la console](#lorawan-downlink-queue-console), potrebbe dipendere dal fatto che il dispositivo non ha completato un processo chiamato *procedura di attivazione* o *congiungimento*. Questa procedura viene completata quando il dispositivo viene inserito in AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console).

  Dopo avere inserito il dispositivo in AWS IoT Core per LoRaWAN, puoi monitorarlo per verificare se l'accesso e il congiungimento sono riusciti utilizzando l'analizzatore di rete o Amazon CloudWatch. Per ulteriori informazioni, consultare [Strumenti di monitoraggio](monitoring-cloudwatch.md#monitoring-tools).
+ 

**Pacchetti di messaggi di downlink mancanti quando si utilizza l'API**  
Quando utilizzi l'operazione API `SendDataToWirelessDevice`, l'API restituisce un `MessageId` univoco. Tuttavia, non puoi verificare se il dispositivo LoRaWAN abbia ricevuto il messaggio di downlink. I pacchetti di downlink possono essere eliminati se, ad esempio, il dispositivo non ha completato la procedura di congiungimento. Per ulteriori informazioni su come risolvere questo errore, consulta la sezione precedente.
+ 

**Errore ARN mancante durante l'invio del messaggio di downlink**  
Quando invii un messaggio di downlink dalla coda al dispositivo, potresti ricevere un errore di Amazon Resource Name (ARN) mancante. L'errore potrebbe verificarsi perché non è stata specificata correttamente la destinazione per il dispositivo che riceve il messaggio di downlink. Per risolvere questo errore, controlla i dettagli di destinazione del dispositivo.

# Gestione del traffico LoRaWAN da reti di dispositivi LoRaWAN pubbliche (Everynet)
<a name="iot-lorawan-roaming"></a>

Puoi connettere i tuoi dispositivi LoRaWAN al cloud in pochi minuti utilizzando reti LoRaWAN disponibili pubblicamente. AWS IoT Core per LoRaWAN ora supporta la copertura di rete di Everynet negli Stati Uniti e nel Regno Unito. Quando utilizzi la rete pubblica, per ogni dispositivo ti verrà addebitato mensilmente un costo per la connessione alla rete pubblica. Il prezzo si applica a tutte le Regioni AWS in cui è disponibile la connettività di rete pubblica. Per ulteriori informazioni sui prezzi di questa funzionalità, consulta la [pagina dei prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/).

**Importante**  
La rete pubblica è gestita e fornita come servizio direttamente da Everynet. Prima di utilizzare questa funzionalità, consulta i [termini del servizio AWS](https://aws.amazon.com/service-terms/) applicabili. Inoltre, se utilizzi una rete pubblica tramite AWS IoT Core per LoRaWAN, alcune informazioni sul dispositivo LoRaWAN, come `DevEUI` e `JoinEUI`, verranno replicate nelle regioni in cui AWS IoT Core per LoRaWAN è disponibile.

AWS IoT Core per LoRaWAN supporta la rete LoRaWAN pubblica in base alle specifiche LoRa Alliance per il roaming, come descritto nel documento [LoRaWAN Backend Interfaces 1.0 Specification](https://lora-alliance.org/wp-content/uploads/2020/11/lorawantm-backend-interfaces-v1.0.pdf). È possibile utilizzare la funzionalità di rete pubblica per connettere i dispositivi terminali che si trovano all'esterno della rete privata. Per supportare questa funzionalità, AWS IoT Core per LoRaWAN collabora con EveryNet per offrire una copertura radio estesa.

## Vantaggi dell'utilizzo di una rete LoRaWAN pubblica
<a name="lorawan-roaming-benefits"></a>

I dispositivi LoRaWAN possono utilizzare una rete pubblica per connettersi al cloud, con conseguente riduzione dei tempi di implementazione e dei tempi e costi necessari per mantenere una rete LoRaWAN privata.

L'utilizzo di una rete LoRaWAN pubblica offre vantaggi come l'estensione della copertura, l'esecuzione core senza rete radio e la densificazione della copertura. È possibile utilizzare questa funzionalità per:
+ Fornire copertura ai dispositivi quando si spostano all'esterno della rete privata, ad esempio *Dispositivo A* nella figura mostrata nella sezione [Architettura del supporto della rete LoRaWAN pubblica](lorawan-roaming-works.md#lorawan-roaming-architecture).
+ Estendere la copertura ai dispositivi che non dispongono di un gateway LoRa a cui connettersi, come *Dispositivo B* nella figura mostrata nella sezione [Architettura del supporto della rete LoRaWAN pubblica](lorawan-roaming-works.md#lorawan-roaming-architecture). Il dispositivo può quindi utilizzare il gateway fornito dal partner per connettersi alla rete privata.

I dispositivi LoRaWAN possono utilizzare una rete pubblica per connettersi al cloud utilizzando la funzionalità di roaming, con conseguente riduzione dei tempi di implementazione e dei tempi e costi necessari per mantenere una rete LoRaWAN privata.

Le sezioni seguenti descrivono l'architettura di supporto della rete pubblica, come funziona il supporto della rete LoRaWAN pubblica e come utilizzare questa funzionalità.

**Topics**
+ [Vantaggi dell'utilizzo di una rete LoRaWAN pubblica](#lorawan-roaming-benefits)
+ [Funzionamento del supporto della rete pubblica LoRaWAN](lorawan-roaming-works.md)
+ [Come utilizzare il supporto della rete pubblica](lorawan-roaming-use.md)

# Funzionamento del supporto della rete pubblica LoRaWAN
<a name="lorawan-roaming-works"></a>

AWS IoT Core per LoRaWAN supporta la funzionalità di roaming passivo, in base alle specifiche di LoRa Alliance. Con il roaming passivo, il processo di roaming è completamente trasparente per il dispositivo finale. I dispositivi finali che funzionano in roaming al di fuori della rete privata possono connettersi ai gateway di tale rete e scambiare dati di uplink e downlink utilizzando il server di applicazioni. I dispositivi rimangono connessi alla rete privata durante l'intero processo di roaming.

**Nota**  
AWS IoT Core per LoRaWAN supporta solo la funzionalità stateless del roaming passivo. La modalità handover roaming non è supportata. In modalità handover roaming, il dispositivo passerà a un operatore differente quando si sposta all'esterno della rete privata.

**Topics**
+ [Concetti relativi alla rete LoRaWAN pubblica](#lorawan-roaming-concepts)
+ [Architettura del supporto della rete LoRaWAN pubblica](#lorawan-roaming-architecture)

## Concetti relativi alla rete LoRaWAN pubblica
<a name="lorawan-roaming-concepts"></a>

I seguenti concetti sono utilizzati dalla funzione di rete pubblica supportata da AWS IoT Core per LoRaWAN.

**LoRaWAN Network Server (LNS)**  
Un LNS è un server privato autonomo che può essere eseguito in locale o configurato come un servizio basato sul cloud. AWS IoT Core per LoRaWAN è un LNS che offre servizi sul cloud.

**Home network server (hNS)**  
La rete privata è la rete a cui appartiene il dispositivo. L'home network server (hNS) è un LNS in cui AWS IoT Core per LoRaWAN archivia i dati di provisioning del dispositivo, come `DevEUI`, `AppEUI` e le chiavi di sessione. 

**Visited network server (vNS)**  
La rete visitata è la rete da cui il dispositivo riceve la copertura quando abbandona la rete privata. Il visited network server (vNS) è un LNS che dispone di un accordo commerciale e tecnico con hNS per essere in grado di servire il dispositivo finale. Il partner AWS, Everynet, funge da rete visitata per fornire copertura.

**Serving network server (sNS)**  
Il serving network server (sNS) è un LNS che gestisce i comandi MAC per il dispositivo. Per ciascuna sessione LoRa può esserci un solo sNS.

**Forwarding network server (fNS)**  
Il forwarding network server (fNS) è un LNS che gestisce i gateway radio. In una sessione LoRa possono essere coinvolti zero o più fNS. Questo server di rete gestisce l'inoltro dei pacchetti di dati ricevuti dal dispositivo nella rete privata.

## Architettura del supporto della rete LoRaWAN pubblica
<a name="lorawan-roaming-architecture"></a>

Il seguente diagramma dell'architettura mostra come AWS IoT Core per LoRaWAN collabora con Everynet per fornire la connettività della rete pubblica. In questo caso, *Dispositivo A* è connesso ad hNS (home network server) fornito da AWS IoT Core per LoRaWAN tramite un gateway LoRa. Quando Dispositivo A si sposta all'esterno della rete privata, accede a una rete visitata ed è coperto dal visited network server (vNS) fornito da Everynet. Il vNS estende anche la copertura a *Dispositivo B* che non dispone di un gateway LoRa a cui connettersi.

Puoi visualizzare le informazioni sulla copertura della rete pubblica nella console AWS IoT come descritto nella sezione seguente.

![\[Immagine che mostra in che modo AWS IoT Core per LoRaWAN supporta il roaming per supportare i dispositivi che si spostano all'esterno della rete privata e per estendere la copertura ai dispositivi che non dispongono di un gateway a cui connettersi.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-roaming-architecture.png)


 AWS IoT Core per LoRaWAN utilizza una funzionalità hub roaming, in conformità con la [LoRa Alliance LoRaWAN Roaming Hub Technical Recommendation](https://lora-alliance.org/wp-content/uploads/2022/01/TR010-1.0.0-LoRaWAN-Roaming-Hub.pdf). L'hub roaming fornisce un endpoint per Everynet per instradare il traffico ricevuto dal dispositivo finale. In questo caso, Everynet funge da forwarding network server (fNS) per inoltrare il traffico ricevuto dal dispositivo. Utilizza un'API RESTful HTTP, come definito dalle specifiche LoRa Alliance.

**Nota**  
Se il dispositivo si sposta dalla rete privata ed entra in una località in cui sia la rete privata sia Everynet possono offrire copertura, utilizzerà una policy first-come-first-serve per determinare se connettersi al gateway LoRa o al gateway di Everynet.

Quando si visita una rete pubblica, hNS e serving network server (sNS) sono separati. I pacchetti in uplink e in downlink vengono quindi scambiati tra sNS e hNS.

# Come utilizzare il supporto della rete pubblica
<a name="lorawan-roaming-use"></a>

Per abilitare il supporto della rete pubblica di Everynet, devi abilitare determinati parametri di roaming durante la creazione di un profilo del servizio. In questa versione beta, questi parametri sono disponibili quando si utilizza l'API Wireless AWS IoT o AWS CLI. Nelle sezioni seguenti vengono illustrati i parametri che occorre abilitare e viene descritto come abilitare la rete pubblica utilizzando AWS CLI.

**Nota**  
È possibile abilitare il supporto della rete pubblica solo durante la creazione di un nuovo profilo del servizio. Non è possibile aggiornare un profilo esistente per abilitare la rete pubblica utilizzando questi parametri.

**Topics**
+ [Parametri di roaming](#lorawan-roaming-parameters)
+ [Abilitazione del supporto della rete pubblica per i dispositivi](#lorawan-roaming-enable)

## Parametri di roaming
<a name="lorawan-roaming-parameters"></a>

Specifica i seguenti parametri durante la creazione di un profilo del servizio per il dispositivo. Specifica questi parametri durante l'aggiunta di un profilo del servizio dall'hub [Profili](https://console.aws.amazon.com/iot/home#/wireless/profiles) della console AWS IoT o l'utilizzo dell'operazione API Wireless AWS IoT, [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) o del comando AWS CLI, [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html).

**Nota**  
AWS IoT Core per LoRaWAN non supporta la modalità handover roaming. Durante la creazione del profilo del servizio, non è possibile abilitare il parametro `HrAllowed` che specifica se utilizzare handover roaming.
+ Attivazione del roaming consentita (`RaAllowed`): questo parametro specifica se abilitare l'attivazione del roaming. L'attivazione del roaming consente a un dispositivo finale di attivarsi sotto la copertura di un vNS. Quando si utilizza la funzionalità di roaming, `RaAllowed` deve essere impostato su `true`.
+ Roaming passivo consentito (`PrAllowed`): questo parametro specifica se abilitare il roaming passivo. Quando si utilizza la funzionalità di roaming, `PrAllowed` deve essere impostato su `true`.

## Abilitazione del supporto della rete pubblica per i dispositivi
<a name="lorawan-roaming-enable"></a>

Per abilitare il supporto della rete pubblica LoRaWAN sui tuoi dispositivi, esegui la seguente procedura.

**Nota**  
Puoi abilitare la funzionalità della rete pubblica solo per i dispositivi OTAA. Questa funzionalità non è supportata per i dispositivi che utilizzano ABP come metodo di attivazione.

1. 

**Creazione del profilo del servizio con parametri di roaming**

   Crea un profilo del servizio abilitando i parametri di roaming.
**Nota**  
Quando crei un profilo per il dispositivo che assocerai a questo profilo del servizio, ti consigliamo di specificare un valore elevato per il parametro `RxDelay1`, almeno superiore a 2 secondi.
   + 

**Utilizzo della console di AWS IoT**  
Vai all'hub [Profili](https://console.aws.amazon.com/iot/home#/wireless/profiles) della console AWS IoT e scegli **Aggiungi profilo del servizio**. Quando crei il profilo, scegli **Abilita rete pubblica**.
   + 

**Utilizzo dell'API Wireless AWS IoT**  
Per abilitare il roaming durante la creazione di un profilo del servizio, utilizza l'operazione API [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) o il comando dell'interfaccia a riga di comando [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html), come mostrato nell'esempio seguente.

     ```
     aws iotwireless create-service-profile \ 
         --region us-east-1 \
         --name roamingprofile1 \ 
         --lorawan '{"AddGwMetadata":true,"PrAllowed":true,"RaAllowed":true}'
     ```

     L'esecuzione di questo comando restituisce l'ARN e l'ID del profilo del servizio come output.

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
     }
     ```

1. 

**Verifica dei parametri di roaming nel profilo del servizio**

   Per controllare i parametri di roaming specificati, è possibile visualizzare il profilo del servizio nella console o utilizzare il comando dell'interfaccia a riga di comando `get-service-profile`, come mostrato nell'esempio seguente.
   + 

**Utilizzo della console di AWS IoT**  
Passa all'hub [Profili](https://console.aws.amazon.com/iot/home#/wireless/profiles) della console AWS IoT e scegli il profilo creato. Nella scheda **Configurazione del profilo** della pagina dei dettagli, i parametri **RAAllowed** e **PRAllowed** sono impostati su `true`.
   + 

**Utilizzo dell'API Wireless AWS IoT**  
Per visualizzare i parametri di roaming abilitati, utilizza l'operazione API [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) o il comando dell'interfaccia a riga di comando [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html), come mostrato nell'esempio seguente.

     ```
     aws iotwireless get-service-profile \ 
         --region us-east-1 \ 
         --id 12345678-a1b2-3c45-67d8-e90fa1b2c34d
     ```

     L'esecuzione di questo comando restituisce i dettagli del profilo del servizio come output, inclusi i valori per i parametri di roaming, `RaAllowed` e `PrAllowed`.

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Name": "roamingprofile1"
         "LoRaWAN": {
             "UlRate": 60,
             "UlBucketSize": 4096,
             "DlRate": 60,
             "DlBucketSize": 4096,
             "AddGwMetadata": true,
             "DevStatusReqFreq": 24,
             "ReportDevStatusBattery": false,
             "ReportDevStatusMargin": false,
             "DrMin": 0,
             "DrMax": 15,
             "PrAllowed": true,
             "RaAllowed": true,
             "NwkGeoLoc": false,
             "TargetPer": 5,
             "MinGwDiversity": 1
         }
     }
     ```

1. 

**Collegamento del profilo del servizio ai dispositivi**

   Collega il profilo del servizio creato con i parametri di roaming ai dispositivi finali. Puoi anche creare un profilo del dispositivo e aggiungere una destinazione per i dispositivi wireless. Utilizza questa destinazione per instradare i messaggi in uplink inviati dal dispositivo. Per ulteriori informazioni sulla creazione di profili del dispositivo e di una destinazione, consultare [Aggiungi profili di dispositivo](lorawan-define-profiles.md#lorawan-device-profiles) e [Aggiunta di destinazioni a AWS IoT Core per LoRaWAN](lorawan-create-destinations.md).
   + 

**Onboarding di nuovi dispositivi**  
Se non hai già eseguito l'onboarding di nuovi dispositivi, specifica il profilo del servizio da utilizzare durante l'aggiunta del dispositivo ad AWS IoT Core per LoRaWAN. Nel comando seguente viene illustrato come utilizzare il comando dell'interfaccia a riga di comando `create-wireless-device` per aggiungere un dispositivo utilizzando l'ID del profilo del servizio creato. Per informazioni sull'aggiunta del profilo del servizio mediante la console, consultare [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console).

     ```
     aws iotwireless create-wireless-device --cli-input-json file://createdevice.json
     ```

     Nell'esempio seguente viene mostrato il contenuto del file *`createdevice.json`*.

     **Contenuto di createdevice.json**

     ```
     {
         "Name": "DeviceA",  
         "Type": LoRaWAN,
         "DestinationName": "RoamingDestination1",
         "LoRaWAN": {
             "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
             "ServiceProfileId": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
             "OtaaV1_1": {
                 "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
                 "JoinEui": "b4c231a359bc2e3d",
                 "NwkKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
             },
             "DevEui": "ac12efc654d23fc2"
         },
     }
     ```

     L'output dell'esecuzione di questo comando produce l'ARN e l'ID del dispositivo wireless.

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/1ffd32c8-8130-4194-96df-622f072a315f",
         "Id": "1ffd32c8-8130-4194-96df-622f072a315f"
     }
     ```
   + 

**Aggiornamento di dispositivi esistenti**  
Se hai già eseguito l'onboarding dei dispositivi, puoi aggiornare i dispositivi wireless esistenti per utilizzare questo profilo del servizio. Nel comando seguente viene illustrato come utilizzare il comando dell'interfaccia a riga di comando `update-wireless-device` per aggiornare un dispositivo utilizzando l'ID del profilo del servizio creato.

     ```
     aws iotwireless update-wireless-device \
         --id "1ffd32c8-8130-4194-96df-622f072a315f" \
         --service-profile-id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" \ 
         --description "Using roaming service profile A"
     ```

     Il comando non produce output. Puoi utilizzare l'API `GetWirelessDevice` o il comando dell'interfaccia a riga di comando `get-wireless-device` per ottenere le informazioni aggiornate.

1. 

**Collegamento del dispositivo al cloud mediante Everynet**

   Poiché il roaming è stato abilitato, il dispositivo deve ora eseguire un join per ottenerne un nuovo `DevAddr`. Se utilizzi OTAA, il dispositivo LoRaWAN invia una richiesta di join e il server di rete può consentire la richiesta. Può quindi connettersi al Cloud AWS utilizzando la copertura di rete fornita da Everynet. Per istruzioni su come eseguire la procedura di attivazione o il join per il dispositivo, consultare la documentazione del dispositivo.
**Nota**  
Puoi attivare la funzionalità di roaming e connetterti alla rete pubblica solo per i dispositivi che utilizzano OTAA come metodo di attivazione. I dispositivi ABP non sono supportati. Per istruzioni su come eseguire la procedura di attivazione o il join per il dispositivo, consultare la documentazione del dispositivo. Per informazioni, consulta [Modalità di attivazione](lorawan-manage-end-devices.md#lorawan-activation-modes). 
Per disattivare la funzionalità di roaming per i dispositivi, puoi scollegare i dispositivi da questo profilo di servizio e associarli a un altro profilo di servizio con i parametri di roaming impostati su `false`. Dopo il passaggio a questo profilo di servizio, i dispositivi devono eseguire un'altra associazione per evitare che continuino a funzionare sulla rete pubblica.

1. 

**Messaggi in uplink e in downlink di Exchange**

   Dopo che è stato eseguito il join del dispositivo ad AWS IoT Core per LoRaWAN, è possibile avviare lo scambio di messaggi tra il dispositivo e il cloud.
   + 

**Visualizzazione di messaggi in uplink**  
Quando si inviano messaggi in uplink dai dispositivi, AWS IoT Core per LoRaWAN consegna questi messaggi a Account AWS utilizzando la destinazione configurata in precedenza. Questi messaggi verranno inviati dal dispositivo al cloud sulla rete di Everynet.

     È possibile visualizzare i messaggi utilizzando il nome della regola AWS IoT o utilizzare il client MQTT per effettuare la sottoscrizione all'argomento MQTT specificato durante la creazione della destinazione. Per ulteriori informazioni sul nome della regola e altri dettagli di destinazione specificati, consultare [Aggiunta di una destinazione tramite la console](lorawan-create-destinations.md#lorawan-create-destination-console).

     Per ulteriori informazioni sulla visualizzazione del messaggio in uplink e il formato, consultare [Visualizza il formato dei messaggi di uplink inviati dai dispositivi LoRaWAN](lorawan-uplink-metadata-format.md).
   + 

**Invio di messaggi in downlink**  
È possibile accodare e inviare messaggi in downlink ai dispositivi dalla console o utilizzando il comando API Wireless AWS IoT, `SendDataToWirelessDevice`, o il comando AWS CLI, `send-data-to-wireless-device`. Per ulteriori informazioni sull'accodamento e l'invio di messaggi in downlink, consultare [Accodamento dei messaggi di downlink da inviare ai dispositivi LoRaWAN](lorawan-downlink-queue.md).

     Nel codice seguente viene illustrato un esempio di come inviare un messaggio in downlink utilizzando il comando dell'interfaccia a riga di comando `send-data-to-wireless-device`. Viene specificato l'ID del dispositivo wireless per ricevere i dati, il payload, se utilizzare la modalità di riconoscimento e i metadati wireless.

     ```
     aws iotwireless send-data-to-wireless-device \
         --id "1ffd32c8-8130-4194-96df-622f072a315f" \
         --transmit-mode "1" \
         --payload-data "SGVsbG8gVG8gRGV2c2lt" \
         --wireless-metadata LoRaWAN={FPort=1}
     ```

     L'output dell'esecuzione di questo comando genera un `MessageId` per il messaggio di downlink.
**Nota**  
In alcuni casi, anche se ricevi il `MessageId`, i pacchetti possono essere eliminati. Per informazioni sulla risoluzione dei problemi di tali scenari, consultare [Risoluzione dei problemi relativi alla coda dei messaggi di downlink](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot).

     ```
     {
         MessageId: "6011dd36-0043d6eb-0072-0008"
     }
     ```
   + 

**Visualizzazione delle informazioni sulla copertura**  
Dopo aver abilitato la rete pubblica, puoi visualizzare le informazioni sulla copertura di rete nella console AWS IoT. Vai all'hub [https://console.aws.amazon.com/iot/home#/wireless/network-coverage](https://console.aws.amazon.com/iot/home#/wireless/network-coverage) della console AWS IoT, quindi cerca le posizioni per visualizzare le informazioni sulla copertura dei tuoi dispositivi sulla mappa.
**Nota**  
Questa funzionalità utilizza il servizio di posizione Amazon per visualizzare le informazioni sulla copertura dei tuoi dispositivi su una mappa di posizione Amazon. Prima di utilizzare le mappe del servizio di posizione Amazon, consulta i relativi termini e condizioni. Tieni presente che AWS potrebbe trasmettere le query API al provider di dati di terze parti prescelto, che potrebbe trovarsi all'esterno della Regione AWS attualmente utilizzata. Per ulteriori informazioni, consultare [Termini del servizio AWS](https://aws.amazon.com/service-terms).

# Firmware update over-the-air (FUOTA) per dispositivi LoRaWAN e gruppi multicast
<a name="lorawan-multicast-fuota"></a>

È possibile eseguire FUOTA per aggiornare il firmware del dispositivo di un singolo dispositivo LoRaWAN o di un gruppo di dispositivi. Per aggiornare il firmware del dispositivo o per inviare un carico utile in downlink a più dispositivi, crea un gruppo multicast. Utilizzando il multicast, una sorgente può inviare dati a un singolo gruppo multicast, che viene quindi distribuito a un gruppo di dispositivi destinatari.

Il supporto di AWS IoT Core per LoRaWAN per i gruppi FUOTA e multicast si basa sulle seguenti specifiche di [LoRa Alliance](https://lora-alliance.org/about-lorawan):
+ Specifiche di configurazione multicast remota LoRaWAN, TS005-2.0.0
+ Specifiche di trasporto frammentate del blocco dati LoRaWAN, TS004-2.0.0
+ Specifiche di sincronizzazione dell'orologio a livello applicativo LoRaWAN, TS003-2.0.0

**Nota**  
AWS IoT Core per LoRaWAN esegue automaticamente la sincronizzazione dell'orologio secondo le specifiche LoRa Alliance. Utilizza la funzione `AppTimeReq` per rispondere all'orario lato server per i dispositivi che lo richiedono, utilizzando la segnalazione ClockSync.

Di seguito sono riportati argomenti che mostrano come creare gruppi multicast ed eseguire FUOTA.

**Topics**
+ [Preparazione dei dispositivi per la configurazione multicast e FUOTA](lorawan-prepare-devices-multicast.md)
+ [Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi](lorawan-multicast-groups.md)
+ [Aggiornamenti Firmware Over-The-Air (FUOTA) per dispositivi AWS IoT Core per LoRaWAN](lorawan-mc-fuota-overview.md)

# Preparazione dei dispositivi per la configurazione multicast e FUOTA
<a name="lorawan-prepare-devices-multicast"></a>

Quando aggiungi il tuo dispositivo wireless a AWS IoT Core per LoRaWAN, è possibile preparare il dispositivo wireless per la configurazione multicast e FUOTA utilizzando la console o la CLI. Se utilizzi questa configurazione per la prima volta, consigliamo di utilizzare la console. Per gestire il gruppo multicast e aggiungere o rimuovere un certo numero di dispositivi dal gruppo, si consiglia di utilizzare la CLI per gestire un numero elevato di risorse.

## GenAppKey e FPort
<a name="lorawan-prepare-devices-parameters"></a>

Quando si aggiunge il dispositivo wireless, prima di poter aggiungere i dispositivi a gruppi multicast o eseguire FUOTA, configura i seguenti parametri. Prima di configurare questi parametri, assicurarsi che i dispositivi supportino FUOTA e multicast e che le specifiche del dispositivo wireless siano `OTAA v1.1` o `OTAAv1.0.x`.
+ `GenAppKey`: per i dispositivi che supportano LoRaWAN versione 1.0.x e per l'utilizzo di gruppi multicast, `GenAppKey` è la chiave radice specifica del dispositivo da cui derivano le chiavi di sessione per il gruppo multicast.
**Nota**  
Per i dispositivi LoRaWAN che utilizzano le specifiche wireless `OTAA v1.1`, `AppKey` viene utilizzato per lo stesso scopo nel caso di `GenAppKey`.

  Per impostare i parametri utili ad avviare il trasferimento dei dati, AWS IoT Core per LoRaWAN distribuisce le chiavi di sessione con i dispositivi finali. Per ulteriori informazioni sulle versioni di LoRaWAN, consulta [Versione di LoRaWAN](lorawan-manage-end-devices.md#lorawan-lorawan-version).
**Nota**  
AWS IoT Core per LoRaWAN memorizza le informazioni `GenAppKey` fornite in formato crittografato.
+ `FPorts`: secondo le specifiche LoRaWAN per i gruppi FUOTA e multicast, AWS IoT Core per LoRaWAN assegna i valori predefiniti per i seguenti campi del parametro `FPorts`. Se hai già assegnato uno dei seguenti valori `FPort`, è possibile scegliere un valore disponibile diverso, da 1 a 223.
  + `Multicast`: 200

    Questo valore `FPort` viene utilizzato per i gruppi multicast.
  + `FUOTA`: 201

    Questo valore `FPort` è usato per FUOTA.
  + `ClockSync`: 202

    Questo valore `FPort` viene utilizzato per la sincronizzazione dell'orologio.

## Profili di dispositivo per multicast e FUOTA
<a name="lorawan-prepare-devices-profiles"></a>

All'inizio di una sessione multicast, viene utilizzata una finestra di distribuzione di classe B o di classe C per inviare il messaggio di downlink ai dispositivi del gruppo. I dispositivi aggiunti per multicast e FUOTA devono supportare le modalità operative di classe B o di classe C. A seconda della classe supportata dal dispositivo, scegliere un profilo per il dispositivo che abbia entrambe le modalità di classe B o classe C.

Per ulteriori informazioni sui profili, consulta [Aggiungi profili a AWS IoT Core per LoRaWAN](lorawan-define-profiles.md).

## Preparazione dei dispositivi per multicast e FUOTA utilizzando la console
<a name="lorawan-prepare-devices-multicast-console"></a>

Per specificare i parametri FPorts e GenAppKey per la configurazione multicast e FUOTA utilizzando la console:

1. Passare alla [Device hub (Hub dei dispositivi) della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/devices) e scegliere **Add wireless device** (Aggiungi dispositivo wireless).

1. Seleziona **Wireless device specification** (Specifiche del dispositivo wireless). Il dispositivo deve utilizzare OTAA per l'attivazione del dispositivo. Quando si sceglie OTAA v1.0.x o OTAA v1.1, viene visualizzata una sezione di **FUOTA configuration-Optional** (Configurazione FUOTA - opzionale).

1. Inserisci i parametri dell'Identificatore univoco esteso (EUI) per il dispositivo wireless.

1. Espandi la sezione **FUOTA configuration-Optional** (Configurazione FUOTA - opzionale) e quindi scegli **This device supports firmware updates over the air (FUOTA)** (Questo dispositivo supporta gli aggiornamenti firmware in onda (FUOTA)). È ora possibile inserire i valori **FPort** per multicast, FUOTA e sincronizzazione orologio. Se hai scelto `OTAA v1.0.x` per le specifiche del dispositivo wireless, inserisci il **GenAppKey**.

1. Aggiungi il tuo dispositivo a AWS IoT Core per LoRaWAN scegliendo i profili e una destinazione per l'instradamento dei messaggi. Per il profilo del dispositivo connesso al dispositivo, assicurati di selezionare una o entrambe le modalità **Supporta classe B** e **Supporta classe C**.

**Nota**  
Per specificare i parametri di configurazione FUOTA, devi utilizzare la [Hub dei dispositivi della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/devices). Questi parametri non vengono visualizzati se si esegue l'onboarding dei dispositivi utilizzando la pagina **Intro** (Introduzione) della console AWS IoT.

Per ulteriori informazioni sulle specifiche del dispositivo wireless e sull'onboarding del dispositivo, consulta [Aggiungi il dispositivo wireless ad AWS IoT Core per LoRaWAN](lorawan-end-devices-add.md).

**Nota**  
Puoi specificare questi parametri solo quando crei il dispositivo wireless. Non è possibile modificare o specificare i parametri quando si aggiorna un dispositivo esistente.

## Preparazione dei dispositivi per multicast e FUOTA utilizzando l'operazione API
<a name="lorawan-prepare-devices-multicast-api"></a>

Per utilizzare gruppi multicast o per eseguire FUOTA, configura questi parametri utilizzando l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-device.html). Oltre a specificare la chiave dell'applicazione e i parametri FPorts, assicurarsi che il profilo del dispositivo connesso al dispositivo supporti una o entrambe le modalità di classe B o classe C.

È possibile fornire questo file `input.json` come input per il comando `create-wireless-device`.

```
aws iotwireless create-wireless-device \
    --cli-input-json file://input.json
```

dove:

**Contenuti di input.json**

```
{
    "Description": "My LoRaWAN wireless device"
    "DestinationName": "IoTWirelessDestination"
    "LoRaWAN": {
        "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
        "ServiceProfileId": "fe98dc76-cd12-001e-2d34-5550432da100",
        "FPorts": { 
            "ClockSync": 202,
            "Fuota": 201,
            "Multicast": 200
      },
        "OtaaV1_0_x": {
            "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
            "AppEui": "b4c231a359bc2e3d",
            "GenAppKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
        },
        "DevEui": "ac12efc654d23fc2"
    },
    "Name": "SampleIoTWirelessThing"
    "Type": LoRaWAN
}
```

Per informazioni sulle CLI utilizzabili, consulta [AWS CLI reference (Riferimento alla )](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html). 

**Nota**  
Dopo aver specificato i valori di questi parametri, non è possibile aggiornarli tramite l'operazione API `UpdateWirelessDevice`. Al contrario, è possibile creare un nuovo dispositivo con i valori dei parametri `GenAppKey` e `FPorts`.

Per ottenere informazioni sui valori specificati per questi parametri, è possibile utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-wireless-device.html).

## Passaggi successivi
<a name="lorawan-prepare-devices-next"></a>

Dopo aver configurato i parametri, è possibile creare gruppi multicast e attività FUOTA per inviare payload di downlink o aggiornare il firmware dei dispositivi LoRaWAN.
+ Per ulteriori informazioni sulla creazione di gruppi multicast, consulta [Crea gruppi multicast e aggiungi dispositivi al gruppo](lorawan-create-multicast-groups.md).
+ Per ulteriori informazioni sulla creazione di una attività FUOTA, consulta [Creazione di attività FUOTA e dotazione dell'immagine del firmware](lorawan-fuota-create-task.md).

# Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi
<a name="lorawan-multicast-groups"></a>

Per inviare un payload di downlink a più dispositivi, crea un gruppo multicast. Utilizzando il multicast, una sorgente può inviare dati a un singolo indirizzo multicast, che viene quindi distribuito a un intero gruppo di dispositivi destinatari.

I dispositivi di un gruppo multicast condividono lo stesso indirizzo multicast, chiavi di sessione e contatore di frame. Utilizzando le stesse chiavi di sessione, i dispositivi di un gruppo multicast possono decrittare il messaggio quando viene avviata una trasmissione downlink. Un gruppo multicast supporta solo downlink. Non dà conferma della ricezione del payload di downlink da parte dei dispositivi.

Con i gruppi multicast di AWS IoT Core per LoRaWAN, è possibile:
+ Filtrare l'elenco di dispositivi utilizzando il profilo del dispositivo, RFRegion o la classe del dispositivo, e quindi aggiungere questi dispositivi a un gruppo multicast.
+ Pianificare e inviare uno o più messaggi payload di downlink ai dispositivi di un gruppo multicast, all'interno di una finestra di distribuzione pari a 48 ore. 
+ Chiedere ai dispositivi di passare temporaneamente alla modalità Classe B o classe C all'inizio della sessione multicast per ricevere il messaggio downlink.
+ Monitorare la configurazione del gruppo multicast e lo stato dei dispositivi e risolvere, inoltre, eventuali problemi.
+ Usare gli aggiornamenti Firmware Over-The-Air (FUOTA) per distribuire in sicurezza gli aggiornamenti del firmware su dispositivi di un gruppo multicast.

 Il seguente video descrive come creare gruppi multicast AWS IoT Core per LoRaWAN e ti guiderà attraverso il processo di aggiunta di un dispositivo al gruppo e di pianificazione di un messaggio di downlink per il gruppo.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/LcCR-1eKX1w/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/LcCR-1eKX1w)


Di seguito viene illustrato come creare il gruppo multicast e come pianificare un messaggio di downlink.

**Topics**
+ [Crea gruppi multicast e aggiungi dispositivi al gruppo](lorawan-create-multicast-groups.md)
+ [Monitora e risolvi lo stato del gruppo multicast e dei dispositivi del gruppo](lorawan-multicast-status.md)
+ [Pianifica un messaggio di downlink da inviare ai dispositivi del gruppo multicast](lorawan-multicast-schedule-downlink.md)

# Crea gruppi multicast e aggiungi dispositivi al gruppo
<a name="lorawan-create-multicast-groups"></a>

È possibile creare gruppi multicast utilizzando la console o la CLI. Se stai creando il tuo gruppo multicast per la prima volta, ti consigliamo di utilizzare la console per aggiungere il gruppo multicast. Quando si desidera gestire il gruppo multicast e aggiungere o rimuovere dispositivi dal gruppo, è possibile utilizzare la CLI.

Dopo aver scambiato la segnalazione con i dispositivi finali aggiunti, AWS IoT Core per LoRaWAN stabilisce le chiavi condivise con i dispositivi finali e imposta i parametri per il trasferimento dei dati.

## Prerequisiti
<a name="lorawan-create-multicast-groups-prereq"></a>

Prima di procedere con la creazione di gruppi multicast e l'aggiunta di dispositivi al gruppo:
+ Preparare i dispositivi per la configurazione multicast e FUOTA, specificando i parametri di configurazione FUOTA `GenAppKey` e `FPorts`. Per ulteriori informazioni, consultare [Preparazione dei dispositivi per la configurazione multicast e FUOTA](lorawan-prepare-devices-multicast.md).
+ Verificare se i dispositivi supportano le modalità operative di classe B o di classe C. A seconda della classe supportata dal dispositivo, scegliere un profilo per il dispositivo che abbia entrambe le modalità **Supporta Classe B** o **Supporta Classe C**. Per ulteriori informazioni sui profili, consulta [Aggiungi profili a AWS IoT Core per LoRaWAN](lorawan-define-profiles.md).

  All'inizio della sessione multicast, viene utilizzata una finestra di distribuzione di classe B o di classe C per inviare messaggi di downlink ai dispositivi del gruppo.

## Creazione di gruppi multicast utilizzando la console
<a name="lorawan-create-multicast-groups-console"></a>

Per creare gruppi multicast utilizzando la console, vai alla pagina [Multicast groups](https://console.aws.amazon.com/iot/home#/wireless/multicastGroups) (Gruppi multicast) della console AWS IoT e scegli **Create multicast group** (Crea gruppo multicast).

1. 

**Creazione di un gruppo multicast**

   Per creare il gruppo multicast, specificare le proprietà e i tag multicast per il gruppo.

   1. 

**Specificazione delle proprietà multicast**  
Per specificare le proprietà multicast, inserire le seguenti informazioni per il gruppo multicast.
      + **Nome**: inserire un nome univoco per il gruppo multicast. Il nome può includere solo lettere, numeri, trattini e caratteri di sottolineatura. Non può contenere spazi.
      + **Descrizione**: puoi fornire una descrizione per il gruppo multicast. Una descrizione può essere lunga fino a 2.048 caratteri.

   1. 

**Tag per gruppo multicast**  
È inoltre possibile fornire qualsiasi coppia chiave-valore come **Tag** per il tuo gruppo multicast. Per proseguire nella creazione del tuo gruppo multicast, scegli **Successivo**.

1. 

**Aggiungere dispositivi a un gruppo multicast**

   È possibile aggiungere singoli dispositivi o un gruppo di dispositivi al gruppo multicast. Per aggiungere dispositivi:

   1. 

**Specifica RFRegion**  
Specifica il valore di **RFRegion** o la banda di frequenza per il tuo gruppo multicast. La **RFRegion** per il tuo gruppo multicast deve corrispondere a **RFRegion** di dispositivi aggiunti al gruppo multicast. Per ulteriori informazioni su **RFRegion**, vedi [Considerate la selezione delle bande di frequenza LoRa per i gateway e la connessione del dispositivo](lorawan-rfregion-permissions.md#lorawan-frequency-bands). 

   1. 

**Seleziona una classe di dispositivi multicast**  
Scegliere se si desidera che i dispositivi del gruppo multicast passino a una modalità di classe B o classe C all'inizio della sessione multicast. Una sessione di classe B può ricevere messaggi di downlink nei normali slot downlink e una sessione di classe C può ricevere messaggi downlink in qualsiasi momento.

   1. 

**Scegli i dispositivi da aggiungere al gruppo**  
Scegli se desideri aggiungere dispositivi al gruppo multicast singolarmente o in blocco.
      + Per aggiungere dispositivi singolarmente, inserire l'ID di ciascun di dispositivo wireless che si desidera aggiungere al gruppo.
      + Per aggiungere dispositivi in blocco, è possibile filtrare i dispositivi che si desidera aggiungere per profilo o tag. Filtrando in base al profilo del dispositivo, è possibile aggiungere dispositivi con un profilo che supporta la classe di dispositivo B, C o entrambe.

   1. Per creare un nuovo gruppo, selezionare **Create** (Crea).

      I dettagli del gruppo multicast e i dispositivi aggiunti compaiono nel gruppo. Per informazioni sullo stato del gruppo multicast, dei dispositivi e per la risoluzione di eventuali problemi, consultare [Monitora e risolvi lo stato del gruppo multicast e dei dispositivi del gruppo](lorawan-multicast-status.md).

Dopo aver creato un gruppo multicast, puoi scegliere **Action** (Azione) per modificare, eliminare o aggiungere dispositivi al gruppo multicast. Dopo aver aggiunto i dispositivi, è possibile pianificare una sessione per l'invio del payload di downlink ai dispositivi del gruppo.

## Creazione di gruppi multicast utilizzando l'API
<a name="lorawan-create-multicast-groups-api"></a>

Per creare gruppi multicast e aggiungere dispositivi al gruppo utilizzando l'API:

1. 

**Creazione di un gruppo multicast**

   Per creare il tuo gruppo multicast, usa l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateMulticastGroup.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-multicast-group.html). È possibile fornire questo file `input.json` come input per il comando `create-multicast-group`.

   ```
   aws iotwireless create-multicast-group \
       --cli-input-json file://input.json
   ```

   dove:

   **Contenuti di input.json**

   ```
   {   
      "Description": "Multicast group to send downlink payload and perform FUOTA.",
      "LoRaWAN": { 
         "DlClass": "ClassB",
         "RfRegion": "US915"
      },
      "Name": "MC_group_FUOTA"  
   }
   ```

   Dopo aver creato il gruppo multicast, è possibile utilizzare le seguenti operazioni API o comandi CLI per aggiornare, eliminare o ottenere informazioni sui gruppi multicast.
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateMulticastGroup) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateMulticastGroup) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteMulticastGroup) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html) 

1. 

**Aggiungere dispositivi a un gruppo multicast**

   È possibile aggiungere dispositivi al gruppo multicast singolarmente o in blocco.
   + Per creare il tuo gruppo multicast, usa l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartBulkAssociateWirelessDeviceWithMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartBulkAssociateWirelessDeviceWithMulticastGroup.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-bulk-associate-wireless-device-with-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-bulk-associate-wireless-device-with-multicast-group.html). Per filtrare i dispositivi che si desidera associare in blocco al gruppo multicast, fornisci una stringa di query. Di seguito viene illustrato come aggiungere un gruppo di dispositivi con un profilo dispositivo a cui è collegato un ID specificato.

     ```
     aws iotwireless start-bulk-associate-wireless-device-with-multicast-group \
         --id "12abd34e-5f67-89c2-9293-593b1bd862e0" \
         --cli-input-json file://input.json
     ```

     dove:

     **Contenuti di input.json**

     ```
     {
          "QueryString": "DeviceProfileName: MyWirelessDevice AND DeviceProfileId: d6d8ef8e-7045-496d-b3f4-ebcaa1d564bf",
          "Tags": [
             {
                 "Key": "Multicast",
                 "Value": "ClassB"
             }
         ]
     }
     ```

     Qui, `multicast-groups/d6d8ef8e-7045-496d-b3f4-ebcaa1d564bf/bulk` è l'URL utilizzato per associare dispositivi al gruppo.
   + Per creare il tuo gruppo multicast, usa l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithMulticastGroup.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-multicast-group.html). Fornisci l'ID del dispositivo wireless per ogni dispositivo che desideri aggiungere al tuo gruppo.

     ```
     aws iotwireless associate-wireless-device-with-multicast-group \
         --id "12abd34e-5f67-89c2-9293-593b1bd862e0" \
         --wireless-device-id "ab0c23d3-b001-45ef-6a01-2bc3de4f5333"
     ```

   Dopo aver creato il gruppo multicast, è possibile utilizzare le seguenti operazioni API o comandi CLI per ottenere informazioni sul gruppo multicast o per disassociare i dispositivi.
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromMulticastGroup.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartBulkDisassociateWirelessDeviceFromMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartBulkDisassociateWirelessDeviceFromMulticastGroup.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-bulk-disassociate-wireless-device-from-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-bulk-disassociate-wireless-device-from-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-wireless-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-wireless-devices.html) 
**Nota**  
L'operazione API `ListWirelessDevices` può essere utilizzata per creare elenchi di dispositivi wireless in generale, o di dispositivi wireless associati a un gruppo multicast o a un'attività FUOTA.  
Per elencare i dispositivi wireless associati a un gruppo multicast, utilizzare l'operazione API `ListWirelessDevices` con `MulticastGroupID` come filtro.
Per elencare i dispositivi wireless associati a un'attività processo FUOTA, utilizzare l'operazione API `ListWirelessDevices` con `FuotaTaskID` come filtro.

## Passaggi successivi
<a name="lorawan-create-multicast-next-steps"></a>

Dopo aver creato un gruppo multicast e aggiunto dispositivi, è possibile continuare ad aggiungere dispositivi e monitorare lo stato sia del gruppo multicast che dei dispositivi. Se i dispositivi sono stati aggiunti correttamente al gruppo, puoi configurare e pianificare un messaggio di downlink da inviare ai dispositivi. Prima di poter inviare un messaggio di downlink, lo stato del dispositivo deve essere **Multicast setup ready** (Configurazione multicast pronta). Dopo aver pianificato un messaggio downlink, lo stato cambia in **Session attempting** (Tentativo di sessione). Per ulteriori informazioni, consultare [Pianifica un messaggio di downlink da inviare ai dispositivi del gruppo multicast](lorawan-multicast-schedule-downlink.md). 

Se si desidera aggiornare il firmware dei dispositivi nel gruppo multicast, è possibile eseguire aggiornamenti Firmware Over-The-Air (FUOTA) con AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Aggiornamenti Firmware Over-The-Air (FUOTA) per dispositivi AWS IoT Core per LoRaWAN](lorawan-mc-fuota-overview.md). 

Se i dispositivi non sono stati aggiunti o se viene visualizzato un errore nel gruppo multicast o nello stato del dispositivo, puoi passare il mouse sopra l'errore per ottenere ulteriori informazioni e risolverlo. Se viene ancora visualizzato un errore, consultare [Monitora e risolvi lo stato del gruppo multicast e dei dispositivi del gruppo](lorawan-multicast-status.md) per informazioni su come risolvere il problema. 

# Monitora e risolvi lo stato del gruppo multicast e dei dispositivi del gruppo
<a name="lorawan-multicast-status"></a>

Dopo aver aggiunto dispositivi e creato il gruppo multicast, apri la Console di gestione AWS. Consulta la pagina [Multicast groups](https://console.aws.amazon.com/iot/home#/wireless/multicastGroups) (Gruppi multicast) della console AWS IoT e scegli il gruppo multicast creato per visualizzarne i dettagli. Vedrai informazioni sul gruppo multicast, sul numero di dispositivi aggiunti e dettagli sullo stato del dispositivo. È possibile utilizzare le informazioni sullo stato per monitorare l'avanzamento della sessione multicast e risolvere eventuali errori.

## Stato del gruppo multicast
<a name="lorawan-multicast-group-status"></a>

I dispositivi del gruppo multicast trovarsi in uno dei seguenti messaggi di stato, visibili nella Console di gestione AWS. 
+ 

**In attesa**  
Questo stato indica che hai creato un gruppo multicast ancora sprovvisto di sessione multicast. Verrà visualizzato questo messaggio di stato quando il gruppo è stato creato. Intanto, è possibile aggiornare il gruppo multicast e associare o disassociare i dispositivi al gruppo. Dopo che lo stato è cambiato da **Pending** (In attesa), non è possibile aggiungere al gruppo altri dispositivi.
+ 

**Session attempting (Tentativo di sessione)**  
Dopo che i tuoi dispositivi sono stati aggiunti con successo al gruppo multicast, verrà mostrato questo messaggio di stato quando il gruppo ha una sessione multicast pianificata. Nel frattempo, non è possibile aggiornare o aggiungere dispositivi al gruppo multicast. Se annulli la sessione multicast, lo stato del gruppo cambia in **Pending** (In attesa). 
+ 

**In session (In sessione)**  
Nei primi istanti della sessione multicast, verrà mostrato questo messaggio di stato. Anche un gruppo multicast continua a trovarsi in questo stato quando è associato a un'attività FUOTA con una sessione di aggiornamento firmware in corso.

  Se non si dispone di un'attività FUOTA associata nella sessione, e se la sessione multicast viene annullata perché il tempo di sessione ha superato il timeout, o la sessione multicast è stata annullata, lo stato del gruppo cambia in **Pending** (In attesa).
+ 

**Delete waiting (Eliminazione attesa)**  
Se elimini il gruppo multicast, lo stato del gruppo cambia in **Delete waiting** (Eliminazione attesa). Le eliminazioni sono permanenti e non possono essere annullate. Questa operazione può richiedere tempo e lo stato del gruppo sarà **Delete\$1Waiting** fino a quando il gruppo multicast non sarà eliminato. Dopo che l'attività FUOTA passa a questo stato, non potrà passare in uno degli altri stati.

## Stato dei dispositivi nel gruppo multicast
<a name="lorawan-multicast-device-status"></a>

I dispositivi del gruppo multicast possono avere uno dei seguenti messaggi di stato, visibili nella Console di gestione AWS. È possibile passare il mouse su ciascun messaggio di stato per ottenere ulteriori informazioni su ciò che indica.
+ 

**Package attempting (Tentativo di avvio pacchetto)**  
Dopo che i dispositivi sono stati associati al gruppo multicast, lo stato del dispositivo è **Package attempting** (Tentativo di avvio pacchetto). Quando compare questo stato, significa che AWS IoT Core per LoRaWAN non ha ancora confermato se il dispositivo supporta la configurazione e il funzionamento multicast.
+ 

**Package unsupported (Pacchetto non supportato)**  
Dopo che i dispositivi sono stati associati al gruppo multicast, AWS IoT Core per LoRaWAN verifica se il firmware del dispositivo è in grado di eseguire la configurazione e il funzionamento multicast. Se sul dispositivo non è disponibile il pacchetto multicast supportato, lo stato è **Package unsupported** (Pacchetto non supportato). Per risolvere l'errore, verificare se il firmware del dispositivo è in grado di eseguire la configurazione e il funzionamento multicast.
+ 

**Multicast setup attempting (Tentativo di configurazione multicast)**  
Se i dispositivi associati al gruppo multicast sono in grado di configurare e funzionare multicast, lo stato è **Multicast setup attempting** (Tentativo di configurazione multicast). Questo stato indica che il dispositivo non ha ancora completato la configurazione multicast.
+ 

**Multicast setup ready (Configruazione multicast pronta)**  
Il dispositivo ha completato la configurazione multicast ed è stato aggiunto al gruppo multicast. Questo stato indica che i dispositivi sono pronti per una sessione multicast e che un messaggio di downlink può essere inviato a tali dispositivi. Lo stato indica anche quando è possibile utilizzare FUOTA per aggiornare il firmware dei dispositivi del gruppo.
+ 

**Session attempting (Tentativo di sessione)**  
È stata pianificata una sessione multicast per i dispositivi del gruppo multicast. All'inizio di una sessione di gruppo multicast, lo stato del dispositivo è **Session attempting** (Tentativo di sessione) e richieste vengono inviate per sapere se è possibile avviare una finestra di distribuzione di classe B o di classe C per la sessione. Se il tempo necessario per configurare la sessione multicast supera il timeout o se si annulla la sessione multicast, lo stato cambia in **Multicast setup done** (Configurazione multicast completa).
+ 

**In session (In sessione)**  
Questo stato indica che è stata avviata una finestra di distribuzione di classe B o di classe C e che il dispositivo ha una sessione multicast in corso. Durante questo periodo, è possibile inviare messaggi downlink da AWS IoT Core per LoRaWAN ai dispositivi del gruppo multicast. Se si aggiorna l'ora della sessione, la sessione corrente viene sostituita e lo stato cambia in **Session attempting** (Tentativo di sessione). Quando il tempo di sessione termina o se si annulla la sessione multicast, lo stato cambia in **Multicast setup ready** (Configurazione multicast pronta).

## Passaggi successivi
<a name="lorawan-multicast-status-next"></a>

Ora che hai appreso i diversi stati del tuo gruppo multicast e dei dispositivi del gruppo, e sai come risolvere eventuali problemi (ad esempio quando un dispositivo non è in grado di configurare il multicast), puoi pianificare un messaggio downlink da inviare ai dispositivi e il tuo gruppo multicast si troverà nello stato **In session** (In sessione). Per ulteriori informazioni sulla pianificazione di un messaggio di downlink, consulta [Pianifica un messaggio di downlink da inviare ai dispositivi del gruppo multicast](lorawan-multicast-schedule-downlink.md).

# Pianifica un messaggio di downlink da inviare ai dispositivi del gruppo multicast
<a name="lorawan-multicast-schedule-downlink"></a>

Dopo aver aggiunto correttamente i dispositivi al gruppo multicast, è possibile avviare una sessione multicast e configurare un messaggio di downlink da inviare ai dispositivi. Il messaggio di downlink deve essere pianificato entro 48 ore e l'ora di inizio per il multicast deve essere pianificata almeno 30 minuti dopo l'ora corrente.

**Nota**  
I dispositivi di un gruppo multicast non possono identificare il momento in cui viene ricevuto un messaggio di downlink.

## Prerequisiti
<a name="lorawan-multicast-downlink-prereq"></a>

Prima di poter inviare un messaggio di downlink, è necessario aver creato un gruppo multicast e aver aggiunto correttamente i dispositivi al gruppo per il quale si desidera inviare un messaggio di downlink. Non è possibile aggiungere altri dispositivi dopo che è stato pianificato un orario di inizio per la sessione multicast. Per ulteriori informazioni, consultare [Crea gruppi multicast e aggiungi dispositivi al gruppo](lorawan-create-multicast-groups.md).

Se uno dei dispositivi non è stato aggiunto correttamente, il gruppo multicast e lo stato del dispositivo conterranno informazioni per aiutarti a risolvere gli errori. Se gli errori persistono, consultare [Monitora e risolvi lo stato del gruppo multicast e dei dispositivi del gruppo](lorawan-multicast-status.md) per informazioni sulla risoluzione di questi errori.

## Pianificazione di un messaggio di downlink utilizzando la console
<a name="lorawan-multicast-downlink-console"></a>

Per inviare un messaggio di downlink utilizzando la console, vai alla pagina [Multicast groups](https://console.aws.amazon.com/iot/home#/wireless/multicastGroups) (Gruppi multicast) della console AWS IoT e scegli il gruppo multicast creato. Nella pagina dei dettagli gruppo multicast, scegli **Schedule downlink message** (Pianifica il messaggio di downlink) e quindi **Schedule downlink session** (Pianifica una sessione downlink).

1. 

**Pianificazione della finestra del messaggio di downlink**

   È possibile impostare una finestra temporale per l'invio di un messaggio di downlink ai dispositivi del gruppo multicast. Il messaggio di downlink deve essere programmato entro 48 ore.

   Per pianificare la sessione multicast, specificare i seguenti parametri:
   + **Start date** (Data di inizio) e **Start time** (Ora di inizio):: la data e l'ora di inizio devono essere successive di almeno 30 minuti e 48 ore prima rispetto all'ora corrente.
**Nota**  
L'ora specificata è in UTC, considera quindi di verificare la differenza di fuso orario con la tua area geografica al momento della pianificazione della finestra di downlink. 
   + **Session timeout** (Timeout della sessione): il tempo trascorso il quale la sessione multicast verrà interrotta se non è stato ricevuto alcun messaggio di downlink. Il timeout minimo ammesso è di 60 secondi. Il valore massimo di timeout è di 2 giorni per i gruppi multicast di classe B e 18 ore per i gruppi multicast di classe C.

1. 

**Configurazione del messaggio di downlink**

   Per configurare il messaggio di downlink, specificare i seguenti parametri:
   + **Data rate** (Velocità dati): Scegli una velocità dati per il tuo messaggio downlink. La velocità dati dipende dalla RFRegion e dalle dimensioni del payload. La velocità dati predefinita è 8 per la regione US915 e 0 per la regione EU868.
   + **Frequency (Frequenza)**: scegli una frequenza per l'invio del tuo messaggio di downlink. Per evitare conflitti di messaggistica, scegli una frequenza disponibile a seconda della regione.
   + **FPort**: Scegli una porta di frequenza disponibile per l'invio del messaggio di downlink ai tuoi dispositivi.
   + **Payload**: specifica la dimensione massima del payload in base alla velocità dati. Utilizzando la velocità dati predefinita, è possibile avere una dimensione massima del payload di 33 byte nella RfRregion US915 e 51 byte nella RfRegion EU868. Utilizzando velocità dati più elevate, è possibile trasferire fino a una dimensione massima del payload di 242 byte.

   Per pianificare il tuo messaggio di downlink, scegli **Schedule** (Pianifica).

## Pianificazione di un messaggio di downlink utilizzando l'API
<a name="lorawan-multicast-downlink-api"></a>

Per pianificare un messaggio di downlink utilizzando l'API, utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartMulticastGroupSession.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartMulticastGroupSession.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-multicast-group-session](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-multicast-group-session).

È possibile utilizzare le seguenti operazioni API o comandi CLI per ottenere informazioni ed eliminare un gruppo multicast.
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetMulticastGroupSession.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetMulticastGroupSession.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-multicast-group-session](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-multicast-group-session)
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteMulticastGroupSession.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteMulticastGroupSession.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group-session](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group-session)

Per inviare dati a un gruppo multicast dopo l'avvio della sessione, utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToMulticastGroup.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-multicast-group](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-multicast-group).

## Passaggi successivi
<a name="lorawan-multicast-downlink-next"></a>

Dopo aver configurato un messaggio di downlink da inviare ai dispositivi, il messaggio viene inviato all'inizio della sessione. I dispositivi di un gruppo multicast non possono confermare che il messaggio sia stato ricevuto.

### Configurazione di ulteriori messaggi di downlink
<a name="lorawan-multicast-downlink-additional"></a>

È inoltre possibile configurare ulteriori messaggi di downlink da inviare ai dispositivi del gruppo multicast:
+ Per configurare ulteriori messaggi di downlink dalla console:

  1. Passare alla pagina [Multicast groups](https://console.aws.amazon.com/iot/home#/wireless/multicastGroups) (Gruppi multicast) della console AWS IoT e scegli il gruppo multicast creato.

  1. Nella pagina dei dettagli gruppo multicast, scegli **Schedule downlink message** (Pianifica il messaggio downlink) e quindi **Configure additional downlink message** (Configura ulteriori messaggi di downlink).

  1. Specifica i parametri **Data rate** (Velocità dati), **Frequency**(Frequenza), **FPort** e **Payload** come hai fatto per il primo messaggio di downlink.
+ Per configurare ulteriori messaggi di downlink utilizzando l'API o la CLI, chiamare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToMulticastGroup.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToMulticastGroup.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-multicast-group](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/send-data-to-multicast-group) per ogni messaggio di downlink aggiuntivo.

### Aggiornamento della pianificazione delle sessioni
<a name="lorawan-multicast-downlink-update"></a>

È inoltre possibile aggiornare la pianificazione della sessione per utilizzare una nuova data e ora di inizio della la sessione multicast. Con la pianificazione di una nuova sessione, la sessione precedentemente pianificata verrà sostituita.

**Nota**  
Aggiorna la sessione multicast solo quando necessario. Questi aggiornamenti possono far sì che un gruppo di dispositivi si riattivi per una lunga durata e scarichi la batteria.
+ Per aggiornare la pianificazione della sessione dalla console:

  1. Passare alla pagina [Multicast groups](https://console.aws.amazon.com/iot/home#/wireless/multicastGroups) (Gruppi multicast) della console AWS IoT e scegli il gruppo multicast creato.

  1. Nella pagina dei dettagli gruppo multicast, scegliere **Schedule downlink message** (Pianifica il messaggio downlink) e quindi **Update session schedule** (Aggiorna pianificazione sessione). 

  1. Specifica i parametri **State date** (Data dello stato), **Start time** (Ora di inizio), e **Timeout session** (Timeout della sessione), in modo analogo a quanto fatto per il primo messaggio di downlink.
+ Per aggiornare la pianificazione della sessione dall'API o dalla CLI, utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartMulticastGroupSession.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartMulticastGroupSession.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-multicast-group-session](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-multicast-group-session).

# Aggiornamenti Firmware Over-The-Air (FUOTA) per dispositivi AWS IoT Core per LoRaWAN
<a name="lorawan-mc-fuota-overview"></a>

Usa gli aggiornamenti Firmware Over-The-Air (FUOTA) per distribuire gli aggiornamenti del firmware su dispositivi AWS IoT Core per LoRaWAN.

Utilizzando FUOTA, è possibile inviare aggiornamenti firmware a singoli dispositivi o a un gruppo di dispositivi. È inoltre possibile inviare aggiornamenti firmware a più dispositivi creando un gruppo multicast. Per prima cosa aggiungi i tuoi dispositivi al gruppo multicast, quindi invia l'immagine di aggiornamento del firmware a tutti i dispositivi. Si consiglia di firmare digitalmente le immagini del firmware, in modo che i dispositivi che ricevono le immagini possano verificare che provengano dalla sorgente corretta.

Con i FUOTA di AWS IoT Core per LoRaWAN, puoi:
+ Distribuire le nuove immagini del firmware o immagini delta a un solo dispositivo o ad un gruppo di dispositivi.
+ Verificare l'autenticità e l'integrità del nuovo firmware dopo che è stato distribuito ai dispositivi.
+ Monitora l'avanzamento di un'implementazione e i problemi di debug in caso di distribuzione non riuscita.

Il supporto di AWS IoT Core per LoRaWAN per i gruppi FUOTA e multicast si basa sulle seguenti specifiche di [LoRa Alliance](https://lora-alliance.org/about-lorawan):
+ Specifiche di configurazione multicast remota LoRaWAN, TS005-2.0.0
+ Specifiche di trasporto frammentate del blocco dati LoRaWAN, TS004-2.0.0
+ Specifiche di sincronizzazione dell'orologio a livello applicativo LoRaWAN, TS003-2.0.0

**Nota**  
AWS IoT Core per LoRaWAN esegue automaticamente la sincronizzazione dell'orologio secondo le specifiche LoRa Alliance. Utilizza la funzione `AppTimeReq` per rispondere all'orario lato server per i dispositivi che lo richiedono, utilizzando la segnalazione ClockSync.

 Il seguente video descrive come creare attività FUOTA AWS IoT Core per LoRaWAN e ti guida attraverso il processo di aggiunta di dispositivi all'attività e di pianificazione di un'attività FUOTA.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/0Yd6PFwL-IM/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/0Yd6PFwL-IM)


**Topics**
+ [Panoramica del processo FUOTA](lorawan-fuota-mc-process.md)
+ [Creazione di attività FUOTA e dotazione dell'immagine del firmware](lorawan-fuota-create-task.md)
+ [Aggiunta di dispositivi e gruppi multicast per un'attività FUOTA e pianificazione di una sessione FUOTA](lorawan-fuota-add-devices.md)
+ [Monitoraggio e risoluzione dello stato dell'attività FUOTA e dei dispositivi aggiunti all'attività](lorawan-fuota-status.md)

# Panoramica del processo FUOTA
<a name="lorawan-fuota-mc-process"></a>

Il seguente diagramma mostra come AWS IoT Core per LoRaWAN esegue il processo FUOTA per i tuoi dispositivi finali. Se stai aggiungendo singoli dispositivi alla sessione FUOTA, puoi saltare i passaggi per creare e configurare il tuo gruppo multicast. Puoi aggiungere i tuoi dispositivi direttamente a una sessione FUOTA, poi AWS IoT Core per LoRaWAN avvierà il processo di aggiornamento del firmware. 

![\[Immagine che mostra come AWS IoT Core per LoRaWAN esegue aggiornamenti FUOTA per i tuoi dispositivi finali.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-fuota-flow.png)


Per eseguire i FUOTA per i tuoi dispositivi, prima di tutto crea l'immagine del firmware con firma digitale, poi configura i dispositivi e i gruppi multicast che desideri aggiungere all'attività FUOTA. Dopo aver avviato una sessione FUOTA, i dispositivi finali raccolgono tutti i frammenti, da cui ricostruiscono l'immagine, riportano lo stato a AWS IoT Core per LoRaWAN, e applicano la nuova immagine del firmware.

Di seguito sono illustrati i diversi passaggi del processo FUOTA:

1. 

**Crea un'immagine firmware o un'immagine delta con una firma digitale**

   Affinché AWS IoT Core per LoRaWAN possa eseguire i FUOTA per i tuoi dispositivi LoRaWAN, ti consigliamo di firmare digitalmente l'immagine del firmware o l'immagine delta quando invii gli aggiornamenti del firmware via etere (OTA). I dispositivi che ricevono le immagini possono quindi verificare che questa provenga dalla sorgente giusta.

   L'immagine del firmware non deve avere dimensioni superiori a 1 megabyte. Maggiore è la dimensione del firmware, maggiore sarà il tempo necessario per completare il processo di aggiornamento. Per un trasferimento dati più rapido o se la nuova immagine è più grande di 1 Megabyte, utilizza un'immagine delta, che è parte della nuova immagine e rappresenta il delta tra la nuova immagine del firmware e l'immagine precedente.
**Nota**  
AWS IoT Core per LoRaWAN non fornisce lo strumento di generazione della firma digitale e il sistema di gestione delle versioni del firmware. È possibile utilizzare qualsiasi strumento di terze parti per generare la firma digitale per l'immagine del firmware. Si consiglia di utilizzare uno strumento di firma digitale come quello incorporato in [ARM Mbed GitHub repository (Repository GitHub ARM Mbed)](https://github.com/armmbed/mbed-os-example-lorawan-fuota), che include anche strumenti per la generazione dell'immagine delta e per i dispositivi per l'utilizzo di tale immagine.

1. 

**Identificazione e configurazione dei dispositivi per FUOTA**

   Dopo aver identificato i dispositivi per FUOTA, inviare gli aggiornamenti del firmware a dispositivi singoli o multipli.
   + Per inviare gli aggiornamenti del firmware a più dispositivi, crea un gruppo multicast e configuralo con i dispositivi finali. Per ulteriori informazioni, consultare [Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi](lorawan-multicast-groups.md).
   + Per inviare aggiornamenti firmware a singoli dispositivi, aggiungi tali dispositivi alla sessione FUOTA e quindi esegui l'aggiornamento del firmware.

1. 

**Pianificazione di una finestra di distribuzione e configurazione della sessione di frammentazione**

   Se è stato creato un gruppo multicast, è possibile specificare la finestra di distribuzione di classe B o di classe C, per determinare quando i dispositivi possono ricevere i frammenti da AWS IoT Core per LoRaWAN. I dispositivi potrebbero funzionare in classe A, prima di passare alla modalità di classe B o classe C. È inoltre necessario specificare l'ora di inizio della sessione.

   I dispositivi di classe B o di classe C si riattivano alla finestra di distribuzione specificata e iniziano a ricevere i pacchetti di downlink. I dispositivi che funzionano in modalità classe C possono consumare più energia rispetto ai dispositivi di classe B. Per ulteriori informazioni, consultare [Classi di dispositivi](lorawan-manage-end-devices.md#lorawan-device-classes).

1. 

**I dispositivi finali segnalano lo stato a AWS IoT Core per LoRaWAN, e aggiornano l'immagine firmware**

   Dopo aver configurato una sessione di frammentazione, i dispositivi finali e AWS IoT Core per LoRaWAN eseguono la procedura seguente per aggiornare il firmware del dispositivo.

   1. Poiché i dispositivi LoRaWAN hanno una bassa velocità di dati, per avviare il processo FUOTA, AWS IoT Core per LoRaWAN imposta una sessione di frammentazione per frammentare l'immagine del firmware. Poi invia questi frammenti ai dispositivi finali.

   1. Dopo che AWS IoT Core per LoRaWAN invia i frammenti di immagine, i dispositivi finali LoRaWAN eseguono le seguenti attività.

      1. Raccolgono i frammenti e, successivamente, ricostruiscono i l'immagine binaria da questi frammenti.

      1. Controllano la firma digitale dell'immagine ricostruita per autenticare l'immagine e verificano che provenga dalla sorgente giusta.

      1. Confrontano la versione del firmware da AWS IoT Core per LoRaWAN con la versione corrente.

      1. Segnalano lo stato delle immagini frammentate trasferite in AWS IoT Core per LoRaWAN, quindi applicano la nuova immagine del firmware.
**Nota**  
In alcuni casi, i dispositivi finali riportano lo stato delle immagini frammentate trasferite in AWS IoT Core per LoRaWAN prima di controllare la firma digitale dell'immagine del firmware.

Ora che conosci il processo FUOTA, è possibile creare l'attività FUOTA e aggiungere dispositivi all'attività per aggiornare il firmware. Per ulteriori informazioni, consultare [Creazione di attività FUOTA e dotazione dell'immagine del firmware](lorawan-fuota-create-task.md).

# Creazione di attività FUOTA e dotazione dell'immagine del firmware
<a name="lorawan-fuota-create-task"></a>

Per aggiornare il firmware dei dispositivi LoRaWAN, creare innanzitutto un'attività FUOTA e fornire l'immagine del firmware, provvista di firma digitale, che si desidera utilizzare per l'aggiornamento. È quindi possibile aggiungere dispositivi e gruppi multicast all'attività e pianificare una sessione FUOTA. All'inizio della sessione, AWS IoT Core per LoRaWAN imposta una sessione di frammentazione e i dispositivi finali raccolgono i frammenti, ricostruiscono l'immagine e applicano il nuovo firmware. Per ulteriori informazioni sul processo FUOTA, consulta [Panoramica del processo FUOTA](lorawan-fuota-mc-process.md).

Di seguito viene illustrato come creare un'attività FUOTA e caricare l'immagine del firmware o l'immagine delta che verrà memorizzata in un bucket S3.

## Prerequisiti
<a name="lorawan-fuota-task-prereq"></a>

Prima di poter eseguire i FUOTA, l'immagine del firmware deve essere firmata digitalmente in modo che i dispositivi finali possano verificare l'autenticità dell'immagine al momento dell'applicazione. È possibile utilizzare qualsiasi strumento di terze parti per generare la firma digitale per l'immagine del firmware. Si consiglia di utilizzare uno strumento di firma digitale come quello incorporato in [ARM Mbed GitHub repository (Repository GitHub ARM Mbed)](https://github.com/armmbed/mbed-os-example-lorawan-fuota), che include anche strumenti per la generazione dell'immagine delta e per i dispositivi per l'utilizzo di tale immagine.

## Creazione di un'attività FUOTA e caricamento dell'immagine del firmware utilizzando la console
<a name="lorawan-fuota-task-console"></a>

Per creare un'attività FUOTA e caricare l'immagine del firmware utilizzando la console, vai alla scheda [FUOTA tasks](https://console.aws.amazon.com/iot/home#/wireless/fuotaTasks) (Attività FUOTA) della console e quindi scegli **Create FUOTA task** (Crea attività FUOTA).

1. 

**Creazione di un'attività FUOTA**

   Per creare l'attività FUOTA, specificare le proprietà e i tag dell'attività.

   1. 

**Specificazione proprietà delle attività FUOTA**  
Per specificare le proprietà delle attività FUOTA, immettere le seguenti informazioni.
      + **Name** (Nome): Inserire un nome univoco per l'attività FUOTA. Il nome può includere solo lettere, numeri, trattini e caratteri di sottolineatura. Non può contenere spazi.
      + **Descrizione**: puoi fornire una descrizione per il gruppo multicast. La descrizione può contenere fino a 2.048 caratteri.
      + **RFRegion**: imposta la banda di frequenza per l'attività FUOTA. La banda di frequenza deve corrispondere a quella utilizzata per effettuare il provisioning dei dispositivi wireless o dei gruppi multicast.

   1. 

**Tag per attività FUOTA**  
È inoltre possibile fornire qualsiasi coppia chiave-valore come **Tag** per la tua attività FUOTA. Scegliere **Next** (Successivo) per continuare la creazione dell'immagine.

1. 

**Caricamento dell'immagine del firmware**

   Scegliere il file immagine del firmware che si desidera utilizzare per aggiornare il firmware dei dispositivi da aggiungere all'attività FUOTA. Il file di immagine del firmware è archiviato in un bucket S3. È possibile fornire a AWS IoT Core per LoRaWAN le autorizzazioni per accedere all'immagine del firmware per tuo conto. Si consiglia di firmare digitalmente le immagini del firmware in modo da verificarne l'autenticità quando viene eseguito l'aggiornamento del firmware.

   1. 

**Scelta del file immagine del firmware**  
È possibile caricare un nuovo file immagine del firmware in un bucket S3 o scegliere un'immagine esistente già caricata in un bucket S3.
**Nota**  
Il file di immagine del firmware non deve avere dimensioni superiori a 1 megabyte. Maggiore è la dimensione del firmware, maggiore sarà il tempo necessario per completare il processo di aggiornamento.
      + Per utilizzare un'immagine esistente, scegli **Select an existing firmware image** (Seleziona un'immagine firmware esistente), scegli **Browse S3** (Sfoglia S3) e quindi scegli il file immagine del firmware che desideri utilizzare.

        AWS IoT Core per LoRaWAN popola l'URL S3, ovvero il percorso del file immagine del firmware nel bucket S3. Il formato del percorso è `s3://bucket_name/file_name`. Per visualizzare il file nella console [Amazon Simple Storage Service](https://console.aws.amazon.com/s3/), scegli **View** (Visualizza).
      + Per caricare una nuova immagine firmware.

        1. Scegliere **Upload a new firmware image** (Carica una nuova immagine del firmware) e caricare l'immagine del firmware. Il file immagine non deve essere superiore a 1 megabyte. 

        1. Per creare un bucket S3 e inserire un **Bucket name** (Nome bucket) per memorizzare il file immagine del firmware, scegliere **Create S3 bucket** (Crea bucket S3).

   1. 

**Autorizzazioni per accedere al bucket**  
Puoi creare un nuovo ruolo di servizio o scegliere un ruolo esistente per permettere a AWS IoT Core per LoRaWAN di accedere al file immagine del firmware nel bucket S3 per tuo conto. Seleziona **Avanti**.

      Per creare un nuovo ruolo, è possibile inserire un nome di ruolo o lasciarlo vuoto per generare automaticamente un nome casuale. Per visualizzare le autorizzazioni della policy che consentono l'accesso al bucket S3, scegliere **View policy permissions** (Visualizza le autorizzazioni della policy).

   Per ulteriori informazioni sull'utilizzo di un bucket S3 per archiviare l'immagine e concedere a AWS IoT Core per LoRaWAN le autorizzazioni per l'accesso, vedi [Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM](lorawan-upload-firmware-s3bucket.md). 

1. 

**Rivedi e crea**

   Per creare l'attività FUOTA, esaminare i dettagli di configurazione e attività FUOTA specificati e scegliere **Create task** (Crea attività).

## Creazione di attività FUOTA e caricamento dell'immagine del firmware utilizzando l'API
<a name="lorawan-fuota-task-api"></a>

Per creare un'attività FUOTA e specificare il file immagine del firmware utilizzando l'API, utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-fuota-task.html). È possibile fornire questo file `input.json` come input per il comando `create-fuota-task`. Quando si utilizza l'API o la CLI, il file immagine del firmware fornito come input deve essere già caricato in un bucket S3. È inoltre possibile specificare il ruolo IAM che fornisce a AWS IoT Core per LoRaWAN l'accesso all'immagine del firmware nel bucket S3.

```
aws iotwireless create-fuota-task \
    --cli-input-json file://input.json
```

dove:

**Contenuti di input.json**

```
{   
   "Description": "FUOTA task to update firmware of devices in multicast group.",
   "FirmwareUpdateImage": "S3:/firmware_bucket/firmware_image
   "FirmwareUpdateRole": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI"
   "LoRaWAN": { 
      "RfRegion": "US915"
   },
   "Name": "FUOTA_Task_MC"  
}
```

Dopo aver creato l'attività FUOTA, è possibile utilizzare le seguenti operazioni API o comandi CLI per aggiornare, eliminare o ottenere informazioni sull'attività FUOTA.
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateFuotaTask) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-fuota-task.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetFuotaTask) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListFuotaTasks](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListFuotaTasks) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-fuota-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-fuota-tasks.html) 
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteFuotaTask) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-fuota-task.html) 

## Passaggi successivi
<a name="lorawan-fuota-next-steps"></a>

Dopo aver creato un'attività FUOTA e fornito l'immagine del firmware, è possibile aggiungere dispositivi all'attività per aggiornare il firmware. È possibile aggiungere singoli dispositivi o gruppi multicast all'attività. Per ulteriori informazioni, consultare [Aggiunta di dispositivi e gruppi multicast per un'attività FUOTA e pianificazione di una sessione FUOTA](lorawan-fuota-add-devices.md).

# Aggiunta di dispositivi e gruppi multicast per un'attività FUOTA e pianificazione di una sessione FUOTA
<a name="lorawan-fuota-add-devices"></a>

Dopo aver creato un'attività FUOTA, è possibile aggiungere dispositivi all'attività per cui si desidera aggiornare il firmware. Dopo aver aggiunto correttamente i dispositivi all'attività FUOTA, è possibile pianificare una sessione FUOTA per aggiornare il firmware del dispositivo. 
+ Se si dispone di un numero limitato di dispositivi, è possibile aggiungere questi dispositivi direttamente all'attività FUOTA.
+ Se si dispone di un numero elevato di dispositivi per cui si desidera aggiornare il firmware, è possibile aggiungere questi dispositivi ai gruppi multicast e in seguito aggiungere i gruppi multicast all'attività FUOTA. Per ulteriori informazioni sulla creazione di gruppi multicast, consulta [Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi](lorawan-multicast-groups.md).

**Nota**  
È possibile aggiungere singoli dispositivi o gruppi multicast all'attività FUOTA. Non è possibile aggiungere sia dispositivi che gruppi multicast all'attività.

Dopo aver aggiunto i dispositivi o i gruppi multicast, è possibile avviare una sessione di aggiornamento firmware. AWS IoT Core per LoRaWAN raccoglie l'immagine del firmware, frammenta le immagini e quindi memorizza i frammenti in un formato crittografato. I dispositivi finali raccolgono i frammenti e applicano la nuova immagine del firmware. Il tempo necessario per l'aggiornamento del firmware dipende dalle dimensioni dell'immagine e dalla frammentazione delle immagini. Al termine dell'aggiornamento del firmware, i frammenti crittografati dell'immagine del firmware memorizzati da AWS IoT Core per LoRaWAN vengono eliminati. È ancora possibile trovare l'immagine del firmware nel bucket S3.

## Prerequisiti
<a name="lorawan-fuota-devices-prereq"></a>

Prima di poter aggiungere dispositivi o gruppi multicast all'attività FUOTA, procedere come segue.
+ Devi aver già creato l'attività FUOTA e aver fornito l'immagine del firmware. Per ulteriori informazioni, consultare [Creazione di attività FUOTA e dotazione dell'immagine del firmware](lorawan-fuota-create-task.md).
+ Effettua il provisioning dei dispositivi wireless per cui desideri aggiornare il firmware del dispositivo. Per informazioni su come eseguire l'onboarding del dispositivo, consulta [Integra i tuoi dispositivi su AWS IoT Core per LoRaWAN](lorawan-onboard-end-devices.md).
+ Per aggiornare il firmware di più dispositivi, è possibile aggiungerli a un gruppo multicast. Per ulteriori informazioni, consultare [Creazione di gruppi multicast per inviare un payload di downlink a più dispositivi](lorawan-multicast-groups.md).
+ Quando si esegue l'onboarding dei dispositivi in AWS IoT Core per LoRaWAN, specificare il parametro `FPorts` della configurazione FUOTA. Se utilizzi un dispositivo LoRaWan v1.0.x, devi anche specificare il `GenAppKey`. Per maggiori informazioni sulla denominazione dei parametri di configurazione, vedere [Preparazione dei dispositivi per la configurazione multicast e FUOTA](lorawan-prepare-devices-multicast.md).

## Aggiunta di dispositivi a un'attività FUOTA e pianificazione di una sessione FUOTA utilizzando la console
<a name="lorawan-fuota-devices-console"></a>

Per aggiungere dispositivi o gruppi multicast e pianificare una sessione FUOTA utilizzando la console, vai alla sezione [FUOTA tasks](https://console.aws.amazon.com/iot/home#/wireless/fuotaTasks) (Attività FUOTA) della console. Quindi, scegli l'attività FUOTA a cui desideri aggiungere i dispositivi ed esegui l'aggiornamento del firmware.

**Aggiunta di dispositivi e gruppi multicast**

1. È possibile aggiungere singoli dispositivi o gruppi multicast all'attività FUOTA. Non è possibile aggiungere sia dispositivi che gruppi multicast alla stessa attività FUOTA. Per aggiungere dispositivi utilizzando la console, esegui queste operazioni.

   1. In **FUOTA task details** (Dettagli attività FUOTA), scegli **Add device**(Aggiungi dispositivo).

   1. Scegli la banda di frequenza o **RFRegion** per i dispositivi aggiunti all'attività. Questo valore deve corrispondere al **RFRegion** che hai scelto per l'attività FUOTA.

   1. Scegli se desideri aggiungere singoli dispositivi o gruppi multicast all'attività.
      + Per aggiungere singoli dispositivi, scegli **Add individual devices** (Aggiunta di dispositivi individuali) e inserisci l'ID di ciascun dispositivo che desideri aggiungere all'attività FUOTA.
      + Per aggiungere gruppi multicast, scegli **Add multicast groups** (Aggiungi gruppi multicast) e aggiungi i tuoi gruppi multicast all'attività. È possibile filtrare i gruppi multicast che si desidera aggiungere all'attività in base al profilo o ai tag del dispositivo. Quando si filtra in base al profilo del dispositivo, è possibile scegliere gruppi multicast con dispositivi con un profilo con l'opzione **Supporta classe B** o **Supporta la classe C** abilitata.

1. 

**Pianificazione della sessione FUOTA**

   Dopo aver aggiunto correttamente i dispositivi o i gruppi multicast, è possibile pianificare una sessione FUOTA. Per pianificare una sessione, esegui le operazioni descritte di seguito.

   1. Scegliere l'attività FUOTA per cui si desidera aggiornare il firmware del dispositivo, quindi scegliere **Schedule FUOTA session** (Pianifica sessione FUOTA).

   1. Specifica una **Start date** (Data di inizio) e una **Start time (Ora di inizio)** per la tua sessione FUOTA. Assicurati che l'ora di inizio sia posticipata di 30 o più minuti rispetto all'ora corrente.

## Aggiunta di dispositivi a un'attività FUOTA e pianificazione di una sessione FUOTA utilizzando l'API
<a name="lorawan-fuota-devices-api"></a>

Puoi utilizzare l'API Wireless AWS IoT o la CLI per aggiungere dispositivi wireless o gruppi multicast all'attività FUOTA. È quindi possibile pianificare una sessione FUOTA. 

1. 

**Aggiunta di dispositivi e gruppi multicast**

   È possibile associare dispositivi wireless o gruppi multicast all'attività FUOTA.
   + Per associare singoli dispositivi all'attività FUOTA, utilizza l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateWirelessDeviceWithFuotaTask.html) o il comando della CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-wireless-device-with-fuota-task.html) e inserisci `WirelessDeviceID` come input.

     ```
     aws iotwireless associate-wireless-device-with-fuota-task \
         --id "01a23cde-5678-4a5b-ab1d-33456808ecb2"
         --wireless-device-id "ab0c23d3-b001-45ef-6a01-2bc3de4f5333"
     ```
   + Per associare gruppi multicast all'attività FUOTA, utilizza l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateMulticastGroupWithFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateMulticastGroupWithFuotaTask.html) o il comando della CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-multicast-group-with-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/associate-multicast-group-with-fuota-task.html) e inserisci `MulticastGroupID` come input.

     ```
     aws iotwireless associate-multicast-group-with-FUOTA-task \
         --id 01a23cde-5678-4a5b-ab1d-33456808ecb2"
         --multicast-group-id
     ```

   Dopo aver associato i dispositivi wireless o il gruppo multicast all'attività FUOTA, utilizzare le seguenti operazioni API o comandi CLI per creare un elenco dei dispositivi o dei gruppi multicast, o per dissociarli dall'attività.
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateWirelessDeviceFromFuotaTask.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-wireless-device-from-fuota-task.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateMulticastGroupFromFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DisassociateMulticastGroupFromFuotaTask.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-multicast-group-from-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/disassociate-multicast-group-from-fuota-task.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-multicast-group.html) 
   + [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListMulticastGroups.html) o [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-multicast-groups.html) 
**Nota**  
L'API:  
`ListWirelessDevices` può fornire un elenco dei dispositivi wireless in generale e dei dispositivi associati a un gruppo multicast, quando `MulticastGroupID` viene utilizzato come filtro. L'API fornisce un elenco dei dispositivi wireless associati a un'attività FUOTA quando `FuotaTaskID` viene utilizzato come filtro.
`ListMulticastGroups` può fornire un elenco dei gruppi multicast in generale e dei gruppi multicast associati a un'attività FUOTA quando `FuotaTaskID` viene utilizzato come filtro.

1. 

**Pianificazione della sessione FUOTA**

   Dopo aver aggiunto correttamente i dispositivi o i gruppi multicast all'attività FUOTA, è possibile avviare una sessione FUOTA per aggiornare il firmware del dispositivo. L'ora di inizio deve essere posticipata di 30 o più minuti rispetto all'ora corrente. Per pianificare una sessione FUOTA utilizzando l'API o la CLI, utilizzare l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartFuotaTask.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/start-fuota-task.html).

   Dopo aver avviato una sessione FUOTA, non è più possibile aggiungere dispositivi o gruppi multicast all'attività. Puoi ottenere informazioni sullo stato della sessione FUOTA utilizzando l'operazione API [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GettFuotaTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GettFuotaTask.html) o il comando CLI [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-fuota-task.html).

# Monitoraggio e risoluzione dello stato dell'attività FUOTA e dei dispositivi aggiunti all'attività
<a name="lorawan-fuota-status"></a>

Dopo aver eseguito il provisioning dei dispositivi wireless e creato quanti gruppi multicast si desiderino utilizzare, è possibile avviare una sessione FUOTA eseguendo la procedura seguente.

## Stato dell'attività FUOTA
<a name="lorawan-fuota-task-status"></a>

L'attività FUOTA può mostrare nella Console di gestione AWS uno dei seguenti messaggi di stato. 
+ 

**In attesa**  
Questo stato indica che hai creato un'attività FUOTA, ma che l'attività è ancora sprovvista di una sessione di aggiornamento del firmware. Verrà visualizzato questo messaggio di stato quando il gruppo è stato creato. Nel frattempo, è possibile aggiornare l'attività FUOTA e associare o disassociare i dispositivi dal gruppo multicast o dall'attività. Dopo che lo stato è cambiato da **Pending** (In attesa), non possono essere aggiunti ulteriori dispositivi al gruppo.
+ 

**In attesa di sessione FUOTA**  
Dopo che i tuoi dispositivi sono stati aggiunti con successo nell'attività FUOTA, quando l'attività ha una sessione di aggiornamento firmware pianificata verrà visualizzato questo messaggio di stato. Non è possibile, nel frattempo, aggiornare o aggiungere dispositivi alla sessione FUOTA. Se annulli la sessione FUOTA, lo stato del gruppo cambia in **Pending** (In attesa). 
+ 

**In FUOTA session (In sessione FUOTA)**  
All'inizio della sessione FUOTA, verrà visualizzato questo messaggio di stato. La sessione di frammentazione inizia e i dispositivi finali raccolgono i frammenti, ricostruiscono l'immagine del firmware, confrontano la nuova versione del firmware con la versione originale, e applicano la nuova immagine.
+ 

**Sessione FUOTA completata**  
Dopo che i dispositivi finali hanno segnalato a AWS IoT Core per LoRaWAN che è stata applicata la nuova immagine del firmware o, quando la sessione scade, la sessione FUOTA è contrassegnata come completata e il seguente stato sarà visibile.

  Questo stato compare anche in uno dei seguenti casi, quindi assicurati di verificare se l'aggiornamento del firmware sia stato applicato correttamente ai dispositivi.
  + Quando lo stato dell'attività FUOTA era **FUOTA session waiting** (In attesa di sessione FUOTA) e c'è un errore del bucket S3, ad esempio il collegamento al file immagine nel bucket S3 non è corretto o AWS IoT Core per LoRaWAN non dispone di autorizzazioni sufficienti per accedere al file nel bucket.
  + Quando lo stato dell'attività FUOTA era **FUOTA session waiting** (In attesa di sessione FUOTA) e c'è una richiesta per avviare una sessione FUOTA, ma non viene ricevuta una risposta dai dispositivi o dai gruppi multicast nell'attività FUOTA.
  + Quando lo stato dell'attività FUOTA era **In FUOTA session** (Sessione FUOTA in corso) e i dispositivi o i gruppi multicast non hanno inviato alcun frammento per un certo periodo di tempo, il che comporta il timeout della sessione.
+ 

**Delete waiting (Eliminazione attesa)**  
Se elimini l'attività FUOTA che si trova in uno degli altri stati, verrà visualizzato questo stato. Un'operazione di eliminazione è permanente e non può essere annullata. Questa operazione può richiedere tempo e lo stato del gruppo sarà **Delete Waiting** (Eliminazione dell'attesa) fino a quando l'attività FUOTA non sarà eliminata. Dopo che l'attività FUOTA entra in questo stato, non può passare a uno degli altri stati.

## Stato dei dispositivi in un'attività FUOTA
<a name="lorawan-fuota-device-status"></a>

L'attività FUOTA può mostrare nella Console di gestione AWS uno dei seguenti messaggi di stato. È possibile passare il mouse su ciascun messaggio di stato per ottenere ulteriori informazioni su ciò che indica.
+ 

**Initial**  
Quando è l'ora di inizio della sessione FUOTA, AWS IoT Core per LoRaWAN verifica che il dispositivo sia provvisto del pacchetto supportato per l'aggiornamento del firmware. Se il dispositivo è provvisto del pacchetto supportato, viene avviata la sessione FUOTA per il dispositivo. L'immagine del firmware è frammentata e i frammenti vengono inviati al dispositivo. Quando viene visualizzato questo stato, significa che la sessione FUOTA per il dispositivo non è ancora iniziata.
+ 

**Package unsupported (Pacchetto non supportato)**  
Se il dispositivo non dispone del pacchetto FUOTA supportato, verrà mostrato questo stato. Se il pacchetto di aggiornamento del firmware non è supportato, la sessione FUOTA del dispositivo non può essere avviata. Per risolvere questo errore, verifica che il firmware del dispositivo possa ricevere aggiornamenti firmware utilizzando FUOTA.
+ 

**Algoritmo di frammentazione non supportato**  
All'inizio della sessione FUOTA, AWS IoT Core per LoRaWAN configura una sessione di frammentazione per il tuo dispositivo. Se viene visualizzato questo stato, significa che il tipo di algoritmo di frammentazione utilizzato non può essere applicato per l'aggiornamento del firmware del dispositivo. L'errore si verifica perché il dispositivo non dispone del pacchetto FUOTA supportato. Per risolvere questo errore, verifica che il firmware del dispositivo possa ricevere aggiornamenti firmware utilizzando FUOTA.
+ 

**Memoria insufficiente**  
Dopo che AWS IoT Core per LoRaWAN invia i frammenti di immagine, i tuoi dispositivi finali li raccolgono e ricostruiscono l'immagine binaria da questi frammenti. Questo stato viene visualizzato quando il dispositivo non dispone di memoria sufficiente per assemblare i frammenti dell'immagine del firmware in arrivo, il che può comportare l'interruzione prematura della sessione di aggiornamento del firmware. Per risolvere l'errore, verificare che l'hardware del dispositivo possa ricevere questo aggiornamento. Se il dispositivo non è in grado di ricevere questo aggiornamento, utilizzare un'immagine delta per aggiornare il firmware.
+ 

**Indice di frammentazione non supportato**  
L'indice di frammentazione identifica una delle quattro sessioni di frammentazione possibili eseguibili contemporaneamente. Se il dispositivo non supporta il valore dell'indice di frammentazione indicato, viene visualizzato questo stato. Per risolvere il problema, procedi in uno dei seguenti modi. 
  + Avvia una nuova attività FUOTA per il dispositivo. 
  + Se l'errore persiste, passa dalla modalità unicast a multicast.
  + Se l'errore non viene ancora risolto, controllare il firmware del dispositivo.
+ 

**Errori di memoria**  
Questo stato indica che il dispositivo ha riscontrato un errore di memoria durante la ricezione dei frammenti in arrivo da AWS IoT Core per LoRaWAN. Se si verifica questo errore, il dispositivo potrebbe non essere in grado di ricevere questo aggiornamento. Per risolvere l'errore, verificare che l'hardware del dispositivo possa ricevere questo aggiornamento. Se necessario, utilizzare un'immagine delta per aggiornare il firmware del dispositivo.
+ 

**Descrittore errato**  
Il dispositivo non supporta il descrittore indicato. Il descrittore è un campo che descrive il file che verrà trasportato durante la sessione di frammentazione. Se vedi questo errore, contatta [Supporto AWS Center](https://console.aws.amazon.com/support/home#/).
+ 

**Replay conteggio sessioni**  
Questo stato indica che il dispositivo ha precedentemente utilizzato questo conteggio di sessioni. Per risolvere il problema, avviare una nuova attività FUOTA per il dispositivo.
+ 

**Frammenti mancanti**  
Mentre il dispositivo raccoglie i frammenti di immagine da AWS IoT Core per LoRaWAN, ricostruisce la nuova immagine del firmware da frammenti indipendenti e codificati. Se il dispositivo non ha ricevuto tutti i frammenti, la nuova immagine non potrà essere ricostruita e comparirà questo stato. Per risolvere il problema, avviare una nuova attività FUOTA per il dispositivo.
+ 

**MIC error (Errore MIC)**  
Quando il dispositivo ricostruisce la nuova immagine del firmware dai frammenti raccolti, esegue un Message Integrity Check (MIC, Controllo Integrità Messaggi) per verificare l'autenticità dell'immagine e se quest'ultima proviene dalla sorgente corretta. Se il dispositivo rileva una mancata corrispondenza nel MIC dopo aver riassemblato i frammenti, viene mostrato il seguente stato. Per risolvere il problema, avviare una nuova attività FUOTA per il dispositivo.
+ 

**Successful (Riuscito)**  
La sessione FUOTA per il tuo dispositivo ha avuto successo.
**Nota**  
Mentre questo messaggio di stato indica che i dispositivi hanno ricostruito l'immagine dai frammenti e l'hanno verificata, il firmware del dispositivo potrebbe non essere stato aggiornato quando il dispositivo segnala lo stato a AWS IoT Core per LoRaWAN. Verificare se il firmware del dispositivo è stato aggiornato.

## Passaggi successivi
<a name="lorawan-fuota-device-next"></a>

Hai appreso i diversi stati dell'attività FUOTA e dei relativi dispositivi e come risolvere eventuali problemi. Per ulteriori informazioni su ciascuno di questi stati, consulta le [Specifiche di trasporto frammentate del blocco dati LoRaWAN, TS004-1.0.0](https://lora-alliance.org/wp-content/uploads/2020/11/fragmented_data_block_transport_v1.0.0.pdf).

# Monitoraggio del parco istanze di risorse wireless in tempo reale utilizzando l'analizzatore di rete
<a name="network-analyzer-overview"></a>

L'analizzatore di rete utilizza una connessione WebSocket di default per ricevere i registri dei messaggi di traccia in tempo reale per le risorse di connettività wireless. Utilizzando l'analizzatore di rete, è possibile aggiungere le risorse che si desidera monitorare, attivare una sessione di messaggistica di traccia e iniziare a ricevere messaggi di traccia in tempo reale.

Per monitorare le risorse, puoi utilizzare Amazon CloudWatch. Per utilizzare CloudWatch, è necessario impostare un ruolo IAM per configurare la registrazione e quindi attendere che le voci di registro vengano visualizzate nella console. L'analizzatore di rete riduce significativamente il tempo necessario per configurare una connessione e iniziare a ricevere messaggi di traccia, fornendo informazioni di registro just-in-time per il tuo parco istanze di risorse. Per informazioni sul monitoraggio usando CloudWatch, consulta [Monitoraggio delle risorse Wireless AWS IoT con i file di log Amazon CloudWatch](monitoring-cloudwatch.md).

Riducendo i tempi di configurazione e utilizzando le informazioni dei messaggi di traccia, puoi monitorare le tue risorse in modo più efficace, ottenere informazioni significative e risolvere gli errori. È possibile monitorare sia i dispositivi LoRaWAN che i gateway LoRaWAN. Ad esempio, puoi identificare rapidamente un errore di adesione durante l'onboarding di uno dei tuoi dispositivi LoRaWAN. Per eseguire il debug dell'errore, utilizza le informazioni nel registro dei messaggi di traccia fornito.

**Come usare l'analizzatore di rete**  
Per monitorare il parco istanze della risorsa e iniziare a ricevere messaggi di traccia, attenersi ai seguenti passaggi

1. 

**Crea la configurazione dell'analizzatore di rete e aggiungi le risorse**  
Prima di poter attivare la messaggistica di traccia, crea una configurazione dell'analizzatore di rete e aggiungi le risorse alla configurazione. Innanzitutto, specifica le impostazioni di configurazione che includono i livelli di registro e le informazioni sul frame del dispositivo wireless. Quindi, aggiungi le risorse che vuoi monitorare utilizzando il gateway wireless e gli identificatori del dispositivo wireless. 

1. 

**Trasmetti i messaggi di traccia con WebSockets**  
È possibile generare un URL di richiesta preimpostato utilizzando le credenziali per il ruolo IAM per trasmettere i messaggi di traccia dell'analizzatore di rete utilizzando il protocollo WebSocket.

1. 

**Attiva la sessione di messaggistica di traccia e monitora i messaggi di traccia**  
Per iniziare a ricevere messaggi di traccia, attiva la sessione di messaggistica di traccia. Per evitare costi aggiuntivi, è possibile disattivare o chiudere la sessione di messaggistica di traccia dell'analizzatore di rete.

 Il seguente video descrive come lavora l'analizzatore di rete AWS IoT Core per LoRaWAN e ti guida attraverso il processo di aggiunta di risorse e di tracciamento delle attività congiunte utilizzando l'analizzatore di rete stesso.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Qk9pkhL8xjc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Qk9pkhL8xjc)


Gli argomenti seguenti illustrano come creare la configurazione, aggiungere le risorse e attivare la sessione di messaggistica di traccia.

**Topics**
+ [Aggiunta del ruolo IAM necessario per l'analizzatore di rete](network-analyzer-iam.md)
+ [Creazione di una configurazione dell'analizzatore di rete e aggiunta delle risorse](network-analyzer-create-resources.md)
+ [Trasmetti messaggi di traccia dell'analizzatore di rete con WebSockets](network-analyzer-api.md)
+ [Visualizzazione e monitoraggio in tempo reale dei registri dei messaggi di tracciamento dell'analizzatore](network-analyzer-logs.md)
+ [Esegui il debug e la risoluzione dei problemi dei gruppi multicast e delle attività FUOTA utilizzando l'analizzatore di rete](lorawan-network-analyzer-fuota.md)

# Aggiunta del ruolo IAM necessario per l'analizzatore di rete
<a name="network-analyzer-iam"></a>

Quando si utilizza l'analizzatore di rete, è necessario concedere a un utente l'autorizzazione per utilizzare le operazioni API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) e [GetNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetNetworkAnalyzerConfiguration.html) per accedere alle risorse dell'analizzatore di rete. Di seguito vengono illustrate le policy IAM utilizzate per concedere le autorizzazioni.

## Policy IAM per l'analizzatore di rete
<a name="network-analyzer-policies"></a>

Usa una delle seguenti opzioni:
+ 

**Policy wireless con accesso completo**  
Concedi a AWS IoT Core per LoRaWAN la policy di accesso completo collegando la policy **AWSIoTWirelessFullAccess** al tuo ruolo. Per ulteriori informazioni, consulta la sezione [Riepilogo delle policy `AWSIoTWirelessFullAccess`](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess$serviceLevelSummary).
+ 

**Policy IAM con ambito per le API Get e Update**  
Crea la seguente policy IAM nella scheda **Visual editor** (Editor visivo) della pagina [Create policy](https://console.aws.amazon.com/iam/home#/policies$new?step=edit) (Crea policy) della console IAM:

  1. Scegli **IoTWireless** per **Service** (Servizio).

  1. In **Access level** (Livello di accesso) espandi **Read** (Lettura) e scegli **GetNetworkAnalyzerConfiguration**, quindi espandi **Write** (Scrittura) e scegli **UpdateNetworkAnalyzerConfiguration**.

  1. Scegli **Next:Tags** (Successivo: Tag) e inserisci un **nome** per la policy, ad esempio **IoTWirelessNetworkAnalyzerPolicy**. Scegli **Crea policy**.

  Di seguito viene illustrata la policy **IoTWirelessNetworkAnalyzerPolicy** che hai creato. Per ulteriori informazioni sulla creazione di una policy, consulta [Creazione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create).

  ```
  {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "iotwireless:GetNetworkAnalyzerConfiguration",
                  "iotwireless:UpdateNetworkAnalyzerConfiguration"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

**Policy con ambito per accedere a risorse specifiche**  
Per configurare un controllo degli accessi più granulare, è necessario aggiungere i gateway e i dispositivi wireless al campo **Resource** (Risorsa). La seguente policy utilizza il carattere jolly per l'ARN per concedere l'accesso a tutti i gateway e i dispositivi. Puoi controllare l'accesso a gateway e dispositivi specifici utilizzando `WirelessGatewayId` e `WirelessDeviceId`.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iotwireless:GetNetworkAnalyzerConfiguration",
                "iotwireless:UpdateNetworkAnalyzerConfiguration"
            ],
            "Resource": [
                "arn:aws:iotwireless:*:{accountId}:WirelessDevice/*", 
                "arn:aws:iotwireless:*:{accountId}:WirelessGateway/*", 
                "arn:aws:iotwireless:*:{accountId}:NetworkAnalyzerConfiguration/*"
            ]
        }
    ]
}
```

Per concedere a un utente l'autorizzazione per utilizzare l'analizzatore di rete ma non per utilizzare gateway o dispositivi wireless, usa la seguente policy. Se non specificato, le autorizzazioni per l'utilizzo delle risorse sono implicitamente negate.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iotwireless:GetNetworkAnalyzerConfiguration",
                "iotwireless:UpdateNetworkAnalyzerConfiguration"
            ],
            "Resource": [                
                "arn:aws:iotwireless:*:{accountId}:NetworkAnalyzerConfiguration/*"
            ]
        }
    ]
}
```

## Passaggi successivi
<a name="network-analyzer-iam-next"></a>

Ora che hai creato la policy, puoi aggiungere le risorse alla configurazione dell'analizzatore di rete e ricevere le informazioni della messaggistica di traccia per tali risorse. Per ulteriori informazioni, consultare [Creazione di una configurazione dell'analizzatore di rete e aggiunta delle risorse](network-analyzer-create-resources.md).

# Creazione di una configurazione dell'analizzatore di rete e aggiunta delle risorse
<a name="network-analyzer-create-resources"></a>

Prima di poter eseguire lo streaming dei messaggi di traccia, crea una configurazione dell'analizzatore di rete e aggiungi alla configurazione le risorse che vuoi monitorare. Quando crei una configurazione, puoi:
+ Specificare un nome di configurazione e una descrizione facoltativa.
+ Personalizzare le impostazioni di configurazione come le informazioni sul frame e il livello di dettaglio dei messaggi di registro.
+ Aggiungere le risorse che vuoi monitorare. Le risorse possono essere dispositivi wireless o gateway wireless oppure entrambi.

Le impostazioni di configurazione specificate determinano le informazioni della messaggistica di traccia che ricevi per le risorse aggiunte alla configurazione. Puoi anche creare più configurazioni a seconda del caso d'uso di monitoraggio.

Di seguito viene illustrato come creare una configurazione e aggiungere le risorse.

**Topics**
+ [Creazione di una configurazione dell'analizzatore di rete](network-analyzer-create.md)
+ [Aggiunta di risorse e aggiornamento della configurazione dell'analizzatore di rete](network-analyzer-resources.md)

# Creazione di una configurazione dell'analizzatore di rete
<a name="network-analyzer-create"></a>

Prima di poter monitorare i gateway wireless o i dispositivi wireless, è necessario creare una configurazione dell'analizzatore di rete. Quando crei la configurazione, devi solo specificare un nome per la configurazione. Puoi personalizzare le impostazioni di configurazione e aggiungere alla configurazione le risorse che vuoi monitorare anche dopo la creazione. Le impostazioni di configurazione determinano le informazioni della messaggistica di traccia che ricevi per tali risorse.

A seconda delle risorse che vuoi monitorare e del livello di informazioni che desideri ricevere, puoi creare più configurazioni. Ad esempio, puoi creare una configurazione che visualizza solo le informazioni di errore per un set di gateway del tuo Account AWS. Puoi anche creare una configurazione che visualizza tutte le informazioni su un dispositivo wireless che vuoi monitorare.

Le sezioni seguenti mostrano le varie impostazioni di configurazione e come creare la configurazione.

## Impostazioni di configurazione
<a name="network-analyzer-config-settings"></a>

Quando crei o aggiorni la configurazione dell'analizzatore di rete, puoi anche personalizzare i seguenti parametri per filtrare le informazioni sul flusso di registro.
+ 

**Informazioni sul frame**  
Questa impostazione è l'informazione del frame per le risorse del dispositivo wireless per i messaggi di traccia. Le informazioni del frame possono essere utilizzate per eseguire il debug della comunicazione tra il server di rete e i dispositivi finali. È abilitato per impostazione predefinita.
+ 

**Livelli di log**  
È possibile visualizzare i registri di informazioni o errori oppure disattivare la registrazione.
  + 

**Info**  
I registri con un livello di registro **Informazioni** sono più dettagliati e contengono i flussi di registro che sono informativi e contengono errori. I registri informativi possono essere utilizzati per visualizzare le modifiche allo stato di un dispositivo o di un gateway.
**Nota**  
La raccolta di flussi di log più dettagliati può comportare costi aggiuntivi. Per ulteriori informazioni sui prezzi, consulta [Prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/). 
  + 

**Errore**  
Registri con un livello di log di **Errore** sono meno dettagliati e mostrano solo le informazioni sugli errori. È possibile utilizzare questi registri quando un'applicazione presenta un errore, ad esempio un errore di connessione del dispositivo. Utilizzando le informazioni del flusso di log, è possibile identificare e risolvere gli errori relativi alle risorse del parco istanze.

## Creazione di una configurazione utilizzando la console
<a name="network-analyzer-create-configuration-console"></a>

È possibile creare una configurazione dell'analizzatore di rete e personalizzare i parametri opzionali utilizzando la console AWS IoT o l'API Wireless AWS IoT. Inoltre è possibile creare più configurazioni e successivamente eliminare le configurazioni che non vengono più utilizzate.

**Creazione di una configurazione dell'analizzatore di rete**  


1. Apri l'[hub dell'analizzatore di rete della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) e scegli **Crea configurazione**.

1. Specifica le impostazioni di configurazione.
   + 

**Nome, descrizione e tag**  
Specifica un **nome per la configurazione** univoco che contenga solo lettere, numeri, trattini o caratteri di sottolineatura. Utilizza il campo **Description** (Descrizione) per fornire informazioni sulla configurazione e il campo **Tags** (Tag) per aggiungere coppie chiave-valore di metadati sulla configurazione. Per ulteriori informazioni sulla denominazione e sulla descrizione delle risorse, consulta [Descrizione delle risorse Wireless AWS IoT](iotwireless-describe-resources.md).
   + 

**Impostazioni di configurazione**  
Scegli se disabilitare le informazioni del frame e utilizzare **Select log levels** (Seleziona i livelli di registro) per scegliere i livelli di registro da usare per i registri dei messaggi di traccia. Seleziona **Avanti**.

1. Aggiungi le risorse alla configurazione. Puoi aggiungere le tue risorse ora o scegliere **Create** (Crea) e aggiungerle in un secondo momento. Per aggiungere le risorse in un secondo momento, scegli **Create** (Crea).

   Nella **pagina dell'hub dell'analizzatore di rete** viene visualizzata la configurazione creata insieme alle relative impostazioni. Per visualizzare i dettagli della nuova configurazione, scegli il nome della configurazione. 

**Eliminazione della configurazione dell'analizzatore di rete**  


È possibile creare più configurazioni dell'analizzatore di rete a seconda delle risorse che vuoi monitorare e del livello di informazioni sulla messaggistica di traccia che vuoi ricevere. 

**Per rimuovere le configurazioni dalla console**

1. Apri [l'hub dell'analizzatore di rete della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) e scegli la configurazione che vuoi rimuovere.

1. Scegli **Actions** (Operazioni), quindi **Delete** (Elimina).

## Creazione di una configurazione utilizzando l'API
<a name="network-analyzer-create-configuration-api"></a>

Per creare una configurazione dell'analizzatore di rete con l'API, utilizza l'operazione API [CreateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateNetworkAnalyzerConfiguration.html) o il comando [create-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-network-analyzer-configuration.html) dell'interfaccia a riga di comando.

Quando crei la configurazione, devi solo specificare un nome per la configurazione. Puoi utilizzare questa operazione API anche per specificare le impostazioni di configurazione e aggiungere le risorse durante la creazione della configurazione. In alternativa, puoi specificarle in un secondo momento utilizzando l'operazione API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) o il comando [update-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-network-analyzer-configuration.html) dell'interfaccia a riga di comando.
+ 

**Creazione di una configurazione**  
Quando crei la configurazione, devi specificare un nome. Il comando seguente crea ad esempio una configurazione semplicemente fornendo un nome e una descrizione facoltativa. Per impostazione di default, la configurazione ha le informazioni del frame attivate e utilizza il livello di registro `INFO`.

  ```
  aws iotwireless create-network-analyzer-configuration \ 
      --configuration-name My_Network_Analyzer_Config \ 
      --description "My first network analyzer configuration"
  ```

  L'esecuzione di questo comando visualizza l'ARN e l'ID della configurazione dell'analizzatore di rete.

  ```
  {
      "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
      "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
  }
  ```
+ 

**Creazione di una configurazione con le risorse**  
Per personalizzare queste impostazioni di configurazione, utilizza il parametro `trace-content`. Per aggiungere risorse, utilizza i parametri `WirelessDevices` e `WirelessGateways` per specificare i gateway, i dispositivi oppure entrambi, che vuoi aggiungere alla configurazione. Ad esempio, il seguente comando personalizza le impostazioni di configurazione e aggiunge alla configurazione le risorse wireless, specificate da `WirelessGatewayID` e `WirelessDeviceID`.

  ```
  aws iotwireless create-network-analyzer-configuration \ 
      --configuration-name My_NetworkAnalyzer_Config \ 
      --trace-content WirelessDeviceFrameInfo=DISABLED,LogLevel="ERROR" \ 
      --wireless-gateways "12345678-a1b2-3c45-67d8-e90fa1b2c34d" "90123456-de1f-2b3b-4c5c-bb1112223cd1"   
      --wireless-devices "1ffd32c8-8130-4194-96df-622f072a315f"
  ```

  L'esempio seguente mostra l'output dell'esecuzione del comando:

  ```
  {
      "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
      "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
  }
  ```

**Elenco delle configurazioni dell'analizzatore di rete**  
È possibile creare più configurazioni dell'analizzatore di rete in base alle risorse che vuoi monitorare e al livello di dettaglio delle informazioni sulla messaggistica di traccia che vuoi ricevere per le risorse. Dopo aver creato le configurazioni, puoi utilizzare l'operazione API [ListNetworkAnalyzerConfigurations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListNetworkAnalyzerConfigurations.html) o il comando [list-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-network-analyzer-configuration.html) dell'interfaccia a riga di comando per ottenere l'elenco delle configurazioni.

```
aws iotwireless list-network-analyzer-configurations
```

L'esecuzione di questo comando visualizza tutte le configurazioni dell'analizzatore di rete nel tuo Account AWS. Puoi anche utilizzare il parametro `max-results` per specificare quante configurazioni vuoi visualizzare. L'esempio seguente mostra l'output dell'esecuzione del comando.

```
{
   "NetworkAnalyzerConfigurationList": [ 
      { 
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Name": "My_Network_Analyzer_Config1"
      },
      { 
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/90123456-a1a2-9a87-65b4-c12bf3c2d09a",
         "Name": "My_Network_Analyzer_Config2"
      }
   ]
}
```

**Eliminazione della configurazione dell'analizzatore di rete**  
È possibile eliminare una configurazione che non serve più con l'operazione API [DeleteNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteNetworkAnalyzerConfiguration.html) o il comando [delete-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-network-analyzer-configuration.html) dell'interfaccia a riga di comando.

```
aws iotwireless delete-network-analyzer-configuration \ 
    --configuration-name My_NetworkAnalyzer_Config
```

L'esecuzione di questo comando non produce output. Per visualizzare le configurazioni disponibili, puoi utilizzare l'operazione API `ListNetworkAnalyzerConfigurations`.

## Passaggi successivi
<a name="network-analyzer-create-next"></a>

Ora che hai creato una configurazione dell'analizzatore di rete, puoi aggiungere le risorse alla configurazione o aggiornare le impostazioni di configurazione. Per ulteriori informazioni, consultare [Aggiunta di risorse e aggiornamento della configurazione dell'analizzatore di rete](network-analyzer-resources.md). 

# Aggiunta di risorse e aggiornamento della configurazione dell'analizzatore di rete
<a name="network-analyzer-resources"></a>

Prima di poter attivare la messaggistica di traccia, è necessario aggiungere risorse alla configurazione. È possibile utilizzare solo una singola configurazione predefinita dell'analizzatore di rete. AWS IoT Core per LoRaWAN assegna il nome, **NetworkAnalyzerConfig\$1Default**, per questa configurazione e questo campo non può essere modificato. Questa configurazione viene aggiunta automaticamente al tuo Account AWS quando si utilizza l'analizzatore di rete dalla console.

È possibile aggiungere le risorse che desideri monitorare a questa configurazione predefinita. Le risorse possono essere uno o entrambi i dispositivi LoRaWAN e i gateway LoRaWAN. Per aggiungere ogni singola risorsa alla configurazione, utilizza il gateway wireless e gli identificatori del dispositivo wireless.

## Impostazioni di configurazione
<a name="resources-config-settings"></a>

Per configurare le impostazioni, aggiungi innanzitutto risorse alla configurazione di default e attiva la messaggistica di traccia. Dopo aver ricevuto i registri dei messaggi di traccia, puoi anche personalizzare i seguenti parametri per aggiornare la configurazione di default e filtrare il flusso di log.
+ 

**Informazioni sul frame**  
Questa impostazione è l'informazione del frame delle risorse del dispositivo wireless per i messaggi di traccia. Le informazioni sul frame sono abilitate per impostazione predefinita e possono essere utilizzate per eseguire il debug della comunicazione tra il server di rete e i dispositivi finali.
+ 

**Livelli di log**  
È possibile visualizzare i registri di informazioni o errori oppure disattivare la registrazione.
  + 

**Info**  
Registri con un livello di log di **Informazioni** sono più dettagliati e contengono flussi di log che sono informativi e contengono errori. I log informativi possono essere utilizzati per visualizzare le modifiche allo stato di un dispositivo o di un gateway.
**Nota**  
La raccolta di flussi di log più dettagliati può comportare costi aggiuntivi. Per ulteriori informazioni sui prezzi, consulta [Prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/). 
  + 

**Errore**  
Registri con un livello di log di **Errore** sono meno dettagliati e mostrano solo le informazioni sugli errori. È possibile utilizzare questi registri quando un'applicazione presenta un errore, ad esempio un errore di connessione del dispositivo. Utilizzando le informazioni del flusso di log, è possibile identificare e risolvere gli errori relativi alle risorse del parco istanze. 

## Prerequisiti
<a name="resources-prereq"></a>

Prima di poter aggiungere risorse, è necessario aver integrato i gateway e i dispositivi che desideri monitorare a AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Collegamento di gateway e dispositivi ad AWS IoT Core per LoRaWAN](lorawan-getting-started.md).

## Aggiungi risorse e aggiorna la configurazione dell'analizzatore di rete utilizzando la console
<a name="add-resources-console"></a>

È possibile aggiungere risorse e personalizzare i parametri opzionali utilizzando la console AWS IoT o l'API Wireless AWS IoT. Oltre alle risorse, puoi anche modificare le impostazioni di configurazione e salvare la configurazione aggiornata.

**Per aggiungere risorse alla configurazione (console)**  


1. Apri [l'hub dell'analizzatore di rete della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) e scegli la configurazione dell'analizzatore di rete, **Network AnalyzerConfig\$1Default**.

1. Scegli **Aggiungi risorse**.

1. Aggiungi le risorse che vuoi monitorare utilizzando il gateway wireless e gli identificatori del dispositivo wireless. È possibile aggiungere fino a 250 gateway wireless o dispositivi wireless. Per aggiungere la tua risorsa:

   1. Utilizza **Visualizza gateway** o la scheda **Visualizzazione dei dispositivi** per visualizzare l'elenco dei gateway e dei dispositivi che hai aggiunto al tuo Account AWS.

   1. Copia il `WirelessDeviceID` o il `WirelessGatewayID` del dispositivo o del gateway che desideri monitorare e inserisci il valore identificativo per la risorsa corrispondente.

   1. Per continuare ad aggiungere risorse, scegli **Aggiungi gateway** o **Aggiungi dispositivo** e aggiungi il gateway o il dispositivo wireless. Se hai aggiunto una risorsa che non vuoi più monitorare, scegli **Rimozione della risorsa**.

1. Dopo aver aggiunto tutte le risorse, scegli **Aggiungi**.

   Vedrai il numero di gateway e dispositivi che hai aggiunto nella **Pagina hub dell'analizzatore di rete**. È comunque possibile continuare ad aggiungere gateway e dispositivi fino a quando non si attiva la sessione di messaggistica di traccia. Dopo che la sessione è stata attivata, per aggiungere risorse, dovrai disattivare la sessione.

**Per modificare la configurazione dell'analizzatore di rete (console)**  
È inoltre possibile modificare la configurazione dell'analizzatore di rete e scegliere se disabilitare le informazioni sui frame e il livello di log per i registri dei messaggi di traccia. 

1. Apri [l'hub dell'analizzatore di rete della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) e scegli la configurazione dell'analizzatore di rete, **Network AnalyzerConfig\$1Default**.

1. Scegli **Modifica**.

1. Scegli se disabilitare le informazioni sul fotogramma e utilizzare **Seleziona i livelli di log** per scegliere i livelli di log da utilizzare per i log dei messaggi di traccia. Selezionare **Salva**.

   Vedrete le impostazioni di configurazione specificate nella pagina dei dettagli della configurazione dell'analizzatore di rete.

## Aggiungi risorse e aggiorna la configurazione dell'analizzatore di rete utilizzando l'API
<a name="network-analyzer-add-resources-api"></a>

Puoi utilizzare le [operazioni API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/) o i [Comandi della CLI Wireless AWS IoT](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html) per aggiungere risorse e aggiornare le impostazioni di configurazione per la configurazione dell'analizzatore di rete.
+ Per aggiungere risorse e aggiornare la configurazione dell'analizzatore di rete, utilizzare l'API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) o la CLI [update-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-network-analyzer-configuration.html).
  + 

**Aggiungi risorse**  
Per i dispositivi wireless che vuoi aggiungere, usa `WirelessDevicesToAdd` per inserire il `WirelessDeviceID` per i dispositivi come una serie di stringhe. Per i gateway wireless che vuoi aggiungere, usa `WirelessGatewaysToAdd` per inserire il `WirelessGatewayID` per i gateway come una serie di stringhe.
  + 

**Modifica configurazione**  
Per modificare la configurazione dell'analizzatore di rete, utilizza il parametro `TraceContent` per specificare se `WirelessDeviceFrameInfo` dovrebbe essere `ENABLED` o `DISABLED`, e se il parametro `LogLevel` dovrebbe essere `INFO`, `ERROR`, oppure `DISABLED`. 

  ```
  {
     "TraceContent": { 
        "LogLevel": "string",
        "WirelessDeviceFrameInfo": "string"
     },
     "WirelessDevicesToAdd": [ "string" ],
     "WirelessDevicesToRemove": [ "string" ],
     "WirelessGatewaysToAdd": [ "string" ],
     "WirelessGatewaysToRemove": [ "string" ]
  }
  ```
+ Per ottenere informazioni sulla configurazione e sulle risorse che hai aggiunto, usa l'operazione API [GetNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) o il comando [get-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-network-analyzer-configuration.html). Fornire il nome della configurazione dell'analizzatore di rete, `NetworkAnalyzerConfig_Default`, come input.

## Passaggi successivi
<a name="network-analyzer-resources-next"></a>

Dopo aver aggiunto risorse e specificato eventuali impostazioni di configurazione opzionali per la configurazione, è possibile utilizzare il protocollo WebSocket per stabilire una connessione con AWS IoT Core per LoRaWAN per l'utilizzo dell'analizzatore di rete. È quindi possibile attivare la messaggistica di traccia e iniziare a ricevere messaggi di traccia per le risorse. Per ulteriori informazioni, consultare [Trasmetti messaggi di traccia dell'analizzatore di rete con WebSockets](network-analyzer-api.md).

# Trasmetti messaggi di traccia dell'analizzatore di rete con WebSockets
<a name="network-analyzer-api"></a>

Quando si utilizza il protocollo WebSocket, è possibile eseguire lo streaming di messaggi di traccia dell'analizzatore di rete in tempo reale. Quando invii una richiesta, il servizio risponde con una struttura JSON. Dopo aver attivato la messaggistica di traccia, è possibile utilizzare i registri dei messaggi per ottenere informazioni sulle risorse e risolvere gli errori. Per ulteriori informazioni, consulta [protocollo WebSocket](https://tools.ietf.org/html/rfc6455).

Di seguito viene illustrato come eseguire lo streaming dei messaggi di traccia dell'analizzatore di rete con WebSockets.

**Topics**
+ [Genera una richiesta prefirmata con la libreria WebSocket](network-analyzer-generate-request.md)
+ [Messaggi WebSocket e codici di stato](network-analyer-messages-status.md)

# Genera una richiesta prefirmata con la libreria WebSocket
<a name="network-analyzer-generate-request"></a>

Di seguito viene illustrato come generare una richiesta prefirmata in modo da poter utilizzare la libreria WebSocket per inviare richieste al servizio.

## Aggiunta di una policy per le richieste WebSocket al ruolo IAM
<a name="network-analyzer-iam"></a>

Per utilizzare il protocollo WebSocket per chiamare, collegare la seguente policy al ruolo AWS Identity and Access Management (IAM) che effettua la richiesta. 

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iotwireless:StartNetworkAnalyzerStream",
            "Resource": "*"
        }
    ]
}
```

## Creare un URL prefirmato
<a name="network-analyzer-presigned-url"></a>

Crea un URL per la richiesta WebSocket che contiene le informazioni necessarie per configurare le comunicazioni tra l'applicazione e l'analizzatore di rete. Per verificare l'identità della richiesta, lo streaming WebSocket utilizza il processo Amazon Signature Version 4 per la firma delle richieste. Per ulteriori informazioni riguardo Signature Version 4, consulta [ Firma di richieste API AWS](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) nei *Riferimenti generali di Amazon Web Services*.

Per chiamare l'analizzatore di rete, utilizzare l'URL della richiesta `StartNetworkAnalyzerStream`. La richiesta verrà firmata utilizzando le credenziali per il ruolo IAM citato in precedenza. L'URL ha il formato seguente con l'aggiunta di interruzioni di riga per la leggibilità.

```
GET wss://api.iotwireless.<region>.amazonaws.com/start-network-analyzer-stream?X-Amz-Algorithm=AWS4-HMAC-SHA256
   &X-Amz-Credential=Signature Version 4 credential scope
   &X-Amz-Date=date
   &X-Amz-Expires=time in seconds until expiration
   &X-Amz-Security-Token=security-token
   &X-Amz-Signature=Signature Version 4 signature 
   &X-Amz-SignedHeaders=host
```

Utilizza i valori seguenti per i parametri Signature Version 4:
+ **X-Amz-Algorithm** - L'algoritmo utilizzato nel processo di firma. L'unico valore valido è `AWS4-HMAC-SHA256`.
+ **X-Amz-Credential** - Una stringa separata dalle barre ("/") che è formata concatenando i componenti ID chiave di accesso e componenti dell'ambito delle credenziali. L'ambito delle credenziali include la data nel formato AAAAMMGG, la regione AWS, il nome del servizio e una stringa di chiusura speciale (aws4\$1request).
+ **X-Amz-Date** — La data e l'ora di creazione della firma. Genera la data e l'ora seguendo le istruzioni riportate in [Gestione delle date in Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-date-handling.html) nei *Riferimenti generali di Amazon Web Services*.
+ **X-Amz-Expires** - L'intervallo di tempo in secondi fino alla scadenza delle credenziali. Il valore massimo è di 300 secondi (5 minuti).
+ **X-Amz-Security-Token** - (opzionale) Un token Signature Version 4 per le credenziali provvisorie. Se specifichi questo parametro, lo devi includere nella richiesta canonica. Per ulteriori informazioni, vedi [Richiesta di credenziali di sicurezza temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) nella *Guida per l'utente di AWS Identity and Access Management*.
+ **X-Amz-Signature** - La firma Signature Version 4 generata per la richiesta.
+ **X-Amz-SignedHeaders** - Le intestazioni firmate durante la creazione della firma per la richiesta. L'unico valore valido è `host`.

## Crea l'URL della richiesta e crea la firma Signature Version 4
<a name="connect-iot-network-analyzer-construct-url-sign"></a>

Per creare l'URL per la richiesta e creare la firma Signature Version 4, utilizzare la procedura seguente. Gli esempi sono in pseudocodice.

### Fase 1. Creazione di una richiesta canonica
<a name="canonical-request"></a>

Creare una stringa che include informazioni dalla richiesta in un formato standardizzato. In questo modo si ha la certezza che quando AWS riceve la richiesta, può calcolare la stessa firma già calcolata in [Task 3: calcolo della firma](#calculate-signature). Per ulteriori informazioni, consulta [Creazione di una richiesta canonica per Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html) nei *Riferimenti generali di Amazon Web Services*.

1. Definire le variabili per la richiesta nell'applicazione.

   ```
   # HTTP verb
   method = "GET"
   # Service name
   service = "iotwireless"
   # Regione AWS
   region = "Regione AWS"
   # Service streaming endpoint
   endpoint = "wss://api.iotwireless.region.amazonaws.com"
   # Host
   host = "api.iotwireless.<region>.amazonaws.com"
   # Date and time of request
   amz-date = YYYYMMDD'T'HHMMSS'Z'
   # Date without time for credential scope
   datestamp = YYYYMMDD
   ```

1. Crea un URI canonico (identificatore uniforme della risorsa). L'URI canonico è la parte dell'URI tra il dominio e la stringa di query.

   ```
   canonical_uri = "/start-network-analyzer-stream"
   ```

1. Crea le intestazioni canoniche e le intestazioni firmate. Notare la `\n` in coda nelle intestazioni canoniche.
   + Aggiungi il nome dell'intestazione in caratteri minuscoli seguito da due punti.
   + Aggiungi un elenco separato da virgole di valori per l'intestazione. Non ordinare i valori nelle intestazioni che presentano più valori.
   + Aggiungi una nuova riga (`\n`).

   ```
   canonical_headers = "host:" + host + "\n"
   signed_headers = "host"
   ```

1. Eseguire la corrispondenza dell'algoritmo con l'algoritmo hash. È necessario utilizzare SHA-256.

   ```
   algorithm = "AWS4-HMAC-SHA256"
   ```

1. Creare l'ambito delle credenziali che definisce gli ambiti della chiave derivata per la data, la regione e i servizi per cui è stata effettuata la richiesta.

   ```
   credential_scope = datestamp + "/" + region + "/" + service + "/" + "aws4_request"
   ```

1. Creare la stringa di query canonica. I valori della stringa di query devono essere codificati in base all'URI e ordinati in base al nome.
   + Organizza i nomi dei parametri per punto di codice carattere in ordine crescente. I parametri con nomi duplicati devono essere ordinati in base al valore. Ad esempio, un nome di parametro che inizia con la lettera maiuscola F precede un nome di parametro che inizia con la lettera minuscola b.
   + Non codificare i caratteri non riservati definiti da [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986): A-Z, a-z, 0-9, trattino ( - ), trattino basso ( \$1 ), punto ( . ), e tilde ( \$1 ).
   + Codifica tutti gli altri caratteri con codifica percentuale con %XY, dove X e Y sono caratteri esadecimali (0-9 e A-F maiuscole). Ad esempio, i caratteri di spaziatura devono essere codificati come %20 (non utilizzando '\$1', come in alcuni schemi di codifica) e i caratteri UTF-8 estesi devono essere nel formato %XY%ZA%BC.
   + Esegui la doppia codifica di qualsiasi carattere uguale (=) nei valori dei parametri.

   ```
   canonical_querystring  = "X-Amz-Algorithm=" + algorithm
   canonical_querystring += "&X-Amz-Credential="+ URI-encode(access key + "/" + credential_scope)
   canonical_querystring += "&X-Amz-Date=" + amz_date 
   canonical_querystring += "&X-Amz-Expires=300"
   canonical_querystring += "&X-Amz-Security-Token=" + token
   canonical_querystring += "&X-Amz-SignedHeaders=" + signed_headers
   canonical_querystring += "&language-code=en-US&media-encoding=pcm&sample-rate=16000"
   ```

1. Creare un hash di payload. Per una richiesta GET, il payload è una stringa vuota.

   ```
   payload_hash = HashSHA256(("").Encode("utf-8")).HexDigest()
   ```

1. Combina tutti gli elementi per creare la richiesta canonica.

   ```
   canonical_request = method + '\n' 
      + canonical_uri + '\n' 
      + canonical_querystring + '\n' 
      + canonical_headers + '\n' 
      + signed_headers + '\n' 
      + payload_hash
   ```

### Fase 2. Creazione della stringa da firmare.
<a name="create-urlsign"></a>

La stringa per la firma contiene le meta informazioni che interessano la richiesta. È possibile utilizzare la stringa per firmare il passaggio successivo quando si calcola la firma della richiesta. Per ulteriori informazioni, consulta [Creazione di una stringa da firmare per Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html) nei *Riferimenti generali di Amazon Web Services*.

```
string_to_sign=algorithm + "\n"
   + amz_date + "\n"
   + credential_scope + "\n"
   + HashSHA256(canonical_request.Encode("utf-8")).HexDigest()
```

### Task 3: calcolo della firma
<a name="calculate-signature"></a>

Si ricava una chiave di firma dalla chiave di accesso segreta di AWS. La chiave derivata è specifica per la data, il servizio e la Regione AWS per un maggior livello di protezione. È possibile utilizzare la chiave derivata per firmare la richiesta. Per ulteriori informazioni, consulta [ Calcola la firma per firma per Signature Version 4 di AWS](https://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html) nei *Riferimenti generali di Amazon Web Services*.

Il codice presuppone che sia stata implementata la funzione `GetSignatureKey` per ottenere una chiave di firma. Per ulteriori informazioni e funzioni di esempio, consulta [Esempi di come si ottiene una chiave di firma per Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html) nei *Riferimenti generali di Amazon Web Services*.

La funzione `HMAC(key, data)` rappresenta una funzione HMAC-SHA256 che restituisce i risultati in formato binario.

```
#Create the signing key
signing_key = GetSignatureKey(secret_key, datestamp, region, service)
                
# Sign the string_to_sign using the signing key
signature = HMAC.new(signing_key, (string_to_sign).Encode("utf-8"), Sha256()).HexDigest
```

### Processo 4: Aggiunta delle informazioni sulla firma per la richiesta e la creazione della richiesta URL
<a name="sign-request"></a>

Dopo aver calcolato la firma, aggiungerla alla stringa di query. Per ulteriori informazioni, consulta [Aggiungere la firma alla richiesta](https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html) nei *Riferimenti generali di Amazon Web Services*.

```
#Add the authentication information to the query string
canonical_querystring += "&X-Amz-Signature=" + signature
                
# Sign the string_to_sign using the signing key
request_url = endpoint + canonical_uri + "?" + canonical_querystring
```

## Passaggi successivi
<a name="network-analyzer-request-next"></a>

È possibile utilizzare l'URL della richiesta con la libreria WebSocket per effettuare la richiesta al servizio e osservare i messaggi. Per ulteriori informazioni, consultare [Messaggi WebSocket e codici di stato](network-analyer-messages-status.md).

# Messaggi WebSocket e codici di stato
<a name="network-analyer-messages-status"></a>

Dopo aver creato una richiesta prefirmata, è possibile utilizzare l'URL della richiesta con la libreria WebSocket, , o una libreria adatta al linguaggio di programmazione, per effettuare richieste al servizio. Per ulteriori informazioni su come generare questa richiesta prefirmata, consulta [Genera una richiesta prefirmata con la libreria WebSocket](network-analyzer-generate-request.md).

## Messaggi WebSocket
<a name="network-analyer-messages"></a>

Stabilire una connessione bidirezionale utilizzando il protocollo WebSocket. I messaggi possono essere trasmessi da client a server e da server a client. Tuttavia, l'analizzatore di rete supporta solo i messaggi inviati dal server al client. Qualsiasi messaggio ricevuto dal client è imprevisto e il server chiuderà automaticamente la connessione WebSocket se un messaggio viene ricevuto dal client.

Quando la richiesta viene ricevuta e viene avviata una sessione di messaggistica di traccia, il server risponde con una struttura JSON, ovvero il payload. Per ulteriori informazioni sul payload e su come attivare i messaggi di traccia dal Console di gestione AWS, consulta [Visualizzazione e monitoraggio in tempo reale dei registri dei messaggi di tracciamento dell'analizzatore](network-analyzer-logs.md).

## Codici di stato WebSocket
<a name="network-analyer-status-codes"></a>

Di seguito sono riportati i codici di stato WebSocket per la comunicazione dal server al client. I codici di stato WebSocket seguono il [RFC Standard di chiusura normale dei collegamenti](https://datatracker.ietf.org/doc/html/rfc6455#section-7.3).

Di seguito sono riportati i codici di stato supportati:
+ 

**1000**  
Questo codice di stato indica una chiusura normale, il che significa che la connessione WebSocket è stata stabilita e che la richiesta è stata soddisfatta. Questo stato può essere osservato quando una sessione è inattiva, causando il timeout della connessione.
+ 

**1002**  
Questo codice di stato indica che l'endpoint sta terminando la connessione a causa di un errore di protocollo.
+ 

**1003**  
Questo codice di stato indica uno stato di errore in cui l'endpoint ha terminato la connessione perché ha ricevuto dati in un formato che non è in grado di accettare. L'endpoint supporta solo i dati di testo e potrebbe visualizzare questo codice di stato se riceve un messaggio binario o un messaggio dal client che utilizza un formato non supportato.
+ 

**1008**  
Questo codice di stato indica uno stato di errore in cui l'endpoint ha terminato la connessione perché ha ricevuto un messaggio che viola la policy Questo stato è generico e viene visualizzato quando gli altri codici di stato, come 1003 o 1009, non sono applicabili. Questo stato viene visualizzato anche se è necessario nascondere la policy o quando si verifica un errore di autorizzazione, ad esempio una firma scaduta.
+ 

**1011**  
Questo codice di stato indica uno stato di errore in cui il server sta terminando la connessione perché ha riscontrato una condizione imprevista o un errore interno che ha impedito di soddisfare la richiesta.

## Passaggi successivi
<a name="network-analyzer-websockets-next"></a>

Ora che hai imparato come generare una richiesta prefirmata e come osservare i messaggi dal server utilizzando la connessione WebSocket, puoi attivare la messaggistica di traccia e iniziare a ricevere i registri dei messaggi per il gateway wireless e le risorse del dispositivo wireless. Per ulteriori informazioni, consultare [Visualizzazione e monitoraggio in tempo reale dei registri dei messaggi di tracciamento dell'analizzatore](network-analyzer-logs.md).

# Visualizzazione e monitoraggio in tempo reale dei registri dei messaggi di tracciamento dell'analizzatore
<a name="network-analyzer-logs"></a>

Se hai aggiunto risorse alla configurazione dell'analizzatore di rete, puoi attivare la messaggistica di traccia per iniziare a ricevere messaggi di traccia per le tue risorse. È possibile utilizzare il Console di gestione AWS, l'API Wireless AWS IoT o la AWS CLI.

## Prerequisiti
<a name="network-analyzer-logs-prereq"></a>

Prima di poter attivare la messaggistica di traccia utilizzando l'analizzatore di rete, devi aver:
+ Aggiunto le risorse che vuoi far monitorare alla configurazione predefinita dell'analizzatore di rete. Per ulteriori informazioni, consultare [Aggiunta di risorse e aggiornamento della configurazione dell'analizzatore di rete](network-analyzer-resources.md).
+ Generato una richiesta prefirmata utilizzando l'URL della richiesta `StartNetworkAnalyzerStream`. La richiesta verrà firmata utilizzando le credenziali per il ruolo AWS Identity and Access Management che fa questa richiesta. Per ulteriori informazioni, consultare [Creare un URL prefirmato](network-analyzer-generate-request.md#network-analyzer-presigned-url).

## Attiva la messaggistica di traccia utilizzando la console
<a name="network-analyzer-activate-console"></a>

Per attivare la messaggistica di traccia

1. Apri l'[hub dell'analizzatore di rete della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) e scegli la configurazione dell'analizzatore di rete, **Network AnalyzerConfig\$1Default**.

1. Nella pagina dei dettagli della configurazione dell'analizzatore di rete, scegli **Attiva la messaggistica di traccia** quindi scegli **Attivare**.

   Inizierai a ricevere messaggi di traccia in cui viene visualizzato per primo il messaggio di traccia più recente nella console.
**Nota**  
Dopo l'avvio della sessione di messaggistica, la ricezione di messaggi di traccia può comportare costi aggiuntivi fino a quando non si disattiva la sessione o si lascia la sessione di traccia. Per ulteriori informazioni sui prezzi, consulta [Prezzi di AWS IoT Core](https://aws.amazon.com/iot-core/pricing/).

## Visualizza e monitora i messaggi di traccia
<a name="network-analyzer-view-trace"></a>

Dopo aver attivato la messaggistica di traccia, viene stabilita la connessione WebSocket e i messaggi di traccia iniziano a comparire in tempo reale, prima i più recenti. È possibile personalizzare le preferenze per specificare il numero di messaggi di traccia da visualizzare in ogni pagina e visualizzare solo i campi pertinenti per ciascun messaggio. Ad esempio, è possibile personalizzare il registro dei messaggi di traccia per mostrare solo i registri per le risorse del gateway wireless che hanno **Livello di log** impostato su `ERROR`, in modo da poter identificare ed eseguire il debug rapidamente degli errori con i gateway. I messaggi di traccia contengono le informazioni seguenti. 
+ **Numero messaggio**: un numero univoco che mostra per primo l'ultimo messaggio ricevuto.
+ **ID risorsa**: Il gateway wireless o l'ID del dispositivo wireless della risorsa.
+ **Timestamp**: L'ora in cui il messaggio è stato ricevuto.
+ **ID messaggio**: un identificatore che AWS IoT Core per LoRaWAN assegna a ciascun messaggio ricevuto.
+ **FPort**: La porta di frequenza per comunicare con il dispositivo utilizzando la connessione WebSocket.
+ **DevEui**: Identificatore univoco esteso (EUI) per il dispositivo wireless.
+ **Risorsa**: Se la risorsa monitorata è un dispositivo wireless o un gateway wireless.
+ **Evento**: evento per un messaggio di registro per un dispositivo wireless, che può essere **Unisciti**, **Unisciti di nuovo**, **Uplink\$1Data**, **Downlink\$1Data**, oppure **Registrazione**.
+ **Livello di log**:Informazioni su flussi di log di `INFO` o `ERROR` per il tuo dispositivo.

## Messaggio di log JSON dell'analizzatore di rete
<a name="connect-iot-network-analyzer-trace-logs"></a>

È inoltre possibile scegliere un messaggio di traccia alla volta per visualizzare il payload JSON per quel messaggio. A seconda del messaggio selezionato nei registri dei messaggi di traccia, verranno visualizzate le informazioni nel payload JSON che indica che contiene 2 parti: **Customerlog** e **LoRaFrame**.

**CustomerLog**  
La parte **CustomerLog** del JSON visualizza il tipo e l'identificatore della risorsa che ha ricevuto il messaggio, il livello di registro e il contenuto del messaggio. Nell'esempio seguente viene mostrato un messaggio di log **CustomerLog **. Puoi utilizzare il campo `message` nel JSON per ottenere ulteriori informazioni sull'errore e su come può essere risolto.

**LoRaFrame**  
La parte **LoRaFrame** del JSON ha un **Messaggio ID** e contiene informazioni sul payload fisico per il dispositivo e i metadati wireless.

Il seguente esempio illustra la struttura del messaggio di traccia.

```
export type TraceMessage = {
  ResourceId: string;
  Timestamp: string;
  LoRaFrame: 
  {
    MessageId: string;
    PhysicalPayload: any;
    WirelessMetadata: 
    {
      fPort: number;
      dataRate: number;
      devEui: string;
      frequency: number,
      timestamp: string;
    },
  }
  CustomerLog: 
  {
    resource: string;
    wirelessDeviceId: string;
    wirelessDeviceType: string;
    event: string;
    logLevel: string;
    messageId: string;
    message: string;
  },
};
```

## Revisione e passaggi successivi
<a name="network-analyzer-review"></a>

In questa sezione, hai visualizzato i messaggi di traccia e hai appreso come utilizzare le informazioni per eseguire il debug degli errori. Dopo aver visualizzato tutti i messaggi, è possibile:
+ 

**Disattivare i messaggi di traccia**  
Per evitare costi aggiuntivi, è possibile disattivare la sessione di messaggistica di traccia. La disattivazione della sessione disconnette la connessione WebSocket in modo da non ricevere alcun messaggio di traccia aggiuntivo. È comunque possibile continuare a visualizzare i messaggi esistenti nella console.
+ 

**Modifica le informazioni sul frame per la tua configurazione**  
È possibile modificare la configurazione dell'analizzatore di rete e scegliere se disattivare le informazioni sui frame e scegliere i livelli di registro per i messaggi. Prima di aggiornare la configurazione, prendi in considerazione la possibilità di disattivare la sessione di messaggistica di traccia. Per apportare queste modifiche, apri la [Pagina dei dettagli dell'analizzatore di rete nella console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer/details/NetworkAnalyzerConfig_Default) e scegli **Modificare**. È quindi possibile aggiornare la configurazione con le nuove impostazioni di configurazione e attivare la messaggistica di traccia per visualizzare i messaggi aggiornati.
+ 

**Aggiungere risorse alla configurazione**  
È inoltre possibile aggiungere altre risorse alla configurazione dell'analizzatore di rete e monitorarle in tempo reale. È possibile aggiungere fino a un totale di 250 risorse wireless gateway e dispositivi wireless combinati. Per aggiungere risorse, sulla [Pagina dei dettagli dell'analizzatore di reye della console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer/details/NetworkAnalyzerConfig_Default), scegli la scheda **Risorse** e scegli **Aggiungere risorse**. È quindi possibile aggiornare la configurazione con le nuove risorse e attivare la messaggistica di traccia per visualizzare i messaggi aggiornati per le risorse aggiuntive.

Per ulteriori informazioni sull'aggiornamento della configurazione dell'analizzatore di rete modificando le impostazioni di configurazione e l'aggiunta di risorse, consultare [Aggiunta di risorse e aggiornamento della configurazione dell'analizzatore di rete](network-analyzer-resources.md).

# Esegui il debug e la risoluzione dei problemi dei gruppi multicast e delle attività FUOTA utilizzando l'analizzatore di rete
<a name="lorawan-network-analyzer-fuota"></a>

Tra le risorse wireless che puoi monitorare ci sono dispositivi LoRaWAN, gateway LoRaWAN e gruppi multicast. Puoi anche utilizzare l'analizzatore di rete per eseguire il debug e la risoluzione di eventuali problemi che riscontri con la tua attività FUOTA. Puoi anche monitorare e tenere traccia dei messaggi relativi alla configurazione, alla trasmissione dei dati e alle query di stato mentre l'attività FUOTA è in corso. 

Se l'attività FUOTA contiene gruppi multicast, per monitorarla è necessario aggiungere alla configurazione dell'analizzatore di rete sia il gruppo multicast sia i dispositivi del gruppo. È inoltre necessario attivare le informazioni sui frame e sui frame multicast per tenere traccia dei messaggi di uplink e downlink unicast e multicast scambiati con il gruppo multicast e i dispositivi mentre l'operazione FUOTA è in corso.

Per monitorare i gruppi multicast, puoi aggiungerli alla configurazione del tuo analizzatore di rete e utilizzare le informazioni sui frame multicast per risolvere i problemi dei messaggi di downlink multicast inviati a questi gruppi. Per la risoluzione dei problemi dei dispositivi che tentano di entrare in un gruppo nel quale viene utilizzata la comunicazione unicast, è necessario includere anche questi dispositivi nella configurazione dell'analizzatore di rete. Per monitorare solo la comunicazione unicast con i dispositivi del gruppo, attiva le informazioni sui frame per i tuoi dispositivi wireless. Questo approccio garantisce monitoraggio e diagnostica completi sia per i gruppi multicast sia per i dispositivi che vengono aggiunti al gruppo. 

Le sezioni seguenti descrivono come eseguire il debug e la risoluzione dei problemi dei gruppi multicast e delle attività FUOTA utilizzando l'analizzatore di rete.

**Topics**
+ [Debug delle attività FUOTA che contengono solo dispositivi](#lorawan-network-analyzer-fuota-devices)
+ [Debug delle attività FUOTA con gruppi multicast](#lorawan-network-analyzer-fuota-multicast)
+ [Debug dei dispositivi che stanno tentando di entrare in un gruppo multicast](#lorawan-network-analyzer-fuota-multicast)
+ [Debug di una sessione di gruppo multicast](#lorawan-network-analyzer-fuota-multicastsession)

## Debug delle attività FUOTA che contengono solo dispositivi
<a name="lorawan-network-analyzer-fuota-devices"></a>

È possibile utilizzare l'analizzatore di rete per eseguire il debug di un'attività FUOTA a cui sono stati aggiunti solo dispositivi LoRaWAN. Per informazioni sull'aggiunta di dispositivi a un'attività FUOTA, consulta [Aggiunta di dispositivi e gruppi multicast per un'attività FUOTA e pianificazione di una sessione FUOTA](lorawan-fuota-add-devices.md). Per eseguire il debug dell'attività FUOTA, procedi come segue:

1. Crea una configurazione dell'analizzatore di rete attivando le informazioni sui frame per i dispositivi wireless, così da poter monitorare i messaggi di uplink e downlink FUOTA che vengono scambiati con i dispositivi mentre l'attività è in corso.

1. Aggiungi alla configurazione dell'analizzatore di rete i dispositivi nell'attività FUOTA utilizzando i relativi identificatori di dispositivi wireless.

1. Attiva la messaggistica di traccia per iniziare a ricevere messaggi di traccia per i dispositivi presenti nella configurazione dell'analizzatore di rete.

Nella colonna `applicationCommandType` delle informazioni sui messaggi di traccia, inizierai a ricevere messaggi di downlink unicast relativi alla trasmissione e alla configurazione della frammentazione dei dati.

**Nota**  
Se non vedi la colonna `applicationCommandType` nella tabella dei messaggi di traccia, modifica le impostazioni per renderla visibile.

Puoi anche vedere il `applicationCommandType` e altri messaggi dettagliati nel messaggio del registro JSON in **WirelessMetadata > ApplicationInfo**.

## Debug delle attività FUOTA con gruppi multicast
<a name="lorawan-network-analyzer-fuota-multicast"></a>

È possibile utilizzare l'analizzatore di rete per eseguire il debug di un'attività FUOTA con gruppi multicast e dispositivi LoRaWAN aggiunti al gruppo. Per informazioni sull'aggiunta di dispositivi a un'attività FUOTA, consulta [Aggiunta di dispositivi e gruppi multicast per un'attività FUOTA e pianificazione di una sessione FUOTA](lorawan-fuota-add-devices.md). Per eseguire il debug dell'attività FUOTA, procedi come segue:

1. Crea una configurazione dell'analizzatore di rete attivando le impostazioni delle informazioni sui frame e delle informazioni sui frame multicast per i dispositivi wireless e i gruppi multicast.

1. Aggiungi il gruppo multicast nell'attività FUOTA alla configurazione dell'analizzatore di rete utilizzando il relativo identificatore di gruppo multicast. Abilita le informazioni sui frame multicast per eseguire il debug dei messaggi di dati del firmware e dei messaggi di query di stato FUOTA inviati al gruppo mentre l’attività FUOTA è in corso.

1. Aggiungi i dispositivi del tuo gruppo multicast alla configurazione dell'analizzatore di rete utilizzando i relativi identificatori di dispositivi wireless. Attiva le informazioni sui frame per monitorare i messaggi di uplink e downlink scambiati direttamente con i dispositivi mentre l’attività FUOTA è in corso.

1. Attiva la messaggistica di traccia per iniziare a ricevere messaggi di traccia per i dispositivi e i gruppi multicast presenti nella configurazione dell'analizzatore di rete.

A questo punto, puoi visualizzare i messaggi di traccia ed eseguirne il debug utilizzando la colonna `applicationCommandType` della tabella dei messaggi di traccia e i dettagli nel messaggio del registro JSON, come descritto in [Debug delle attività FUOTA che contengono solo dispositivi](#lorawan-network-analyzer-fuota-devices).

## Debug dei dispositivi che stanno tentando di entrare in un gruppo multicast
<a name="lorawan-network-analyzer-fuota-multicast"></a>

Utilizza l'analizzatore di rete per eseguire il debug dei dispositivi che tentano di entrare in un gruppo multicast. Per informazioni sull'aggiunta di dispositivi a un gruppo multicast, consulta [Crea gruppi multicast e aggiungi dispositivi al gruppo](lorawan-create-multicast-groups.md). Per eseguire il debug del gruppo multicast, procedi come segue:

1. Crea una configurazione dell'analizzatore di rete attivando le informazioni sui frame per i dispositivi wireless.

1. Aggiungi alla configurazione dell'analizzatore di rete i dispositivi che vuoi monitorare utilizzando i relativi identificatori di dispositivi wireless.

1. Attiva la messaggistica di traccia per iniziare a ricevere messaggi di traccia per i dispositivi presenti nella configurazione dell'analizzatore di rete.

1. Inizia ad associare i dispositivi al gruppo multicast dopo aver attivato i messaggi di traccia per i dispositivi del gruppo.

## Debug di una sessione di gruppo multicast
<a name="lorawan-network-analyzer-fuota-multicastsession"></a>

Utilizza l'analizzatore di rete per eseguire il debug di una sessione di gruppo multicast. Per ulteriori informazioni, consultare [Pianifica un messaggio di downlink da inviare ai dispositivi del gruppo multicast](lorawan-multicast-schedule-downlink.md). Per eseguire il debug di una sessione di gruppo multicast, procedi come segue:

1. Crea una configurazione dell'analizzatore di rete attivando le informazioni sui frame multicast per il gruppo multicast.

1. Aggiungi alla configurazione dell'analizzatore di rete il gruppo multicast che desideri monitorare utilizzando il relativo identificatore di gruppi multicast.

1. Attiva la messaggistica di traccia prima dell'inizio della sessione multicast, così da iniziare a ricevere i messaggi di traccia per la sessione del gruppo multicast.

1. Avvia la sessione del gruppo multicast e monitorane lo stato visualizzando i messaggi nella tabella dei messaggi di traccia e nel messaggio del registro JSON.

Nella tabella dei messaggi di traccia, verrà visualizzato `MulticastAddr`  nella colonna`DevAddr`. Puoi vedere `MulticastGroupId` e altre informazioni dettagliate nel messaggio del registro JSON in **WirelessMetadata > ApplicationInfo**.

# AWS IoT Core per LoRaWAN ed endpoint VPC dell'interfaccia (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

Puoi connetterti direttamente ad AWS IoT Core per LoRaWAN utilizzando [ endpoint VPC di interfaccia (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) nel tuo Virtual Private Cloud (VPC) invece di connetterti tramite Internet pubblico. Quando utilizzi un endpoint VPC di interfaccia, la comunicazione tra il VPC e AWS IoT Core per LoRaWAN avviene in modo completo e sicuro all'interno della rete AWS.

AWS IoT Core per LoRaWAN supporta endpoint di interfaccia Amazon Virtual Private Cloud che sono supportati da AWS PrivateLink. Ogni endpoint VPC è rappresentato da una o più [interfacce di rete elastiche](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) con indirizzi IP privati nelle sottoreti del tuo VPC. Per ulteriori informazioni, consultare [Endpoint VPC di interfaccia (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) nella *Guida per l'utente di Amazon VPC*.

Per ulteriori informazioni su VPC ed endpoint, consulta [Cos'è Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink).

Per ulteriori informazioni su AWS PrivateLink, consulta [AWS PrivateLink ed endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html). 

## Considerazioni sugli endpoint VPC di AWS IoT
<a name="vpc-endpoint-considerations"></a>

Prima di impostare un endpoint VPC dell'interfaccia per Wireless AWS IoT, assicurati di leggere [Interface endpoint properties and limitations](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations) nella *Guida per l'utente Amazon VPC*.

Wireless AWS IoT supporta l'esecuzione di chiamate per tutte le sue operazioni API all'interno del VPC. Le policy endpoint VPC non sono supportate per Wireless AWS IoT. Per impostazione predefinita, l'accesso completo a Wireless AWS IoT è consentito attraverso l'endpoint. Per ulteriori informazioni, consulta [Controllo degli accessi ai servizi con endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) nella *Guida per l'utente di Amazon VPC.* 

## architettura privatelink AWS IoT Core per LoRaWAN
<a name="vpc-endpoint-architecture"></a>

Il seguente diagramma mostra l'architettura privatelink di AWS IoT Core per LoRaWAN. L'architettura utilizza un Transit Gateway e un Resolver Route 53 per condividere gli endpoint di interfaccia AWS PrivateLink tra il tuo VPC, il VPC AWS IoT Core per LoRaWAN e un ambiente On-premise. Quando imposti la connessione agli endpoint dell'interfaccia VPC, troverai un diagramma di architettura più dettagliato.

![\[Immagine che mostra come è possibile utilizzare AWS PrivateLink per connettersi agli endpoint AWS IoT Core per LoRaWAN.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/iot-lorawan-privatelink-architecture.png)


## Endpoint AWS IoT Core per LoRaWAN
<a name="vpc-lorawan-endpoints"></a>

AWS IoT Core per LoRaWAN ha tre endpoint pubblici. Ogni endpoint pubblico ha un endpoint dell'interfaccia VPC corrispondente. Gli endpoint pubblici possono essere classificati in endpoint del piano di controllo e del piano dati. Per informazioni su questi endpoint, consulta [AWS IoT Core per LoRaWAN endpoint API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-wireless_region).
+ 

**Endpoint API del piano di controllo**  
 È possibile utilizzare gli endpoint API del piano di controllo per interagire con le API Wireless AWS IoT. È possibile accedere a questi endpoint da un client ospitato nell’Amazon VPC utilizzando AWS PrivateLink.
+ 

**Endpoint API del piano dati**  
Gli endpoint API del piano dati sono gli endpoint LoRaWAN Network Server (LNS) e Configuration and Update Server (CUPS) che è possibile utilizzare per interagire con gli endpoint AWS IoT Core per LoRaWAN LNS e CUPS. È possibile accedere a questi endpoint dai gateway LoRa On-premise utilizzando Site-to-Site VPN o AWS Direct Connect. Questi endpoint si ottengono quando si esegue l'onboarding del gateway per AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md).

**Topics**
+ [Considerazioni sugli endpoint VPC di AWS IoT](#vpc-endpoint-considerations)
+ [architettura privatelink AWS IoT Core per LoRaWAN](#vpc-endpoint-architecture)
+ [Endpoint AWS IoT Core per LoRaWAN](#vpc-lorawan-endpoints)
+ [Onboarding per l'endpoint API del piano di controllo AWS IoT Core per LoRaWAN](lorawan-onboard-control-endpoint.md)
+ [Onboarding degli endpoint API piano dati AWS IoT Core per LoRaWAN](onboard-lns-cups-endpoints.md)

# Onboarding per l'endpoint API del piano di controllo AWS IoT Core per LoRaWAN
<a name="lorawan-onboard-control-endpoint"></a>

È possibile utilizzare gli endpoint API del piano di controllo AWS IoT Core per LoRaWAN per interagire con le API Wireless AWS IoT. Ad esempio, puoi utilizzare questo endpoint per eseguire l'API [SendDataToWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html) per inviare i dati da AWS IoT al dispositivo LoRaWAN. Per ulteriori informazioni, consulta [AWS IoT Core per LoRaWAN Endpoint API del piano di controllo](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core.html#iot-wireless-control-plane-endpoints).

Puoi utilizzare il client ospitato nel tuo Amazon VPC per accedere agli endpoint del piano di controllo alimentati da AWS PrivateLink. Puoi utilizzare questi endpoint per connetterti all'API Wireless AWS IoT tramite un endpoint di interfaccia nel tuo Virtual Private Cloud (VPC) anziché connetterti tramite Internet pubblico.

**Topics**
+ [Crea il tuo Amazon VPC e la sottorete](#create-vpc)
+ [Avvia un'istanza Amazon EC2 nella sottorete](#launch-ec2-instance)
+ [Crea un endpoint dell'interfaccia Amazon VPC](#create-vpc-endpoint)
+ [Verifica la connessione all’endpoint dell’interfaccia](#connect-vpc-endpoint)

## Crea il tuo Amazon VPC e la sottorete
<a name="create-vpc"></a>

Prima di poterti connettere all'endpoint dell'interfaccia, devi creare un VPC e una sottorete. Verrà quindi avviata un'istanza EC2 nella sottorete, che puoi utilizzare per connetterti all'endpoint dell'interfaccia. 

Per creare il tuo VPC:

1. Passa alla pagina [VPC](https://console.aws.amazon.com/vpc/home#/vpcs) della console Amazon VPC e scegli **Crea VPC**.

1. Sulla pagina **Create VPC (Crea VPC)**:
   + Inserisci un nome per **VPC Name tag (Tag Nome VPC) - facoltativo** (ad esempio, **VPC-A**).
   + Inserisci un intervallo di indirizzi IPv4 per il VPC nel blocco CIDR IPv4 (ad esempio, **10.100.0.0/16**).

1. Mantieni i valori predefiniti per gli altri campi e scegli **Create VPC (Crea VPC)**.

Per creare la sottorete:

1. Passa alla pagina [Subnets (Sottoreti)](https://console.aws.amazon.com/vpc/home#/subnets) della console Amazon VPC e scegli **Create subnet (Crea una sottorete)**.

1. Sulla pagina **Create subnet (Crea sottorete)**:
   + Per **VPC ID**, scegli il VPC che hai creato in precedenza (ad esempio, `VPC-A`).
   + Inserisci un nome per **Subnet name (Nome sottorete)** (ad esempio, **Private subnet**).
   + Scegli la **Availability zone (Zona di disponibilità)** per la sottorete.
   + Inserisci il blocco di indirizzi IP della sottorete nella casella **IPv4 CIDR block (Blocco CIDR IPv4)** in formato CIDR (ad esempio, **10.100.0.0/24**).

1. Per creare la sottorete e aggiungerla al VPC, scegli **Create subnet (Creare una sottorete)**.

Per ulteriori informazioni, consulta [Work with VPCs and subnets (Uso di VPC e sottoreti)](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html).

## Avvia un'istanza Amazon EC2 nella sottorete
<a name="launch-ec2-instance"></a>

Avvia la tua istanza EC2:

1. Passa alla console [Amazon EC2](https://console.aws.amazon.com/ec2/home#/) e scegli **Launch Instance (Avvia istanza)**.

1. Per AMI, scegli **Amazon Linux 2 AMI (HVM), SSD Volume Type** e quindi scegli il tipo di istanza **t2 micro**. Per configurare i dettagli dell’istanza scegli **Next (Successivo)**.

1. Nella pagina **Configure Instance Details (Configura i dettagli dell'istanza)**:
   + Per **Network (Rete)**, scegli il VPC che hai creato in precedenza (per esempio, `VPC-A`).
   + Per **Subnet (Sottorete)**, scegli la sottorete che hai creato in precedenza (ad esempio, **Private subnet**).
   + Per **Ruolo IAM**, scegli il ruolo **AWSIoTWirelessFullAccess** per garantire a AWS IoT Core per LoRaWAN la policy di accesso completo. Per ulteriori informazioni, consulta la sezione [Riepilogo delle policy `AWSIoTWirelessFullAccess`](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess$serviceLevelSummary).
   + Per **Assume Private IP (Assumere IP privato)** utilizza un indirizzo IP, ad esempio, **10.100.0.42**.

1. Scegli **Next: Add Storage (Successivo: Aggiungi storage)** e poi **Next: Add tags (Successivo: Aggiungi tag)**. È possibile aggiungere qualsiasi tag da associare all'istanza EC2. Scegliere **Next: Configure Security Group (Fase successiva: configurazione del gruppo di sicurezza)**.

1. Nella pagina **Configure Security Group (Configura il gruppo di sicurezza)**, configura il gruppo di sicurezza per permettere:
   + Apri **All TCP (Tutte le regole TCP)** per fonti come `10.200.0.0/16`.
   + Apri **All ICMP - IPV4 (Tutti i parametri ICMP - IPV4)** per fonti come `10.200.0.0/16`.

1. Per esaminare i dettagli dell'istanza e avviare l'istanza EC2, scegli **Review and Launch (Rivedi e avvia)**.

Per ulteriori informazioni, consulta [Nozioni di base sulle istanze Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/userguide/EC2_GetStarted.html).

## Crea un endpoint dell'interfaccia Amazon VPC
<a name="create-vpc-endpoint"></a>

È possibile creare un endpoint VPC per il tuo VPC, a cui è possibile accedere tramite l'API EC2. Per creare l'endpoint:

1. Passa alla console [VPC](https://console.aws.amazon.com/vpc/home#/endpoints) **Endpoint** e scegli **Create Endpoint (Creazione endpoint)**.

1. Nella pagina **Create Endpoint (Crea endpoint)**, specifica le informazioni riportate di seguito.
   + Scegli **Servizio AWSs** per **Categoria di servizio**.
   + Per **Service Name (Nome servizio)**, esegui la ricerca inserendo la parola chiave **iotwireless**. Nella lista di servizi `iotwireless`, scegli l'endpoint API del piano di controllo per la regione. L'endpoint sarà nel formato `com.amazonaws.region.iotwireless.api`.
   + Per **VPC** e **Subnets (Sottoreti)** scegli il VPC in cui desideri creare l'endpoint e le zone di disponibilità in cui desideri creare la rete endpoint.
**Nota**  
Non tutte le zone di disponibilità possono essere supportate dal servizio `iotwireless`.
   + Per **Enable DNS Name (Abilita nome DNS)**, scegli **Enable for this endpoint (Abilita per questo endpoint)**. 

     La scelta di questa opzione risolverà automaticamente il DNS e creerà un routing in Amazon Route 53 Public Data Plane, in modo che le API utilizzate in seguito per testare la connessione passino attraverso gli endpoint privatelink.
   + In **Security group (Gruppo di sicurezza)**, scegli i gruppi di sicurezza da associare alle interfacce di rete dell'endpoint.
   + Facoltativamente, puoi aggiungere o rimuovere i tag. I tag sono coppie nome-valore utilizzate per l'associazione al tuo endpoint. 

1. Per creare l'endpoint VPC, scegli **Create endpoint (Crea endpoint)**.

## Verifica la connessione all’endpoint dell’interfaccia
<a name="connect-vpc-endpoint"></a>

Puoi utilizzare un SSH per accedere all'istanza di Amazon EC2 e quindi utilizzare AWS CLI per connetterti agli endpoint dell'interfaccia privatelink.

Prima di connetterti all'endpoint dell'interfaccia, scarica la versione più recente di AWS CLI seguendo le istruzioni descritte in [Installazione, aggiornamento e disinstallazione di AWS CLI versione 2 su Linux](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html).

Di seguito sono riportati esempi che mostrano come testare la connessione all'endpoint di interfaccia utilizzando la CLI.

```
aws iotwireless create-service-profile \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com  \ 
    --name='test-privatelink'
```

L'esempio seguente mostra un esempio dell’esecuzione del comando.

```
Response:
{
 "Arn": "arn:aws:iotwireless:region:acct_number:ServiceProfile/1a2345ba-4c5d-67b0-ab67-e0c8342f2857",
 "Id": "1a2345ba-4c5d-67b0-ab67-e0c8342f2857"
}
```

Analogamente, puoi eseguire i seguenti comandi per ottenere le informazioni sul profilo del servizio o elencare tutti i profili di servizio.

```
aws iotwireless get-service-profile \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com  
    --id="1a2345ba-4c5d-67b0-ab67-e0c8342f2857"
```

Di seguito viene illustrato un esempio per il comando list-device-profiles.

```
aws iotwireless list-device-profiles \ 
    --endpoint-url https://api.iotwireless.region.amazonaws.com
```

# Onboarding degli endpoint API piano dati AWS IoT Core per LoRaWAN
<a name="onboard-lns-cups-endpoints"></a>

Gli endpoint del piano dati AWS IoT Core per LoRaWAN sono costituiti dai seguenti endpoint. Questi endpoint si ottengono quando si aggiunge il gateway ad AWS IoT Core per LoRaWAN. Per ulteriori informazioni, consultare [Aggiungi un gateway a AWS IoT Core per LoRaWAN](lorawan-onboard-gateway-add.md).
+ 

**Endpoint LoRaWAN Network Server (LNS)**  
Gli endpoint LNS sono del formato `account-specific-prefix.lns.lorawan.region.amazonaws.com`. È possibile utilizzare questo endpoint per stabilire una connessione per lo scambio di messaggi uplink e downlink LoRa.
+ 

**Endpoint CUPS (Configuration and Update Server)**  
Gli endpoint CUPS sono del formato `account-specific-prefix.cups.lorawan.region.amazonaws.com`. È possibile utilizzare questo endpoint per la gestione delle credenziali, la configurazione remota e l'aggiornamento del firmware dei gateway.

Per ulteriori informazioni, consultare [Utilizzo di protocolli CUPS e LNS](lorawan-manage-gateways.md#lorawan-cups-lns-protocols).

Per trovare gli endpoint dell'API del piano dati per il tuo Account AWS e la tua Regione, utilizza il comando CLI [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-service-endpoint.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-service-endpoint.html) mostrato qui, o il comando REST API [https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html). Per ulteriori informazioni, consulta [AWS IoT Core per LoRaWAN Endpoint API Piano Dati](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#iot-core.html#iot-wireless-data-plane-endpoints).

È possibile collegare il tuo gateway LoRaWAN on-premise per comunicare con gli endpoint AWS IoT Core per LoRaWAN. Per stabilire questa connessione, connetti innanzitutto il gateway locale all’account Account AWS nel VPC utilizzando una connessione VPN. È quindi possibile comunicare con gli endpoint dell'interfaccia del piano dati nel VPC AWS IoT Core per LoRaWAN che sono alimentati da privatelink.

**Topics**
+ [Crea endpoint di interfaccia VPC e zona ospitata privata](create-vpc-lns-cups.md)
+ [Utilizza VPN per connettere i gateway LoRa al tuo Account AWS](lorawan-vpc-vpn-connection.md)

# Crea endpoint di interfaccia VPC e zona ospitata privata
<a name="create-vpc-lns-cups"></a>

AWS IoT Core per LoRaWAN dispone di due endpoint del piano dati, l'endpoint Configuration and Update Server (CUPS) e l'endpoint LoRaWAN Network Server (LNS). Il processo di configurazione per stabilire una connessione privatelink a entrambi gli endpoint è lo stesso, quindi possiamo utilizzare l'endpoint LNS a scopo illustrativo.

Per gli endpoint del piano dati, i gateway LoRa si connettono innanzitutto al tuo Account AWS nel tuo Amazon VPC, che poi si connette all'endpoint VPC nel VPC AWS IoT Core per LoRaWAN.

Quando ci si connette agli endpoint, i nomi DNS possono essere risolti all'interno di un VPC ma non possono essere risolti su più VPC. Per disabilitare il DNS privato durante la creazione dell'endpoint, disabilita l’impostazione **Enable DNS name (Abilitare nome DNS)**. È possibile utilizzare una zona ospitata privata per fornire informazioni su come si desidera che Route 53 risponda alle query DNS per i VPC. Per condividere il VPC con un ambiente on-premise, è possibile utilizzare un Route 53 Resolver per facilitare il DNS ibrido.

**Topics**
+ [Crea un Amazon VPC e una sottorete](#lns-create-vpc)
+ [Crea un endpoint Amazon VPC dell'interfaccia](#lns-create-vpc-endpoint)
+ [Configura una zona ospitata privata](#create-phz-lns)
+ [Configura il resolver in ingresso Route 53](#configure-route53-resolver)
+ [Passaggi successivi](#lns-cups-next-steps)

## Crea un Amazon VPC e una sottorete
<a name="lns-create-vpc"></a>

Puoi riutilizzare l’Amazon VPC e la sottorete che hai creato durante l'onboarding dell'endpoint del piano di controllo. Per informazioni, consulta [Crea il tuo Amazon VPC e la sottorete](lorawan-onboard-control-endpoint.md#create-vpc).

## Crea un endpoint Amazon VPC dell'interfaccia
<a name="lns-create-vpc-endpoint"></a>

È possibile creare un endpoint VPC per il VPC, allo stesso modo in cui se ne creerebbe uno per l'endpoint del piano di controllo.

1. Passa alla console [VPC](https://console.aws.amazon.com/vpc/home#/endpoints) **Endpoint** e scegli **Create Endpoint (Creazione endpoint)**.

1. Nella pagina **Create Endpoint (Crea endpoint)**, specifica le informazioni riportate di seguito.
   + Scegli **Servizio AWSs** per **Categoria di servizio**.
   + Per **Service Name (Nome servizio)**, esegui la ricerca inserendo la parola chiave **lns**. Nella lista dei servizi `lns`, scegli l'endpoint API del piano dati LNS per la propria regione. L'endpoint sarà del formato `com.amazonaws.region.lorawan.lns`.
**Nota**  
Se stai seguendo questa procedura per il tuo endpoint CUPS, cerca `cups`. L'endpoint sarà del formato `com.amazonaws.region.lorawan.cups`.
   + Per **VPC** e **Subnets (Sottoreti)** scegli il VPC in cui desideri creare l'endpoint e le zone di disponibilità in cui desideri creare la rete endpoint.
**Nota**  
Non tutte le zone di disponibilità possono essere supportate per il servizio `iotwireless`.
   + Per **Enable DNS name (Abilitare nome DNS)**, assicurati che **Enable for this endpoint (Abilita per questo endpoint)** non sia selezionata.

     Non selezionando questa opzione, è possibile disabilitare il DNS privato per l'endpoint VPC e utilizzare invece la zona ospitata privata.
   + In **Security group (Gruppo di sicurezza)**, scegli i gruppi di sicurezza da associare alle interfacce di rete dell'endpoint.
   + Facoltativamente, puoi aggiungere o rimuovere i tag. I tag sono coppie nome-valore utilizzate per l'associazione al tuo endpoint. 

1. Per creare l'endpoint VPC, scegli **Create endpoint (Crea endpoint)**.

## Configura una zona ospitata privata
<a name="create-phz-lns"></a>

Dopo aver creato l'endpoint privatelink, nella scheda **Details (Dettagli)** del tuo endpoint viene visualizzato un elenco di nomi DNS. È possibile utilizzare uno di questi nomi DNS per configurare la zona ospitata privata. Il nome DNS sarà nel formato `vpce-xxxx.lns.lorawan.region.vpce.amazonaws.com`.

**Creare la zona ospitata privata**  
Per creare una zona ospitata privata:

1. Passa alla console [Route 53](https://console.aws.amazon.com/route53/v2/hostedzones#/) **Hosted zone (Zone ospitate)** e scegli **Create hosted zone (Crea una zona ospitata)**.

1. Nella pagina **Create hosted zone (Crea una zona ospitata)**, specifica le informazioni riportate di seguito.
   + Per **Domain name (Nome dominio)**, inserisci il nome completo del servizio per l'endpoint LNS, **lns.lorawan.region.amazonaws.com**.
**Nota**  
Se stai seguendo questa procedura per il tuo endpoint CUPS, inserisci **cups.lorawan.region.amazonaws.com**.
   + Nell'elenco **Type (Tipo)**, scegli **Private Hosted Zone (Zona ospitata privata)**.
   + Facoltativamente, puoi aggiungere o rimuovere tag da associare alla tua zona ospitata.

1. Per creare la tua zona privata ospitata, scegli **Create hosted zone (Crea una zona ospitata)**.

Per ulteriori informazioni consulta [Creating a private hosted zone (Creazione di una zona ospitata privata)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html).

Dopo aver creato una zona ospitata privata, è possibile creare un registro che indica al DNS come si desidera che il traffico venga instradato a quel dominio.

**Creazione di un record**  
Dopo aver creato una zona ospitata privata, è possibile creare un registro che indica al DNS come si desidera che il traffico venga instradato a quel dominio. Per creare un record:

1. Nell'elenco delle zone ospitate visualizzate, scegli la zona ospitata privata creata in precedenza e scegli **Create record (Crea un record)**.

1. Utilizza il metodo della procedura guidata per creare il record. Se la console presenta il metodo **Quick create (Creazione rapida)**, scegli **Switch to wizard (Passa alla procedura guidata)**.

1. Scegli **Simple Routing (Instradamento semplice)** per **Routing policy (Policy di instradamento)** e poi **Next (Successivo)**.

1. Nella pagina **Configure records (Configura record)**, scegli **Define simple record (Definisci record semplice)**.

1. Nella pagina **Define simple record (Definisci record semplice)**:
   + Per **Record name (Nome record)** inserisci l'alias del numero del tuo account Account AWS. È possibile ottenere questo valore quando si esegue l'onboarding del gateway o si utilizza il [https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_GetServiceEndpoint.html) REST API.
   + Per **Record type (Tipo di record)**, mantieni il valore come `A - Routes traffic to an IPv4 address and some AWS resources`.
   + In **Value/Route traffic to (Valore/Instradamento del traffico a)**, seleziona **Alias to VPC endpoint (Alias all’endpoint VPC)**. Scegli la tua **Regione** quindi scegli l'endpoint creato in precedenza, come descritto in [Crea un endpoint Amazon VPC dell'interfaccia](#lns-create-vpc-endpoint) dall'elenco degli endpoint visualizzati.

1. Scegli **Define simple record (Definizione del record semplice)** per creare il record.

## Configura il resolver in ingresso Route 53
<a name="configure-route53-resolver"></a>

Per condividere un endpoint VPC in un ambiente on-premise, è possibile utilizzare un Resolver Route 53 per facilitare il DNS ibrido. Il resolver in ingresso consente di instradare il traffico dalla rete on-premise agli endpoint del piano dati senza passare attraverso Internet pubblico. Per restituire i valori dell'indirizzo IP privato per il servizio, crea il Resolver Route 53 nello stesso VPC dell'endpoint VPC.

Quando si crea il resolver in entrata, è sufficiente specificare il VPC e le sottoreti create in precedenza nelle zone di disponibilità. Il Resolver Route 53 utilizza queste informazioni per assegnare automaticamente un indirizzo IP per instradare il traffico a ciascuna sottorete.

Per creare il resolver in entrata:

1. Passa alla console [Route 53](https://console.aws.amazon.com/route53/v2/inbound-endpoints#/) **Inbound endpoints (Endpoint in entrata)** e scegli **Create inbound endpoint (Crea endpoint in entrata)**.
**Nota**  
Assicurati di utilizzare lo stesso Regione AWS utilizzato durante la creazione dell'endpoint e della zona ospitata privata.

1. Nella pagina **Create inbound endpoint (Crea endpoint in entrata)**, specifica le informazioni riportate di seguito.
   + Inserisci un nome per **Endpoint name (Nome endpoint)** (ad esempio, **VPC\$1A\$1Test**).
   + Per **VPC in the region (VPC nella regione)**, scegli lo stesso VPC utilizzato durante la creazione dell'endpoint VPC.
   + Configura il **Gruppo di sicurezza per questo endpoint** per permettere il traffico in ingresso dalla rete locale.
   + Per l'indirizzo IP, scegli **Use an IP address that is selected automatically, (Utilizza un indirizzo IP selezionato automaticamente).**

1. Scegli **Submit (Invia)** per creare il resolver in entrata.

Per questo, supponiamo che gli indirizzi IP `10.100.0.145` e `10.100.192.10` siano stati assegnati per il Resolver Route 53 in ingresso per il traffico di routing.

## Passaggi successivi
<a name="lns-cups-next-steps"></a>

Hai creato la zona ospitata privata e un risolutore in entrata per instradare il traffico per le voci DNS. Ora puoi utilizzare una Site-to-Site VPN o un endpoint Client VPN. Per ulteriori informazioni, consultare [Utilizza VPN per connettere i gateway LoRa al tuo Account AWS](lorawan-vpc-vpn-connection.md). 

# Utilizza VPN per connettere i gateway LoRa al tuo Account AWS
<a name="lorawan-vpc-vpn-connection"></a>

Per connettere i gateway on-premise al tuo Account AWS puoi utilizzare una connessione Site-to-Site VPN o un endpoint Client VPN.

Prima di poter connettere i gateway on-premise, è necessario aver creato l'endpoint VPC e configurato una zona ospitata privata e un resolver in ingresso in modo che il traffico proveniente dai gateway non passi attraverso Internet pubblico. Per ulteriori informazioni, consultare [Crea endpoint di interfaccia VPC e zona ospitata privata](create-vpc-lns-cups.md).

## endpoint Site-to-Site VPN
<a name="vpc-site-vpn"></a>

Se non disponi dell'hardware del gateway o desideri testare la connessione VPN utilizzando un Account AWS, puoi usare una connessione Site-to-Site VPN. Puoi utilizzare Site-to-Site VPN per connetterti agli endpoint VPC dallo stesso Account AWS o da un altro Account AWS che potresti usare in un altro Regione AWS.

**Nota**  
Se disponi dell'hardware del gateway e desideri configurare una connessione VPN, ti consigliamo di utilizzare invece il Client VPN. Per istruzioni, consulta [Endpoint Client VPN](#vpc-client-vpn).

Per configurare un Site-to-Site VPN:

1. Crea un altro VPC nel sito da cui desideri impostare la connessione. Per `VPC-A` puoi riutilizzare il VPC creato in precedenza. Per creare un altro VPC (ad esempio, `VPC-B`), utilizza un blocco CIDR che non si sovrappone al blocco CIDR del VPC creato in precedenza.

   Per informazioni sulla configurazione dei VPC, segui le istruzioni descritte in [AWS configurazione della connessione Site-to-Site VPN](samples/Setup_Site_to_Site_VPN.zip).
**Nota**  
Il metodo Site-to-Site VPN descritto nel documento utilizza OpenSWAN per la connessione VPN, che supporta un solo tunnel VPN. Se utilizzi un altro software commerciale per la VPN, potresti essere in grado di impostare due tunnel tra i siti.

1. Dopo aver configurato la connessione VPN, aggiorna il file `/etc/resolv.conf` aggiungendo l'indirizzo IP del resolver in entrata dal tuo account Account AWS. Utilizza questo indirizzo IP per il nameserver. Per informazioni su come ottenere questo indirizzo IP, consulta [Configura il resolver in ingresso Route 53](create-vpc-lns-cups.md#configure-route53-resolver). Per questo esempio, possiamo usare l'indirizzo IP `10.100.0.145` assegnato al momento della creazione del Resolver Route 53.

   ```
   options timeout:2 attempts:5
   ; generated by /usr/sbin/dhclient-script
   search region.compute.internal
   nameserver 10.100.0.145
   ```

1. Ora possiamo verificare se la connessione VPN utilizza l'endpoint AWS PrivateLink invece di passare attraverso Internet pubblico utilizzando un comando `nslookup`. Di seguito viene illustrato un esempio dell’esecuzione del comando.

   ```
   nslookup account-specific-prefix.lns.lorawan.region.amazonaws.com
   ```

   Di seguito viene illustrato un esempio di output dell'esecuzione del comando, che mostra un indirizzo IP privato che indica che la connessione è stata stabilita all’endpoint LNS AWS PrivateLink.

   ```
   Server: 10.100.0.145
   Address: 10.100.0.145
   
   Non-authoritative answer:
   Name: https://xxxxx.lns.lorawan.region.amazonaws.com
   Address: 10.100.0.204
   ```

Per informazioni sull'utilizzo di una connessione Site-to-Site VPN, consulta [Funzionamento di Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/how_it_works.html).

## Endpoint Client VPN
<a name="vpc-client-vpn"></a>

AWS Client VPN è un servizio VPN gestito, basato su cloud, che consente di controllare in modo sicuro l'accesso alle risorse AWS nella tua rete locale. Di seguito viene illustrata l'architettura per il servizio Client VPN.

![\[Immagine che mostra come è possibile utilizzare AWS Client VPN per connettere il gateway LoRa on-premise.\]](http://docs.aws.amazon.com/it_it/iot-wireless/latest/developerguide/images/lorawan-privatelink-client-vpn.png)


Per stabilire una connessione VPN a un endpoint Client VPN:

1. Crea un endpoint Client VPN seguendo le istruzioni descritte in [ Nozioni di base su AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html).

1. Accedi alla rete on-premise (ad esempio, un router Wi-Fi) utilizzando l'URL di accesso per tale router (ad esempio, `192.168.1.1`), e individua nome e password di root.

1. Configura il gateway LoRaWAN seguendo le istruzioni contenute nella documentazione del gateway e quindi aggiungi il gateway ad AWS IoT Core per LoRaWAN. Per informazioni su come aggiungere un gateway, consulta [Integrare i gateway per AWS IoT Core per LoRaWAN](lorawan-onboard-gateways.md).

1. Controlla che il firmware del gateway sia aggiornato. Se il firmware non è aggiornato, è possibile seguire le istruzioni fornite nella rete On-premise per aggiornare il firmware del gateway. Per ulteriori informazioni, consultare [Aggiornare il firmware del gateway utilizzando il servizio CUPS con AWS IoT Core per LoRaWAN](lorawan-update-firmware.md).

1. Verifica se OpenVPN è stato abilitato. Se è stato abilitato, passa al passaggio successivo per configurare il client OpenVPN all'interno della rete on-premise. Se non è stato abilitato, segui le istruzioni in [Guida all'installazione di OpenVPN per OpenWrt](https://www.ovpn.com/en/guides/openwrt).
**Nota**  
In questo esempio viene utilizzato OpenVPN. È possibile utilizzare altri client VPN come Site-to-Site VPN o AWS Direct Connect per configurare la connessione Client VPN.

1. Configura il client OpenVPN in base alle informazioni dalla configurazione del client e alle modalità di utilizzo [Client OpenVPN che utilizza LuCi](https://openwrt.org/docs/guide-user/services/vpn/openvpn/client-luci).

1. SSH alla rete on-premise e aggiorna il file `/etc/resolv.conf` aggiungendo l'indirizzo IP del resolver in entrata nel tuo account Account AWS (`10.100.0.145`).

1. Per il traffico del gateway utilizza AWS PrivateLink per connetterti all'endpoint, sostituisci la prima voce DNS del gateway all'indirizzo IP del resolver in ingresso.

Per informazioni sull'utilizzo di una connessione Site-to-Site VPN, consulta [Nozioni di base su Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/user-getting-started.html).

## Connessione agli endpoint LNS e CUPS VPC
<a name="vpc-vpn-connect"></a>

Di seguito viene illustrato come testare la connessione agli endpoint LNS e CUPS VPC.

**Test dell'endpoint CUPS**  
Per testare la connessione AWS PrivateLink all'endpoint CUPS dal gateway LoRa, esegui il comando seguente:

```
curl -k -v -X POST https://xxxx.cups.region.iotwireless.iot:443/update-info 
     --cacert cups.trust --cert cups.crt --key cups.key --header "Content-Type: application/json" 
     --data '{ 
              "router": "xxxxxxxxxxxxx", 
              "cupsUri": "https://xxxx.cups.lorawan.region.amazonaws.com:443",
              "cupsCredCrc":1234, "tcCredCrc":552384314
             }' 
      —output cups.out
```

**Test dell'endpoint LNS**  
Per testare l'endpoint LNS, effettua prima il provisioning di un dispositivo LoRaWAN che funzionerà con il gateway wireless. Puoi quindi aggiungere il dispositivo ed eseguire la procedura *join* dopo la quale è possibile iniziare a inviare messaggi di uplink.