

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Bibliothèque d'interfaces cellulaires
<a name="cellular-interface"></a>

**Note**  <a name="out-of-date-message"></a>
Le contenu de cette page ne l'est peut-être pas up-to-date. Veuillez consulter la [page de la bibliothèque FreeRTOS.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) pour la dernière mise à jour.

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

La bibliothèque Cellular Interface implémente une [API](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/) unifiée simple qui masque la complexité des commandes AT spécifiques aux modems cellulaires et expose une interface semblable à un socket aux programmeurs C.

La plupart des modems cellulaires implémentent plus ou moins les commandes AT définies par la norme [3GPP](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1515) TS v27.007. Ce projet fournit une [implémentation](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/tree/main/source) de telles commandes AT standard dans un [composant commun réutilisable](https://freertos.org/Documentation/api-ref/cellular/cellular_porting_module_guide.html). Les trois bibliothèques d'interface cellulaire de ce projet tirent toutes parti de ce code commun. La bibliothèque de chaque modem implémente uniquement les commandes AT spécifiques au fournisseur, puis expose l'API complète de la bibliothèque d'interface cellulaire.

Le composant commun qui implémente la norme 3GPP TS v27.007 a été écrit conformément aux critères de qualité du code suivants : 
+ Les scores de complexité GNU ne sont pas supérieurs à 8
+ Norme de codage MISRA C:2012. Tout écart par rapport à la norme est documenté dans les commentaires du code source marqués de la mention « couverture ».

## Dépendances et exigences
<a name="freertos-cellular-interface-dependencies"></a>

Il n'existe aucune dépendance directe pour la bibliothèque de l'interface cellulaire. Cependant, Ethernet, Wi-Fi et cellulaire ne peuvent pas coexister dans la pile réseau FreeRTOS. Les développeurs doivent choisir l'une des interfaces réseau à intégrer à la [bibliothèque Secure Sockets](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html). 

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

Pour plus d'informations sur le portage de la bibliothèque d'interface cellulaire sur votre plateforme, consultez la section [Portage de la bibliothèque d'interface cellulaire](https://docs.aws.amazon.com/freertos/latest/portingguide/freertos-porting-cellular.html) dans le guide de portage de *FreeRTOS*. 

## Utilisation de la mémoire
<a name="freertos-cellular-interface-memory-use"></a>


****  

| Taille du code de la bibliothèque d'interface cellulaire (exemple généré avec GCC pour ARM Cortex-M) | Fichier | Avec optimisation -O1 | Avec l'optimisation -Os | 
| --- | --- | --- | --- | 
| cellular\$13gpp\$1api.c | 6,3 K | 5,7 K | 
| cellular\$13gpp\$1urc\$1handler.c | 0,9 K | 0,8 K | 
| cellular\$1at\$1core.c | 1,4 KM | 1,2 K | 
| cellular\$1common\$1api. | 0,5 K | 0,5 K | 
| cellular\$1common.c | 1,6 K | 1,4 KM | 
| cellular\$1pkthandler.c | 1,4 KM | 1,2 K | 
| cellular\$1pktio.c | 1,8 K | 1,6 K | 
| Estimations totales | 13,9 K | 12,4K | 

## Prise en main
<a name="freertos-cellular-interface-getting-started"></a>

### Téléchargez le code source
<a name="freertos-cellular-interface-download-source"></a>

Le code source peut être téléchargé dans le cadre des bibliothèques FreeRTOS ou seul.

Pour cloner la bibliothèque depuis Github à l'aide du protocole HTTPS : 

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

En utilisant SSH :

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

### Structure du dossier
<a name="freertos-cellular-interface-folder-structure"></a>

À la racine de ce dépôt, vous verrez les dossiers suivants : 
+ `source`: code commun réutilisable qui implémente les commandes AT standard définies par 3GPP TS v27.007
+ `doc`: documentation
+ `test`: test unitaire et cbmc
+ `tools`: outils pour l'analyse statique de Coverity et CMock

### Configuration et création de la bibliothèque
<a name="freertos-cellular-interface-configure"></a>

La bibliothèque d'interface cellulaire doit être créée dans le cadre d'une application. Pour ce faire, vous devez fournir certaines configurations. [Le projet [FreeRTOS\$1Cellular\$1INTERFACE\$1Windows\$1Simulator fournit](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator) un exemple de configuration du 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) Vous trouverez de plus amples informations dans les [références de l'API cellulaire](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_config.html). 

Reportez-vous à la page de [l'interface cellulaire](https://www.freertos.org/cellular/index.html) pour plus d'informations.

## Intégrez la bibliothèque d'interfaces cellulaires aux plateformes de microcontrôleurs
<a name="freertos-cellular-interface-integrate"></a>

La bibliothèque Cellular Interface fonctionne en MCUs utilisant une interface abstraite, l'interface de [communication](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/blob/main/source/interface/cellular_comm_interface.h), pour communiquer avec les modems cellulaires. Une interface de communication doit également être implémentée sur la plate-forme MCU. Les implémentations les plus courantes de l'interface de communication communiquent via le matériel UART, mais peuvent également être implémentées via d'autres interfaces physiques, telles que SPI. La documentation de l'interface de communication se trouve dans les [références de l'API de la bibliothèque cellulaire](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_porting.html#cellular_porting_comm_if). Les exemples d'implémentation suivants de l'interface de communication sont disponibles :
+ [Interface de communication du simulateur FreeRTOS pour Windows](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/comm_if_windows.c)
+ [Interface de communication FreeRTOS Common IO UART](https://github.com/aws/amazon-freertos/blob/main/libraries/abstractions/common_io/include/iot_uart.h)
+ [ STM32 Interface de communication L475 Discovery Board](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/st/boards/stm32l475_discovery/ports/comm_if/comm_if_uart.c)
+ [Interface de communication pour carte Sierra Sensor Hub](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/sierra/boards/sensorhub/ports/comm_if/comm_if_sierra.c)