AWS IoT Greengrass 検出ライブラリ
注記
このページのコンテンツは最新ではない可能性があります。最新の更新については、FreeRTOS.org ライブラリのページ
概要
AWS IoT Greengrass 検出ライブラリは、お使いのマイクロコントローラーデバイスで、ネットワーク上の Greengrass コアを検出するために使用されます。AWS IoT Greengrass 検出 API を使用して、デバイスは、コアのエンドポイントを見つけた後、Greengrass コアにメッセージを送信できます。
依存関係と要件
Greengrass Discovery ライブラリ を使用するには AWS IoT で証明書とポリシーを含むモノを作成する必要があります。詳細については、「AWS IoT の使用開始」を参照してください。
ファイルで、以下の定数の値を設定する必要があります。freertos/demos/include/aws_clientcredential.h
clientcredentialMQTT_BROKER_ENDPOINT-
AWS IoT エンドポイント。
clientcredentialIOT_THING_NAME-
IoT モノの名前。
clientcredentialWIFI_SSID-
Wi-Fi ネットワークの SSID。
clientcredentialWIFI_PASSWORD-
Wi-Fi のパスワード。
clientcredentialWIFI_SECURITY-
Wi-Fi ネットワークで使用されるセキュリティの種類。
ファイルで、以下の定数の値も設定する必要があります。freertos/demos/include/aws_clientcredential_keys.h
keyCLIENT_CERTIFICATE_PEM-
モノに関連付けられた PEM 証明書。
keyCLIENT_PRIVATE_KEY_PEM-
モノに関連付けられているプライベートキー PEM。
コンソールに Greengrass グループとコアデバイスを設定する必要があります。詳細については、「AWS IoT Greengrass の開始方法」を参照してください。
coreMQTT ライブラリは Greengrass 接続には必要ありませんが、インストールすることを強くお勧めします。このライブラリは、検出された後、Greengrass コアと通信するために使用できます。
API リファレンス
完全な API リファレンスについては、Greengrass API リファレンスを参照してください。
使用例
Greengrass ワークフロー
MCU デバイスは、Greengrass コア接続パラメータを含む JSON ファイルを AWS IoT に要求することによって、検出プロセスを開始します。JSON ファイルから Greengrass コア接続パラメータを取得する方法は 2 つあります。
-
自動選択は、JSON ファイルにリストされているすべての Greengrass コアを反復処理し、使用可能な最初のコアに接続します。
-
手動選択では、
aws_ggd_config.hの情報を使用して指定された Greengrass コアに接続します。
Greengrass API の使用方法
Greengrass API のすべてのデフォルト設定オプションは aws_ggd_config_defaults.h で定義されています。
Greengrass のコアが 1 つだけの場合、GGD_GetGGCIPandCertificate を呼び出して、Greengrass コア接続情報で JSON ファイルを要求します。GGD_GetGGCIPandCertificate が返されると、pcBuffer パラメータに JSON ファイルのテキストが格納されます。pxHostAddressData パラメータには、接続可能な Greengrass コアの IP アドレスとポートが含まれます。
動的に証明書を割り当てるなどのカスタマイズオプションを追加するには、次の API を呼び出す必要があります。
GGD_JSONRequestStart-
Greengrass コアを検出するための検出要求を開始するために、AWS IoT に対して HTTP GET 要求を行います。
GD_SecureConnect_Sendは AWS IoT に要求を送信するために使用されます。 GGD_JSONRequestGetSize-
HTTP レスポンスから JSON ファイルのサイズを取得します。
GGD_JSONRequestGetFile-
JSON オブジェクト文字列を取得します。
GGD_JSONRequestGetSizeとGGD_JSONRequestGetFileはGGD_SecureConnect_Readを使用してソケットから JSON データを取得します。GGD_JSONRequestStartから JSON データを受け取るには、GGD_SecureConnect_Send、GGD_JSONRequestGetSize、AWS IoT を呼び出す必要があります。 GGD_GetIPandCertificateFromJSON-
JSON データから IP アドレスと Greengrass コア証明書を抽出します。
xAutoSelectFlagをTrueに設定すると、自動選択をオンにすることができます。自動選択は、FreeRTOS デバイスが接続できる最初のコアデバイスを検出します。Greengrass コアに接続するには、GGD_SecureConnect_Connect関数を呼び出し、コアデバイスの IP アドレス、ポート、および証明書を渡します。手動選択を使用するには、HostParameters_tパラメータの次のフィールドを設定します。pcGroupName-
コアが属する Greengrass グループの ID。
aws greengrass list-groupsCLI コマンドを使用して、Greengrass グループの ID を見つけることができます。 pcCoreAddress-
接続している Greengrass コアの ARN。