

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

# Libreria di interfacce cellulari
<a name="cellular-interface"></a>

**Nota**  <a name="out-of-date-message"></a>
Il contenuto di questa pagina potrebbe non esserlo. up-to-date Consulta la [pagina della libreria di Freertos.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) per l'ultimo aggiornamento.

## Introduzione
<a name="freertos-cellular-interface-introduction"></a>

La libreria Cellular Interface implementa una semplice [API](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/) unificata che nasconde la complessità dei comandi AT specifici dei modem cellulari ed espone un'interfaccia simile a un socket ai programmatori C.

[La maggior parte dei modem cellulari implementa più o meno i comandi AT definiti dallo standard 3GPP TS v27.007.](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1515) [Questo progetto fornisce un'[implementazione](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/tree/main/source) di tali comandi AT standard in un componente comune riutilizzabile.](https://freertos.org/Documentation/api-ref/cellular/cellular_porting_module_guide.html) Le tre librerie Cellular Interface di questo progetto sfruttano tutte quel codice comune. La libreria per ogni modem implementa solo i comandi AT specifici del fornitore, quindi espone l'API completa della libreria Cellular Interface.

Il componente comune che implementa lo standard 3GPP TS v27.007 è stato scritto in conformità con i seguenti criteri di qualità del codice: 
+ I punteggi di GNU Complexity non sono superiori a 8
+ Standard di codifica MISRA C:2012. Qualsiasi deviazione dallo standard è documentata nei commenti del codice sorgente contrassegnati da «coverity».

## Dipendenze e requisiti
<a name="freertos-cellular-interface-dependencies"></a>

Non esiste una dipendenza diretta per la libreria Cellular Interface. Tuttavia, Ethernet, Wi-Fi e cellulare non possono coesistere nello stack di rete FreerTOS. [Gli sviluppatori devono scegliere una delle interfacce di rete da integrare con la libreria Secure Sockets.](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html) 

## Portabilità
<a name="freertos-cellular-interface-porting"></a>

*Per informazioni sul porting della libreria Cellular Interface sulla tua piattaforma, consulta [Porting the Cellular Interface library](https://docs.aws.amazon.com/freertos/latest/portingguide/freertos-porting-cellular.html) nella FreerTOS Porting Guide.* 

## Uso della memoria
<a name="freertos-cellular-interface-memory-use"></a>


****  

| Dimensione del codice della libreria di interfaccia cellulare (esempio generato con GCC per ARM Cortex-M) | File | Con ottimizzazione -O1 | Con ottimizzazione -Os | 
| --- | --- | --- | --- | 
| cellular\$13gpp\$1api.c | 6,3K | 5,7K | 
| cellular\$13gpp\$1urc\$1handler.c | 0,9 K | 0,8 K | 
| cellular\$1at\$1core.c | 1,4K | 1,2 K | 
| cellular\$1common\$1apic. | 0,5 K | 0,5K | 
| cellular\$1common.c | 1,6K | 1,4K | 
| cellular\$1pkthandler.c | 1,4K | 1,2 K | 
| cellular\$1ptio.c | 1,8K | 1,6 K | 
| Stime totali | 13,9 K | 12,4K | 

## Nozioni di base
<a name="freertos-cellular-interface-getting-started"></a>

### Scarica il codice sorgente
<a name="freertos-cellular-interface-download-source"></a>

Il codice sorgente può essere scaricato come parte delle librerie FreerTOS o da solo.

Per clonare la libreria da Github usando HTTPS: 

```
git clone https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface.git 
```

Usare SSH:

```
git clone git@github.com:FreeRTOS/FreeRTOS-Cellular-Interface.git 
```

### Struttura della cartella
<a name="freertos-cellular-interface-folder-structure"></a>

Alla radice di questo repository vedrai queste cartelle: 
+ `source`: codice comune riutilizzabile che implementa i comandi AT standard definiti da 3GPP TS v27.007
+ `doc`: documentazione
+ `test`: test unitario e cbmc
+ `tools`: strumenti per l'analisi statica di Coverity e CMock

### Configura e crea la libreria
<a name="freertos-cellular-interface-configure"></a>

La libreria Cellular Interface deve essere creata come parte di un'applicazione. A tale scopo, è necessario fornire determinate configurazioni. [Il progetto [FreeRTOS\$1Cellular\$1Interface\$1Windows\$1Simulator](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator) fornisce un esempio di come configurare la build.](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_BG96/cellular_config.h) Ulteriori informazioni sono disponibili nei riferimenti [alle API cellulari.](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_config.html) 

Per ulteriori informazioni, consulta la pagina [Cellular Interface](https://www.freertos.org/cellular/index.html).

## Integra la libreria Cellular Interface con le piattaforme MCU
<a name="freertos-cellular-interface-integrate"></a>

La libreria Cellular Interface continua a MCUs utilizzare un'interfaccia astratta, la [Comm Interface](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/blob/main/source/interface/cellular_comm_interface.h), per comunicare con i modem cellulari. Un'interfaccia Comm deve essere implementata anche sulla piattaforma MCU. Le implementazioni più comuni dell'interfaccia Comm comunicano tramite hardware UART, ma possono essere implementate anche su altre interfacce fisiche, come SPI. [La documentazione per l'interfaccia Comm è disponibile nei riferimenti alle API di Cellular Library.](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_porting.html#cellular_porting_comm_if) Sono disponibili i seguenti esempi di implementazioni dell'interfaccia Comm:
+ [Interfaccia di comunicazione del simulatore di Windows FreerTOS](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/comm_if_windows.c)
+ [Interfaccia di comunicazione FreerTOS Common IO UART](https://github.com/aws/amazon-freertos/blob/main/libraries/abstractions/common_io/include/iot_uart.h)
+ [ STM32 Interfaccia di comunicazione L475 Discovery Board](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/st/boards/stm32l475_discovery/ports/comm_if/comm_if_uart.c)
+ [Interfaccia di comunicazione della scheda Sierra Sensor Hub](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/sierra/boards/sensorhub/ports/comm_if/comm_if_sierra.c)