

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

# FreeRTOS ライブラリ
<a name="dev-guide-freertos-libraries"></a>

FreeRTOS ライブラリは、FreeRTOS カーネルとその内部ライブラリに機能を追加します。組み込みアプリケーションでのネットワーキングとセキュリティのために FreeRTOS ライブラリを使用できます。FreeRTOS ライブラリを使用すると、アプリケーションは AWS IoT サービスとやり取りすることもできます。FreeRTOS には、以下のことが可能なライブラリが含まれています。
+ MQTT とデバイスシャドウを使用して、デバイスを AWS IoT クラウドに安全に接続します。
+  AWS IoT Greengrass コアを検出して接続します。
+ Wi-Fi 接続を管理します。
+ [FreeRTOS 無線通信経由更新](freertos-ota-dev.md)をリッスンして処理します。

`libraries` ディレクトリには、FreeRTOS ライブラリのソースコードがあります。ライブラリ機能の実装を支援するヘルパー関数があります。これらのヘルパー関数を変更することはお勧めしません。

## FreeRTOS 移植ライブラリ
<a name="dev-guide-freertos-porting-libraries"></a>

以下の移植ライブラリは、FreeRTOS コンソールでダウンロード可能な FreeRTOS の設定に含まれています。これらのライブラリはプラットフォームに依存します。それらの内容は、ハードウェアプラットフォームに応じて変わります。これらのライブラリをデバイスに移植する方法については、[FreeRTOS 移植ガイド](https://docs.aws.amazon.com/freertos/latest/portingguide/)を参照してください。


**FreeRTOS 移植ライブラリ**  

| Library | API リファレンス | 説明 | 
| --- | --- | --- | 
| Bluetooth Low Energy |  [Bluetooth Low Energy API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/ble/index.html)  | FreeRTOS Bluetooth Low Energy ライブラリを使用すると、マイクロコントローラーはゲートウェイデバイスを介して AWS IoT MQTT ブローカーと通信できます。詳細については、「[Bluetooth Low Energy ライブラリ](freertos-ble-library.md)」を参照してください。 | 
| 無線による更新 | [AWS IoT Over-the-air更新 API リファレンス](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/libraries/aws/ota-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html) |  FreeRTOS AWS IoT Over-the-air経由 (OTA) 更新ライブラリを使用すると、FreeRTOS デバイスで更新通知の管理、更新のダウンロード、ファームウェア更新の暗号化検証を実行できます。 詳細については、「[AWS IoT 無線通信経由 (OTA) ライブラリ](ota-update-library.md)」を参照してください。  | 
| FreeRTOS\$1POSIX | [FreeRTOS\$1POSIX API リファレンス](https://freertos.org/Documentation/api-ref/POSIX/index.html) |  FreeRTOS\$1POSIX ライブラリを使用して、POSIX 準拠のアプリケーションを FreeRTOS エコシステムに移植できます。 詳細については、「[FreeRTOS\$1POSIX](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/index.html)」を参照してください。  | 
| セキュアソケット | [セキュアソケット API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/secure_sockets/index.html) | 詳細については、「[セキュアソケットライブラリ](secure-sockets.md)」を参照してください。 | 
| FreeRTOS\$1TCP | [FreeRTOS\$1TCP API リファレンス](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/FreeRTOS_TCP_API_Functions.html) |  FreeRTOS\$1TCP は、FreeRTOS のスケーラブルなオープンソースでスレッドセーフな TCP/IP スタックです。 詳細については、「[FreeRTOS\$1TCP](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html)」を参照してください。  | 
| Wi-Fi | [Wi-Fi API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/wifi/index.html) |  FreeRTOS Wi-Fi ライブラリを使用すると、マイクロコントローラーの低いレベルのワイヤレスのスタックとの連動が可能になります。 詳細については、「[Wi-Fi ライブラリ](freertos-wifi.md)」を参照してください。  | 
| corePKCS11 |  |  corePKCS11 ライブラリは、プロビジョニングと TLS クライアント認証をサポートするための公開鍵暗号標準 \$111 のリファレンス実装です。 詳細については、「[corePKCS11 ライブラリ](security-pkcs.md)」を参照してください。  | 
| TLS |  |  詳細については、「[Transport Layer Security](security-tls.md)」を参照してください。  | 
| 共通 I/O | 共通 I/O API リファレンス |  詳細については、「[共通 I/O](common-io.md)」を参照してください。  | 
| セルラーインターフェイス | セルラーインターフェイス API リファレンス |  セルラーインターフェイスライブラリは、統一された API を使用して、いくつかの一般的なセルラーモデムの機能を公開します。詳細については、「[セルラーインターフェイスライブラリ](cellular-interface.md)」を参照してください。  | 

## FreeRTOS アプリケーションライブラリ
<a name="dev-guide-freertos-application-libraries"></a>

オプションで、以下のスタンドアロンアプリケーションライブラリを FreeRTOS 設定に含めて、クラウド上の AWS IoT サービスとやり取りできます。

**注記**  
一部のアプリケーションライブラリには、 AWS IoT Device SDK for Embedded C のライブラリと同じ APIs があります。 これらのライブラリについては、 [AWS IoT Device SDK C API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/main/index.html)を参照してください。 AWS IoT Device SDK for Embedded C の詳細については、「」を参照してください[AWS IoTEmbedded C用 Device SDK](c-sdk.md)。


**FreeRTOS アプリケーションライブラリ**  

| Library | API リファレンス | 説明 | 
| --- | --- | --- | 
| AWS IoT Device Defender |  [Device Defender C SDK API リファレンス](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html)  |  FreeRTOS AWS IoT Device Defender ライブラリは FreeRTOS デバイスを に接続します AWS IoT Device Defender。 詳細については、「[AWS IoT Device Defender ライブラリ](afr-device-defender-library.md)」を参照してください。  | 
| AWS IoT Greengrass | [Greengrass API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__greengrass__discovery_8h.html)  |  FreeRTOS AWS IoT Greengrass ライブラリは FreeRTOS デバイスを に接続します AWS IoT Greengrass。 詳細については、「[AWS IoT Greengrass 検出ライブラリ](freertos-lib-gg-connectivity.md)」を参照してください。  | 
| MQTT |  [MQTT (v1.x.x) ライブラリ API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__mqtt__lib_8h.html) [MQTT (v1) Agent API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__mqtt__agent_8h.html) [MQTT (v2.x.x) C SDK API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/mqtt/index.html)  |  coreMQTT ライブラリは、FreeRTOS デバイスが MQTT トピックを公開し、サブスクライブするためのクライアントを提供します。MQTT は、デバイスが操作するために使用するプロトコルです AWS IoT。 coreMQTT ライブラリバージョン 3.0.0 の詳細については、「[coreMQTT ライブラリ](coremqtt.md)」を参照してください。  | 
| coreMQTT エージェント |  [coreMQTT エージェントライブラリ API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/embedded-csdk/libraries/standard/coreMQTT-Agent/docs/doxygen/output/html/index.html)  |  coreMQTT エージェントライブラリは、スレッドセーフを coreMQTT ライブラリに追加する高レベル API です。これにより、バックグラウンドで MQTT 接続を管理し、他のタスクからの介入を必要としない専用の MQTT エージェントタスクを作成できます。このライブラリでは coreMQTT の API と同等のスレッドセーフを提供するため、マルチスレッド環境で使用できます。 coreMQTT エージェントライブラリの詳細については、[coreMQTT エージェントライブラリ](coremqtt-agent.md)を参照してください。  | 
| AWS IoT デバイスシャドウ | [Device Shadow C SDK API リファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__shadow_8h.html) |   AWS IoT Device Shadow ライブラリを使用すると、FreeRTOS デバイスが AWS IoT デバイスシャドウとやり取りできるようになります。 詳細については、「[AWS IoT Device Shadow ライブラリ](freertos-lib-cloud-shadows.md)」を参照してください。  | 

## FreeRTOS ライブラリの設定
<a name="lib-config"></a>

FreeRTOS と AWS IoT Device SDK for Embedded C の設定は、C プリプロセッサ定数として定義されます。グローバル設定ファイルで、または`gcc` の `-D` などのコンパイラオプションを使用して、構成を設定することができます。構成設定はコンパイル時定数として定義されているため、構成設定が変更された場合はライブラリを再ビルドする必要があります。

グローバル設定ファイルを使用して、設定オプションを設定する場合は、`iot_config.h` という名前でファイルを作成して保存し、インクルードパスに配置します。ファイル内で、`#define` ディレクティブを使用して、FreeRTOS ライブラリ、デモ、テストを設定します。

サポートされているグローバル設定オプションの詳細については、「[グローバル設定ファイルリファレンス](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/main/global_library_config.html#IOT_CONFIG_FILE)」を参照してください。