

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Applicazioni demo Bluetooth Low Energy
<a name="ble-demo"></a>

**Importante**  <a name="deprecation-message-demo"></a>
Questa demo è ospitata nel Amazon-FreeRTOS repository che è obsoleto. Ti consigliamo di [iniziare da qui](freertos-getting-started-modular.md) quando crei un nuovo progetto. Se hai già un progetto FreerTOS esistente basato sul repository ora obsoleto, Amazon-FreeRTOS consulta il. [Amazon-FreeRTOS Guida alla migrazione del repository Github](github-repo-migration.md)

## Panoramica di
<a name="ble-demo-overview"></a>

FreerTOS Bluetooth Low Energy include tre applicazioni demo:
+ Demo [MQTT su Bluetooth Low Energy](#ble-demo-mqtt) 

  Questa applicazione dimostra come utilizzare il servizio MQTT su Bluetooth Low Energy.
+ Demo [Wi-Fi approvvigionamento](#ble-demo-wifi)

  Questa applicazione dimostra come utilizzare il servizio Bluetooth Low Energy Wi-Fi Provisioning.
+ Demo [Server Generic Attributes](#ble-demo-server)

  Questa applicazione dimostra come utilizzare le API middleware FreerTOS Bluetooth Low Energy per creare un semplice server GATT.

**Nota**  
Per configurare ed eseguire le demo di FreerTOS, segui i passaggi indicati. [Inizia con FreerTOS](freertos-getting-started.md)

## Prerequisiti
<a name="ble-demo-prereqs"></a>

Per proseguire con queste demo, occorre un microcontroller con funzionalità Bluetooth Low Energy. È inoltre necessario disporre di [SDK iOS per dispositivi Bluetooth FreerTOS](freertos-ble-mobile.md#freertos-ble-ios) o [Android SDK per dispositivi Bluetooth FreerTOS](freertos-ble-mobile.md#freertos-ble-android).

### Configurazione AWS IoT e Amazon Cognito per FreerTOS Bluetooth Low Energy
<a name="set-up-ble-demo-aws"></a>

Per connettere i tuoi AWS IoT dispositivi a più MQTT, devi configurare Amazon AWS IoT Cognito.

**Per configurare AWS IoT**

1. Configura un AWS account su. [https://aws.amazon.com/](https://aws.amazon.com/)

1. Aprire la [console AWS IoT](https://console.aws.amazon.com/iot/) e dal riquadro di navigazione scegliere **Manage (Gestisci)**, quindi scegliere **Things (Oggetti)**.

1. Scegliere **Create (Crea)**, quindi scegliere **Create a single thing (Crea un singolo oggetto)**.

1. Immettere un nome per il dispositivo, quindi scegliere **Next (Avanti)**.

1. Se si sta collegando il microcontroller al cloud mediante un dispositivo mobile, scegliere **Create thing without certificate (Crea oggetto senza certificato)**. Poiché gli SDK per dispositivi mobili utilizzano Amazon Cognito per l'autenticazione dei dispositivi, non è necessario creare un certificato del dispositivo per le demo che utilizzano Bluetooth Low Energy.

   Se colleghi il microcontrollore al cloud direttamente Wi-Fi, scegli **Crea certificato**, scegli **Attiva**, quindi scarica il certificato, la chiave pubblica e la chiave privata dell'oggetto.

1. Scegliere l'oggetto appena creato dall'elenco degli oggetti registrati e quindi scegliere **Interact (Interazione)** dalla pagina dell'oggetto. Prendi nota dell'endpoint dell'API AWS IoT REST.

Per ulteriori informazioni sulla configurazione, consulta la [Guida introduttiva con AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html).

**Per creare un pool di utenti Amazon Cognito**

1. Apri la console Amazon Cognito e scegli **Gestisci pool di utenti**.

1. Scegli **Create a User Pool (Crea un bacino d'utenza)**.

1. Fornire al pool di utenti un nome, quindi scegliere **Review defaults (Esamina impostazioni predefinite)**.

1. Nel riquadro di navigazione scegliere **App clients (Client app)** e quindi scegliere **Add an app (Aggiungi un'app)**.

1. Immettere il nome del client dell'app, quindi scegliere **Create app client (Crea client dell'app)**.

1. Dal riquadro di navigazione, scegliere **Review (Verifica)** e quindi selezionare **Create pool (Crea pool)**.

   Annotare l'ID del pool visualizzato nella pagina **General Settings (Impostazioni generali)** del pool di utenti.

1. Nel riquadro di navigazione, scegliere **App clients (Client app)** e quindi scegliere **Show details (Mostra dettagli)**. Annotare l'ID e il segreto del client dell'app.

**Per creare un pool di identità Amazon Cognito**

1. Apri la console Amazon Cognito e scegli **Gestisci pool di identità**.

1. Immettere un nome per il pool di identità.

1. Espandere **Authentication providers (Provider di autenticazione)**, scegliere la scheda **Cognito**, quindi immettere l'ID del pool di utenti e l'ID del client dell'app.

1. Seleziona **Create Pool** (Crea pool).

1. Espandere **View Details (Visualizza dettagli)** e annotare i due nomi di ruolo IAM. Scegli **Consenti** per creare i ruoli IAM per identità autenticate e non autenticate per accedere ad Amazon Cognito.

1. Scegli **Modifica pool di identità**. Annotare l'ID del pool di identità. Il formato è simile al seguente `us-west-2:12345678-1234-1234-1234-123456789012`.

Per ulteriori informazioni sulla configurazione di Amazon Cognito, consulta la [Guida introduttiva ad Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-getting-started.html).

**Per creare e allegare una policy IAM all'identità autenticata**

1. Apri la console IAM e dal pannello di navigazione, scegli **Ruoli**.

1. Trovare e scegliere il ruolo dell'identità autenticata, scegliere **Attach policies (Allega policy)**, quindi scegliere **Add inline policy (Aggiungi policy inline)**.

1. Scegliere la scheda **JSON** e incollare il file JSON seguente:

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "iot:AttachPolicy",
               "iot:AttachPrincipalPolicy",
               "iot:Connect",
               "iot:Publish",
               "iot:Subscribe",
               "iot:Receive",
               "iot:GetThingShadow",
               "iot:UpdateThingShadow",
               "iot:DeleteThingShadow"
            ],
            "Resource":[
               "*"
            ]
         }
      ]
   }
   ```

------

1. Scegliere **Review policy (Esamina policy)**, immettere un nome per la policy, quindi scegliere **Create policy (Crea policy)**.

Tieni a portata di AWS IoT mano le tue informazioni e quelle di Amazon Cognito. Ti servono l'endpoint e gli ID per autenticare la tua applicazione mobile con il cloud. AWS 

### Configura il tuo ambiente FreerTOS per Bluetooth Low Energy
<a name="ble-demo-set-up"></a>

Per configurare il tuo ambiente, devi scaricare FreeRTOS con [Libreria Bluetooth Low Energy](freertos-ble-library.md) il microcontrollore e scaricare e configurare il Mobile SDK per i dispositivi Bluetooth FreerTOS sul tuo dispositivo mobile.

**Per configurare l'ambiente del tuo microcontrollore con FreerTOS Bluetooth Low Energy**

1. Scarica o clona FreerTOS da. [GitHub](https://github.com/aws/amazon-freertos) Consulta il [README.md](https://github.com/aws/amazon-freertos/blob/main/README.md)file per le istruzioni.

1. Configura FreerTOS sul tuo microcontrollore.

   Per informazioni su come iniziare a usare FreeRTOS su FreeRTOS-qualified un microcontrollore, consulta la guida per la tua scheda in [Getting](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-getting-started.html) Started with FreerTOS.
**Nota**  
Puoi eseguire le demo su qualsiasi Energy-enabled microcontrollore Bluetooth Low con FreeRTOS e librerie FreeRTOS Bluetooth Low Energy con porta. Attualmente, il progetto demo [MQTT su Bluetooth Low Energy](#ble-demo-mqtt) FreerTOS è completamente adattato ai seguenti dispositivi Bluetooth Low: Energy-enabled   
[Espressif e ESP32-DevKitC ESP-WROVER-KIT](https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html)
[Nordic n RF52840-DK](https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_nordic.html)

## Componenti comuni
<a name="ble-demo-common"></a>

Le applicazioni demo FreerTOS hanno due componenti comuni:
+ Network Manager
+ Applicazione demo Bluetooth Low Energy Mobile SDK

### Network Manager
<a name="ble-demo-network-manager"></a>

Network Manager consente di gestire la connessione di rete del microcontroller. Si trova nella tua directory FreerTOS all'indirizzo. `demos/network_manager/aws_iot_network_manager.c` Se Network Manager è abilitato sia Wi-Fi per Bluetooth Low Energy che per Bluetooth Low Energy, le demo iniziano con Bluetooth Low Energy per impostazione predefinita. Se la connessione Bluetooth Low Energy viene interrotta e la scheda madre sì Wi-Fi-enabled, Network Manager passa a una Wi-Fi connessione disponibile per evitare che l'utente si disconnetta dalla rete.

Per abilitare un tipo di connessione di rete con Network Manager, aggiungi il tipo di connessione di rete al `configENABLED_NETWORKS` parametro in `vendors/{{vendor}}/boards/{{board}}/aws_demos/config_files/aws_iot_network_config.h` (dove {{vendor}} è il nome del fornitore e il {{board}} nome della scheda che stai utilizzando per eseguire le demo).

Ad esempio, se hai sia Bluetooth Low Energy che Wi-Fi abilitato, la riga che inizia con `#define configENABLED_NETWORKS` in è la `aws_iot_network_config.h` seguente:

```
#define  configENABLED_NETWORKS  ( AWSIOT_NETWORK_TYPE_BLE | AWSIOT_NETWORK_TYPE_WIFI )
```

Per ottenere un elenco dei tipi di connessione di rete attualmente supportati, vedere le righe che iniziano con `#define AWSIOT_NETWORK_TYPE` in `aws_iot_network.h`.

### Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK
<a name="ble-sdk-app"></a>

[L'applicazione demo FreeRTOS Bluetooth Low Energy Mobile SDK si trova GitHub su [Android SDK per dispositivi Bluetooth FreerTOS sotto e `amazon-freertos-ble-android-sdk/app` su iOS SDK per dispositivi Bluetooth FreerTOS sotto](https://github.com/aws/amazon-freertos-ble-android-sdk).](https://github.com/aws/amazon-freertos-ble-ios-sdk) `amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo` In questo esempio, utilizziamo screenshot della versione iOS dell'applicazione demo per dispositivi mobili.

**Nota**  
Se utilizzi un dispositivo iOS, è richiesto Xcode per compilare l'applicazione demo per dispositivi mobili. Se utilizzi un dispositivo Android, puoi utilizzare Android Studio per compilare l'applicazione demo per dispositivi mobili.

**Per configurare l'applicazione demo per SDK iOS**

Quando definisci le variabili di configurazione, utilizza il formato dei valori segnaposto forniti nei file di configurazione.

1. Verifica che sia installato [SDK iOS per dispositivi Bluetooth FreerTOS](freertos-ble-mobile.md#freertos-ble-ios).

1. Invia il comando seguente da `amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/`:

   ```
   $ pod install
   ```

1. Aprire il progetto `amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo.xcworkspace` con Xcode e modificare l'account sviluppatore di firma nell'account dell'utente.

1. Crea una AWS IoT politica nella tua regione (se non l'hai già fatto).
**Nota**  
Questa policy è diversa dalla policy IAM creata per l'identità autenticata di Amazon Cognito.

   1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot/).

   1. Nel riquadro di navigazione, selezionare **Secure (Sicurezza)**, scegliere **Policies (Policy)** e poi **Create (Crea)**. Inserire un nome per identificare la policy. Nella sezione **Add statements (Aggiungi istruzioni)**, scegliere **Advanced mode (Modalità avanzata)**. Copiare e incollare il seguente JSON nella finestra dell'editor policy. Sostituisci {{aws-region}} e {{aws-account}} con la tua AWS regione e l'ID dell'account.

   1. Scegli **Create** (Crea).

1. Apri `amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Amazon/AmazonConstants.swift` e ridefinisci le seguenti variabili:
   + `region`: La tua AWS regione.
   + `iotPolicyName`: il nome AWS IoT della tua polizza.
   + `mqttCustomTopic`: l'argomento MQTT in cui effettuare la pubblicazione.

1. Aprire `amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Support/awsconfiguration.json`.

   In `CognitoIdentity` ridefinisci le seguenti variabili:
   + `PoolId`: l'ID del tuo pool di identità di Amazon Cognito.
   + `Region`: La tua AWS regione.

   In `CognitoUserPool` ridefinisci le seguenti variabili:
   + `PoolId`: l'ID del tuo pool di utenti di Amazon Cognito.
   + `AppClientId`: l'ID del client dell'app.
   + `AppClientSecret`: il segreto del client dell'app.
   + `Region`: La tua AWS regione.

**Per configurare l'applicazione demo per SDK Android**

Quando definisci le variabili di configurazione, utilizza il formato dei valori segnaposto forniti nei file di configurazione.

1. Verifica che sia installato [Android SDK per dispositivi Bluetooth FreerTOS](freertos-ble-mobile.md#freertos-ble-android).

1. Crea una AWS IoT politica nella tua regione (se non l'hai già fatto).
**Nota**  
Questa policy è diversa dalla policy IAM creata per l'identità autenticata di Amazon Cognito.

   1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot/).

   1. Nel riquadro di navigazione, selezionare **Secure (Sicurezza)**, scegliere **Policies (Policy)** e poi **Create (Crea)**. Inserire un nome per identificare la policy. Nella sezione **Add statements (Aggiungi istruzioni)**, scegliere **Advanced mode (Modalità avanzata)**. Copiare e incollare il seguente JSON nella finestra dell'editor policy. Sostituisci {{aws-region}} e {{aws-account}} con la tua AWS regione e l'ID dell'account.

   1. Scegli **Create** (Crea).

1. Apri [https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/java/software/amazon/freertos/demo/DemoConstants.java](https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/java/software/amazon/freertos/demo/DemoConstants.java)e ridefinisci le seguenti variabili:
   + `AWS_IOT_POLICY_NAME`: il nome AWS IoT della tua politica.
   + `AWS_IOT_REGION`: La tua AWS regione.

1. Aperto [https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/res/raw/awsconfiguration.json](https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/res/raw/awsconfiguration.json). 

   In `CognitoIdentity` ridefinisci le seguenti variabili:
   + `PoolId`: l'ID del tuo pool di identità di Amazon Cognito.
   + `Region`: La tua AWS regione.

   In `CognitoUserPool` ridefinisci le seguenti variabili:
   + `PoolId`: l'ID del tuo pool di utenti di Amazon Cognito.
   + `AppClientId`: l'ID del client dell'app.
   + `AppClientSecret`: il segreto del client dell'app.
   + `Region`: La tua AWS regione.

**Per individuare e stabilire connessioni sicure con il microcontroller su Bluetooth Low Energy**

1. Per associare il microcontrollore e il dispositivo mobile in modo sicuro (fase 6), è necessario un emulatore di terminale seriale con funzionalità di input e output (ad esempio). TeraTerm Configura il terminale per la connessione alla scheda tramite una connessione seriale come indicato in [Installazione di un emulatore di terminale](gsg-troubleshooting.md#uart-term).

1. Eseguire il progetto demo Bluetooth Low Energy sul microcontroller.

1. Eseguire l'applicazione demo SDK Bluetooth Low Energy Mobile sul dispositivo mobile.

   Per avviare un'applicazione demo di SDK Android dalla riga di comando, eseguire il comando seguente:

   ```
   $ ./gradlew installDebug
   ```

1. Verificare che il microcontroller sia visualizzato in **Devices (Dispositivi)** nell'applicazione demo SDK Bluetooth Low Energy Mobile.  
![Pagina di gestione dei dispositivi che mostra un dispositivo ESP32 con il relativo identificatore univoco.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list1.png)
**Nota**  
Nell'elenco vengono visualizzati tutti i dispositivi con FreerTOS e il servizio di informazioni sul dispositivo `{{freertos}}/.../device_information` () che si trovano nell'intervallo.

1. Scegliere il microcontroller dall'elenco di dispositivi. L'applicazione stabilisce una connessione con la scheda e una riga verde viene visualizzata accanto al dispositivo connesso.  
![Viene visualizzato l'ID del dispositivo ESP32.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list2.png)

   È possibile disconnettersi dal microcontrollore trascinando la linea verso sinistra.  
![Pagina dei dispositivi che mostra un ID del dispositivo ESP32 e un altro ID del dispositivo.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list3.png)

1. Se richiesto, abbinare il microcontroller e il dispositivo mobile.  
![Uscita della console che mostra la disconnessione del dispositivo BLE, la disconnessione del servizio MQTT, l'avvio della pubblicità, la connessione BLE al dispositivo remoto e una richiesta di confronto numerico.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/pairing-board.png)  
![Finestra di dialogo di richiesta di associazione Bluetooth per il dispositivo «ESP32" che mostra il codice «465520" da confermare su «ESP32".](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/pairing-mobile.png)

   Se il codice per i confronti numerici è identico su entrambi i dispositivi, accoppiare i dispositivi.

**Nota**  
L'applicazione demo Bluetooth Low Energy Mobile SDK utilizza Amazon Cognito per l'autenticazione degli utenti. Assicurati di aver configurato un pool di utenti e identità di Amazon Cognito e di aver collegato le policy IAM alle identità autenticate.

## MQTT su Bluetooth Low Energy
<a name="ble-demo-mqtt"></a>

Nella demo MQTT tramite Bluetooth Low Energy, il microcontrollore pubblica messaggi sul cloud tramite un proxy MQTT. AWS 

**Per effettuare la sottoscrizione a un argomento MQTT demo**

1. Accedi alla console. AWS IoT 

1. Nel pannello di navigazione, scegli **Test**, quindi scegli **MQTT test client per aprire il client** MQTT.

1. In **Argomento sottoscrizione**, digitare **{{thing-name}}/example/topic1**, quindi scegliere **Effettua sottoscrizione all'argomento**.

Se utilizzi Bluetooth Low Energy per accoppiare il microcontroller con il dispositivo mobile, i messaggi MQTT vengono instradati al dispositivo mobile mediante l'applicazione demo SDK Bluetooth Low Energy Mobile.

**Per abilitare la demo tramite Bluetooth Low Energy**

1. Aprire `vendors/{{vendor}}/boards/{{board}}/aws_demos/config_files/aws_demo_config.h` e definire `CONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED`.

1. Apri `demos/include/aws_clientcredential.h` e configura `clientcredentialMQTT_BROKER_ENDPOINT` con l'endpoint del AWS IoT broker. Configura `clientcredentialIOT_THING_NAME` con il nome dell'oggetto per il dispositivo microcontrollore BLE. L'endpoint del AWS IoT broker può essere ottenuto dalla AWS IoT console scegliendo **Impostazioni** nel riquadro di navigazione a sinistra o tramite la CLI eseguendo il comando:. `aws iot describe-endpoint --endpoint-type=iot:Data-ATS`
**Nota**  
L'endpoint del AWS IoT broker e il nome dell'oggetto devono trovarsi entrambi nella stessa regione in cui sono configurati l'identità cognito e il pool di utenti.

**Per eseguire la demo**

1. Compilare ed eseguire il progetto demo sul microcontroller.

1. Assicurati di aver accoppiato la scheda e il dispositivo mobile utilizzando la [Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK](#ble-sdk-app).

1. Dall'elenco **Devices (Dispositivi)** nell'applicazione demo per dispositivi mobili, scegliere il microcontroller, quindi selezionare **MQTT Proxy (Proxy MQTT)** per aprire le impostazioni proxy MQTT.  
![Di seguito è riportato un elenco di tre ID di dispositivi ESP32, con MQTT Proxy, Network Config e opzioni MQTT GATT personalizzate.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list4.png)

1. Dopo aver abilitato il proxy MQTT, i messaggi MQTT vengono visualizzati sull'argomento `{{thing-name}}/example/topic1` e i dati vengono stampati sul terminale UART.

## Wi-Fi approvvigionamento
<a name="ble-demo-wifi"></a>

Wi-Fi Provisioning è un servizio FreerTOS Bluetooth Low Energy che consente di Wi-Fi inviare in modo sicuro le credenziali di rete da un dispositivo mobile a un microcontrollore tramite Bluetooth Low Energy. Il codice sorgente del servizio Wi-Fi Provisioning è disponibile all'indirizzo. `{{freertos}}/.../wifi_provisioning`

**Nota**  
La demo di Wi-Fi Provisioning è attualmente supportata su Espressif. ESP32-DevKitC

**Per abilitare la demo**

1. Abilita il servizio Provisioning. Wi-Fi Apri `vendors/{{vendor}}/boards/{{board}}/aws_demos/config_files/iot_ble_config.h` e imposta su `#define IOT_BLE_ENABLE_WIFI_PROVISIONING` `1` (dove {{vendor}} è il nome del fornitore e il {{board}} nome della scheda che stai utilizzando per eseguire le demo).
**Nota**  
Il servizio Wi-Fi Provisioning è disabilitato per impostazione predefinita.

1. Configurare [Network Manager](#ble-demo-network-manager) per abilitare sia Bluetooth Low Energy che. Wi-Fi

**Per eseguire la demo**

1. Compilare ed eseguire il progetto demo sul microcontroller.

1. Assicurati di aver associato il microcontrollore e il dispositivo mobile utilizzando il. [Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK](#ble-sdk-app)

1. Dall'elenco **Devices (Dispositivi)** nell'app demo per dispositivi mobili, scegliere il microcontroller, quindi selezionare **Network Config (Configurazione rete)** per aprire le impostazioni di configurazione della rete.  
![Di seguito è riportato un elenco di tre ID di dispositivi ESP32, con MQTT Proxy, Network Config e opzioni MQTT GATT personalizzate.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list4.png)

1. Dopo aver scelto **Network Config (Configurazione rete)** per la scheda, il microcontroller invia un elenco delle reti che si trovano vicino al dispositivo mobile. Wi-Fi **Le reti disponibili vengono visualizzate in un elenco in Reti scansionate.**  
![Interfaccia di gestione dei dispositivi ESP32 che non mostra reti salvate, ma due reti Wi-Fi aperte scansionate, una con protezione WPA2 e RSSI di -29, l'altra con sicurezza aperta e RSSI di -50.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-network-config1.png)

   Dall'elenco **Scanned Networks (Reti scansite)**, scegliere la rete, quindi immettere l'SSID e la password, se richiesti.  
![Wi-Fi finestra di dialogo per l'immissione della password di rete con campo password vuoto, pulsanti Annulla e Salva.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-wifi-password.png)

   Il microcontrollore si connette alla rete e la salva. La rete viene visualizzata in **Saved Networks (Reti salvate)**.  
![Interfaccia di rete che mostra WiFi le reti salvate e scansionate, una protetta da WPA2, l'altra aperta, con indicatori di intensità del segnale.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-network-config2.png)

Puoi salvare diverse reti nell'applicazione demo per dispositivi mobili. Quando riavvii l'applicazione e la demo, il microcontroller si connette alla prima rete salvata disponibile, partendo dall'inizio dell'elenco **Saved Networks (Reti salvate)**. 

Per modificare l'ordine di priorità di rete o eliminare reti, nella pagina **Network Configuration (Configurazione di rete)**, scegli **Editing Mode (Modalità di modifica)**. Per modificare l'ordine di priorità di rete, scegli la parte destra della rete per la quale desideri riassegnare le priorità e trascina la rete verso l'alto o verso il basso. Per eliminare una rete, scegli il pulsante rosso sul lato sinistro della rete che desideri eliminare.

![Schermata delle impostazioni della rete Wi-Fi che mostra le reti salvate, le opzioni di modifica per eliminare o modificare la priorità e le reti scansionate.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-network-editing.png)


## Server Generic Attributes
<a name="ble-demo-server"></a>

In questo esempio, un'applicazione demo Generic Attributes (GATT) Server sul microcontroller invia un semplice valore di un contatore a [Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK](#ble-sdk-app).

Utilizzando gli SDK Bluetooth Low Energy Mobile, puoi creare il tuo client GATT per un dispositivo mobile che viene connesso al server GATT sul microcontroller ed eseguito in parallelo con l'applicazione demo per dispositivi mobili.

**Per abilitare la demo**

1. Abilitare la demo GATT Bluetooth Low Energy. In `vendors/{{vendor}}/boards/{{board}}/aws_demos/config_files/iot_ble_config.h` (dove {{vendor}} è il nome del fornitore e il {{board}} è il nome della scheda che stai utilizzando per eseguire le demo), aggiungi `#define IOT_BLE_ADD_CUSTOM_SERVICES ( 1 )` all'elenco delle istruzioni define.
**Nota**  
La demo GATT Bluetooth Low Energy è disabilitata per impostazione predefinita.

1. Aprire `{{freertos}}/vendors/{{vendor}}/boards/{{board}}/aws_demos/config_files/aws_demo_config.h`, commentare `#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED` e definire `CONFIG_BLE_GATT_SERVER_DEMO_ENABLED`.

**Per eseguire la demo**

1. Compilare ed eseguire il progetto demo sul microcontroller.

1. Assicurati di aver accoppiato la scheda e il dispositivo mobile utilizzando la [Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK](#ble-sdk-app).

1. Dall'elenco **Devices (Dispositivi)** nell'applicazione, scegliere la scheda, quindi selezionare **MQTT Proxy (Proxy MQTT)** per aprire le opzioni proxy MQTT.  
![Di seguito è riportato un elenco di tre ID di dispositivi ESP32, con MQTT Proxy, Network Config e opzioni MQTT GATT personalizzate.](http://docs.aws.amazon.com/it_it/freertos/latest/userguide/images/ble-device-list4.png)

1. Tornare all'elenco **Devices (Dispositivi)**, scegliere la scheda, quindi selezionare **Custom GATT MQTT (MQTT GATT personalizzato)** per aprire le opzioni del servizio GATT personalizzato.

1. Scegliere **Start Counter (Avvia contatore)** per iniziare a pubblicare dati nell'argomento **{{your-thing-name}}/example/topic** MQTT.

   Dopo aver abilitato il proxy MQTT, i messaggi Hello World e di incremento del contatore vengono visualizzati sull'argomento `{{your-thing-name}}/example/topic`.