

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# セルラーインターフェイスライブラリ
<a name="cellular-interface"></a>

**注記**  <a name="out-of-date-message"></a>
このページのコンテンツは最新ではない可能性があります。最新の更新については、[FreeRTOS.org ライブラリのページ](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries)を参照してください。

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

セルラーインターフェイスライブラリは、セルラーモデム固有の AT コマンドの複雑さを隠し、ソケットのようなインターフェイスを C プログラマーに公開する、シンプルな統合 [API](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/) を実装しています。

ほとんどのセルラーモデムには、[3GPP TS v27.007](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1515) 規格で定義されている AT コマンドが実装されています。このプロジェクトでは、[再利用可能な共通コンポーネント](https://freertos.org/Documentation/api-ref/cellular/cellular_porting_module_guide.html)に、このような標準 AT コマンドが[実装](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/tree/main/source)されています。プロジェクトの 3 つのセルラーインターフェイスライブラリはすべて、その共通コードを利用しています。各モデムのライブラリでは、ベンダー固有の AT コマンドのみが実装され、完全なセルラーインターフェイスライブラリ API が公開されます。

3GPP TS v27.007 規格を実装する共通コンポーネントは、次のコード品質基準に準拠して記述されています。
+ GNU Complexity スコアが 8 を超えない
+ MISRA C:2012 コーディング標準。標準からの逸脱は、「coverity」でマークされたソースコードのコメントに記載されます。

## 依存関係と要件
<a name="freertos-cellular-interface-dependencies"></a>

セルラーインターフェイスライブラリに直接的な依存関係はありません。ただし、イーサネット、Wi-Fi、セルラーは FreeRTOS ネットワークスタックで共存できません。開発者は、ネットワークインターフェイスのいずれかを選択して、[セキュアソケットライブラリ](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html)と統合する必要があります。

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

セルラーインターフェイスライブラリをご使用のプラットフォームに移植する方法については、*FreeRTOS 移植ガイド*の[セルラーインターフェイスライブラリの移植](https://docs.aws.amazon.com/freertos/latest/portingguide/freertos-porting-cellular.html)を参照してください。

## メモリ使用量
<a name="freertos-cellular-interface-memory-use"></a>


****  

| セルラーインターフェイスのコードサイズ (ARM Cortex-M 向けの GCC で生成された例) | システム | -O1 最適化を使用 | -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 K | 1.2 K | 
| cellular\$1common\$1api.c | 0.5 K | 0.5 K | 
| cellular\$1common.c | 1.6 K | 1.4 K | 
| cellular\$1pkthandler.c | 1.4 K | 1.2 K | 
| cellular\$1pktio.c | 1.8 K | 1.6 K | 
| 合計 (概算) | 13.9 K | 12.4 K | 

## 使用開始方法
<a name="freertos-cellular-interface-getting-started"></a>

### ソースコードのダウンロード
<a name="freertos-cellular-interface-download-source"></a>

ソースコードは、FreeRTOS ライブラリの一部として、または単独でダウンロードできます。

HTTPS を使用して GitHub からライブラリのクローンを作成するには 

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

SSH を使用する場合

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

### フォルダ構造
<a name="freertos-cellular-interface-folder-structure"></a>

このリポジトリのルートには、以下のフォルダが表示されます。
+ `source`: 3GPP TS v27.007 で定義されている標準 AT コマンドを実装する再利用可能な共通コード
+ `doc`: ドキュメント
+ `test`: 単体テストと cbmc
+ `tools`: Coverity 静的解析と CMock 用のツール

### ライブラリの設定とビルド
<a name="freertos-cellular-interface-configure"></a>

セルラーインターフェイスライブラリは、アプリケーションの一部として構築する必要があります。これを行うには、特定の設定を指定する必要があります。[FreeRTOS\$1Cellular\$1Interface\$1Windows\$1Simulator](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator) プロジェクトには、ビルド設定の[例](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_BG96/cellular_config.h)があります。詳細については、[セルラー API リファレンス](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_config.html)を参照してください。

詳細については、[セルラーインターフェイス](https://www.freertos.org/cellular/index.html)ページをを参照してください。

## セルラーインターフェイスライブラリと MCU プラットフォームを統合する
<a name="freertos-cellular-interface-integrate"></a>

セルラーインターフェイスライブラリは、抽象化されたインターフェイス ([通信インターフェイス](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/blob/main/source/interface/cellular_comm_interface.h)) を使用して MCU 上で実行され、セルラーモデムと通信します。通信インターフェイスは MCU プラットフォームにも実装する必要があります。通信インターフェイスの最も一般的な実装では UART ハードウェアを介して通信しますが、SPI などの他の物理インターフェイスを介しても実装できます。通信インターフェイスに関するドキュメントは、[セルラーライブラリ API リファレンス](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_porting.html#cellular_porting_comm_if)にあります。通信インターフェイスの実装例を以下に示します。
+ [FreeRTOS Windows シミュレータ通信インターフェイス](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/comm_if_windows.c)
+ [FreeRTOS 共通 IO UART 通信インターフェイス](https://github.com/aws/amazon-freertos/blob/main/libraries/abstractions/common_io/include/iot_uart.h)
+ [STM32 L475 ディスカバリーボード通信インターフェイス](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/st/boards/stm32l475_discovery/ports/comm_if/comm_if_uart.c)
+ [Sierra Sensor Hub ボード通信インタフェース](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/sierra/boards/sensorhub/ports/comm_if/comm_if_sierra.c)