

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 n'est peut-être pas à jour. Reportez-vous à la [page de la FreeRTOS.org bibliothèque](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 C:2012 codage MISRA. 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>


****  
<a name="cellular-memory-estimate"></a>
<table>
<thead>
  <tr><th colspan="3">Taille du code de la bibliothèque d'interface cellulaire (exemple généré avec GCC pour ARM Cortex-M)</th></tr>
  <tr><th>Fichier</th><th>Avec optimisation -O1</th><th>Avec l'optimisation -Os</th></tr>
</thead>
<tbody>
  <tr><td>cellular\_3gpp\_api.c</td><td>6,3 K</td><td>5,7 K</td></tr>
  <tr><td>cellular\_3gpp\_urc\_handler.c</td><td>0,9 K</td><td>0,8 K</td></tr>
  <tr><td>cellular\_at\_core.c</td><td>1,4 KM</td><td>1,2 K</td></tr>
  <tr><td>cellular\_common\_api.</td><td>0,5 K</td><td>0,5 K</td></tr>
  <tr><td>cellular\_common.c</td><td>1,6 K</td><td>1,4 KM</td></tr>
  <tr><td>cellular\_pkthandler.c</td><td>1,4 KM</td><td>1,2 K</td></tr>
  <tr><td>cellular\_pktio.c</td><td>1,8 K</td><td>1,6 K</td></tr>
  <tr><td>Estimations totales</td><td>13,9 K</td><td>12,4 K</td></tr>
</tbody>
</table>


## 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 Cellular\_Interface\_Windows\_Simulator projet [FreeRTOS\_](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator) fournit un [exemple](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_BG96/cellular_config.h) de configuration du build. 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 d'interface cellulaire fonctionne sur les microcontrôleurs à l'aide d'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)
+ [FreeRTOS : interface de communication E/UART commune](https://github.com/aws/amazon-freertos/blob/main/libraries/abstractions/common_io/include/iot_uart.h)
+ [Interface de communication de la carte de découverte STM32 L475](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)