Amazon FreeRTOS Github リポジトリ移行ガイド - FreeRTOS

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

Amazon FreeRTOS Github リポジトリ移行ガイド

現在非推奨の Amazon FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトがある場合は、次の手順に従ってください。

  1. 公開されている最新のセキュリティ修正を使用して最新の状態に保ちます。「FreeRTOS LTS libraries」のページで最新情報を確認するか、FreeRTOS-LTS GitHub リポジトリに登録して、重大なバグ修正とセキュリティバグ修正を含む最新の LTS パッチを入手してください。必要な最新の FreeRTOS LTS パッチは、個々の GitHub リポジトリから直接ダウンロードまたは複製できます。

  2. ネットワークトランスポートインターフェイスの実装をリファクタリングして、ハードウェアプラットフォームを最適化することを検討してください。セキュアソケットWifi API のような抽象化 API は、最新の coreMQTT ライブラリでは必要ありません。詳細については、「Transport Interface」を参照してください。

付録

次の表は、Amazon FreeRTOS リポジトリ内のすべてのデモプロジェクト、レガシーライブラリ、および抽象化 API の推奨事項を示しています。

移行されたライブラリとデモ
名前 レコメンデーション

coreHTTP

デモとライブラリ

FreeRTOS Github organizationcoreHTTP リポジトリ (git を使用している場合はサブモジュール) から coreHTTP ライブラリを直接複製またはダウンロードします。coreHTTP デモはプライマリ FreeRTOS ディストリビューションに含まれています。詳細については、coreHTTP のページを参照してください。

coreMQTT

デモとライブラリ

FreeRTOS Github organizationcoreMQTT リポジトリ (git を使用している場合はサブモジュール) から coreMQTT ライブラリを直接複製またはダウンロードします。coreMQTT デモはプライマリ FreeRTOS ディストリビューションに含まれています。詳細については、coreMQTT のページを参照してください。

coreMQTT-Agent

デモとライブラリ

FreeRTOS Github organizationcoreMQTT-Agent リポジトリ (git を使用している場合はサブモジュール) から coreMQTT-Agent ライブラリを直接複製またはダウンロードします。coreMQTT-Agent のデモは coreMQTT-Agent-Demos リポジトリにあります。詳細については、coreMQTT-Agent のページを参照してください。

device_defender_for_aws

デモとライブラリ

AWS IoT Device Defender ライブラリは AWS GitHub 組織のリポジトリにあります。AWS IoT Device Defender リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。 AWS IoT Device Defender デモは、プライマリ FreeRTOS ディストリビューションにあります。詳細については、AWS IoT Device Defender のページを参照してください。

device_shadow_for_aws

デモとライブラリ

AWS IoT Device Shadow ライブラリは、AWS GitHub 組織のリポジトリにあります。AWS IoT Device Shadow リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。 AWS IoT Device Shadow デモは、プライマリ FreeRTOS ディストリビューションにあります。詳細については、AWS IoT Device Shadow のページを参照してください。

jobs_for_aws

デモとライブラリ

AWS IoT Jobs ライブラリは AWS GitHub 組織のリポジトリにあります。AWS IoT Jobs リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。 AWS IoT ジョブデモは、プライマリ FreeRTOS ディストリビューションにあります。詳細については、AWS IoT Jobs のページを参照してください。

OTA

デモとライブラリ

AWS IoT Over-The-Air (OTA) 更新ライブラリは、AWS GitHub 組織のリポジトリにあります。AWS IoT OTA リポジトリから直接 (git を使用している場合はサブモジュールを) 複製またはダウンロードします。 AWS IoT OTA デモはプライマリ FreeRTOS ディストリビューションにあります。詳細については、AWS IoT OTA のページを参照してください。

CLI と FreeRTOS_Plus_CLI

デモとライブラリ

WinSim で実行されている CLI のサンプルがあります。詳細については、FreeRTOS Plus コマンドラインインターフェイスのページを参照してください。NXP i.MX RT1060 および STM32U5 プラットフォームでの注目の FreeRTOS IoT リファレンス統合では、実際のハードウェアでの CLI サンプルも提供しています。

ログ記録

マクロ

一部の FreeRTOS ライブラリでは、特定のハードウェアプラットフォーム用のロギングマクロが実装されています。ロギングマクロの実装方法については、ロギングのページを参照してください。実際のハードウェアでの実行例については、FreeRTOS の IoT リファレンスのいずれかを参照してください。

greengrass_connectivity

デモ

〔移行中] このデモプロジェクトでは、 AWS IoT Greengrass デバイスに接続する前にクラウド接続が利用可能であることを前提としています。ローカル認証と検出機能を実証する新しいプロジェクトが開発中です。新しいデモプロジェクトは、間もなく FreeRTOS Github organization で公開される予定です。

非推奨ライブラリとデモ
名前 レコメンデーション

BLE

デモとライブラリ

FreeRTOS BLE ライブラリは、独自の MQTT プロトコルを実装し、携帯電話などのプロキシデバイスを使用して、Bluetooth Low Energy (BLE) を介して MQTT トピックの公開およびサブスクライブをサポートします。これはもはや義務付けられているものではありません。独自の BLE スタックか、Nimble などのサードパーティオプションを使用して、プロジェクトを最適化してください。

dev_mode_key_provisioning

デモ

NXP i.MX RT1060STM32U5、または ESP32-C3 プラットフォームでの注目の FreeRTOS IoT リファレンス統合には、CLI を使用した重要なプロビジョニングの例が示されています。

posix

抽象化とデモ

使用はお勧めしません。

wifi_provisioning

この例では、Amazon FreeRTOS BLE ライブラリを使用してデバイスに WiFi 認証情報をプロビジョニングする方法を示しました。BLE による WiFi プロビジョニングの例については、ESP32C3 プラットフォームの FreeRTOS 特集 IoT リファレンスを参照してください。

レガシー抽象化 API

コード

これらは、さまざまなベンダーのさまざまなサードパーティ製ソフトウェアスタック、接続モジュール、MCU プラットフォームに抽象化インターフェイスを提供するために作成された API です。例えば、WiFi 抽象化やセキュアソケットなどのインターフェイスがあります。これらは Amazon FreeRTOS リポジトリでサポートされており、フォルダ /libraries/abstractions/ にあります。FreeRTOS LTS ライブラリを使用する場合、これらの API は必要ありません。

上の表のライブラリとデモには、セキュリティパッチやバグ修正は適用されません。

サードパーティライブラリ

Amazon FreeRTOS のデモでサードパーティのライブラリを使用する場合は、サードパーティのリポジトリから直接サブモジュール化することをお勧めします。

  • CMock: Cmock リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • jsmn: 推奨されておらず、サポートも終了しています。

  • lwip: lwip-tcpip リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • lwip_osal: お使いのハードウェアプラットフォーム/ボードに lwip_osal を実装する方法については、i.MX RT1060 または STM32U5 で FreeRTOS 特集リファレンス統合を参照してください。

  • mbedtls: Mbed-TLS リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。mbedtls の設定とユーティリティは再利用できます。この場合はローカルコピーを作成してください。

  • pkcs11: corePKCS11 ライブラリまたは OASIS PKCS 11 リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • tinycbor: tinycbor リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • tinycrypt: 使用している MCU プラットフォームの暗号アクセラレーターを使用することを推奨します (可能な場合)。tinycrypt を引き続き使用したい場合は、tinycrypt リポジトリから直接 (git を使っている場合はサブモジュールを) 複製してください。

  • tracealyzer_recorder: Percepio の trace recorder リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • unity: ThrowTheSwitch/Unity リポジトリから直接 (git を使っている場合はサブモジュールを) 複製します。

  • win_pcap: win_pcap のメンテナンスは行われなくなりました。代わりに libslirp、libpcap (posix)、または npcap を使用することをお勧めします。

移植テストと統合テスト

FreeRTOS ライブラリの統合を検証するために必要な /tests フォルダ内のすべてのテストは、FreeRTOS-Libraries-Integration-Tests リポジトリに移行されました。これらは PAL の実装とライブラリ統合のテストに使用できます。Device Tester (IDT) では、FreeRTOS AWS IoT の Device Qualification Program にも同じテストが使用されます。 AWS FreeRTOS