S32K3向けAWSライブラリのスタート・ガイド

最終更新日時: Aug 9, 2023サポート S32K3向けAWSライブラリ

このドキュメントの内容

  • 1

    パッケージの内容
  • 2

    ソフトウェアの入手
  • 3

    ソフトウェアのインストール
  • 4

    AWSアカウントの設定
  • 5

    ビルドと実行
  • 6

    AWS IoT Coreでのメッセージの確認
  • 7

    デバッグ

1. パッケージの内容

S32K3X4EVB-T172は、産業用および車載アプリケーション向け汎用評価/開発ボードであり、このデモを開始するために必要となります。

注:+12 V電源とmicro USBケーブルはパッケージに含まれていません。+12 Vコネクタは、外径5.5 mm/内径2.1 mmのセンタープラス、バレル型になります。加えて、すべてのデモにはインターネット接続が必要であり、かつそれらをテストするにはイーサネット・メディア・コンバータが必要です。次のNXP製品を使用可能です:RDDRONE-T1ADAPT

S32K3X4EVB-T172の導入方法については、S32K3X4EVB-T172車載汎用評価ボードのスタート・ガイドを参照してください。

1.1 イーサネット接続

100BASE-T1 2線式車載イーサネットは、最長15メートルまでのシンプルなツイスト・ペア・ケーブルで100 Mbpsでの接続を実現します。ケーブルのライン信号は、従来の100BASE-TX (RJ45) 接続と直接的な互換性はありませんが、物理アダプタを使用できます。それ以外は、従来のイーサネットと同じです。下の図は、セットアップを示しています。

S32K3X4EVB-T172 Ethernet Connection

S32K3X4EVB-T172 Ethernet Connection

2. ソフトウェアの入手

S32K3製品向けAWSライブラリには、以下の依存関係があります。

  • S32 Design Studio for S32 Platform
  • S32K3デバイスのサポートを備えたS32 Design Studio for S32 Platform v.3.4 Update 3
  • S32K3リアルタイム・ドライバ、バージョン2.0.1
  • S32K3プラットフォーム向けFreeRTOSバージョン2.0.1リリース
  • SW32K3 TCPIPスタック、バージョン1.0.1 HF1
  • S32K3 AWS IoT Coreバージョン1.0.0

2.1 統合開発環境の入手

S32K3向けAWSライブラリ・パッケージは、NXPのS32 Design Studio for S32 Platform v3.4 Update 3 IDEと互換性があります。

S32 Design Studioプラットフォームの実行ファイルを見つけるには、[Automotive SW(車載SW)]→[S32K3]→[S32 Design Studio]の順に移動します。次に、[Previous(以前)]タブに進み、[S32 Design Studio for S32 Platform v.3.4 with support for S32K3 devices(S32K3デバイスのサポートを備えたS32 Design Studio for S32 Platform v.3.4)]を選択して、S32DS.3.4_b201217_win32.x86_64.exeをダウンロードします。

S32 Design Studio IDEのダウンロード

S32K3X4EVB-T172 S32DS STDSW Download

S32K3X4EVB-T172 S32DS v3.4 Download

S32K3X4EVB-T172 S32DS v3.4 Download

S32K3X4EVB-T172 S32DS v3.4 Installer

S32K3X4EVB-T172 S32DS v3.4 Installer

IDEの詳細なインストール手順については、インストール・ガイドに従ってください。

2.2 S32K3xx開発パッケージのダウンロード

さらに、S32K3デバイスのサポートを備えたS32 Design Studio for S32 Platform v.3.4に加えて、S32K3デバイスのサポートを備えたS32 Design Studio for S32 Platform v.3.4 Update 3をインストールする必要があります。

Update 3は、S32 Design Studioプラットフォームの実行ファイルと同じ場所にあります。[Automotive SW(車載SW)]→[S32K3]→[S32 Design Studio]の順に移動し、次に[Current(現在)]タブに進み、[S32 Design Studio for S32 Platform v.3.4 Update 3 with support for S32K3 devices(S32K3デバイスのサポートを備えたS32 Design Studio for S32 Platform v.3.4 Update 3)]を選択して、SW32K3_S32DS_3.4.3_D2112.zipをダウンロードします。

S32K3xx開発パッケージのダウンロード

S32K3X4EVB-T172 S32DS Dev Package v3.4 Download

S32K3X4EVB-T172 S32DS Dev Package v3.4 Download

S32K3X4EVB-T172 S32DS Dev Package v3.4 Update 3 Download

S32K3X4EVB-T172 S32DS Dev Package v3.4 Update 3 Download

2.3 HSEファームウェアのダウンロード

S32K3向けAWSライブラリではHSEセキュリティ・エンジンを利用するため、デバイスにHSE FW 0.2.1.0 RTMをインストールする必要があります。

ファームウェア (HSE_FW_S32K3XX_0_2_1_0.exe) は、[Automotive SW(車載SW)]→[S32K3 Standard Software(S32K3標準ソフトウェア)]→[Automotive SW(車載SW)]→[S32K3]→[HSE Firmware(HSEファームウェア)]→[HSE FW 0.2.1.0 RTM Release(HSE FW 0.2.1.0 RTMリリース)]からダウンロードできます。

HSE FWのダウンロード

デモ・アプリケーションが別途提供されており、これには工場出荷時に新しいデバイスにHSEファームウェアをプロビジョニングする方法の詳細と、セキュリティ機能の一般的なユース・ケースのデモが含まれています。デモ・アプリケーションはこちらからご覧いただけます(ログインが必要です)。

S32K3X4EVB-T172 HSE FW Download

S32K3X4EVB-T172 HSE FW Download

S32K3X4EVB-T172 HSE FW EXE Download

S32K3X4EVB-T172 HSE FW EXE Download

2.4 リアルタイム・ドライバの入手

[Automotive SW(車載SW)]→[S32K3 Standard Software(S32K3標準ソフトウェア)]→[Automotive SW(車載SW)]→[S32K3]→[Real-Time Driver for Cortex-M(Cortex-M向けリアルタイム・ドライバ)]→[S32K3 Real-Time Drivers Version 2.0.1(S32K3リアルタイム・ドライバ、バージョン2.0.1)]→ SW32K3_RTD_4.4_2.0.1_DS_updatesite_D2207.zip

S32K3 RTDのダウンロード

S32K3X4EVB-Q172 S32K3 RTD STDSW Download

S32K3X4EVB-Q172 S32K3 RTD STDSW v2.0.1 Download

S32K3X4EVB-Q172 S32K3 RTD STDSW v2.0.1 Download

S32K3X4EVB-Q172 S32K3 RTD STDSW Update Site D2207

S32K3X4EVB-Q172 S32K3 RTD STDSW Update Site D2207

2.5 FreeRTOSのダウンロード

[Automotive SW(車載SW)]→[S32K3 Reference Software(S32K3リファレンス・ソフトウェア)]→[Automotive SW(車載SW)]→[S32K3]→[FreeRTOS]→[SW32K3_FreeRTOS_10.4.6_2.0.1_D2209]→ SW32K3_FreeRTOS_10_4_6_UOS_2_0_1_DS_updatesite_D2209.zip

FreeRTOSのダウンロード

S32K3X4EVB-Q172 S32K3 FreeRTOS REFSW

S32K3X4EVB-Q172 S32K3 FreeRTOS REFSW v2.0.1 Download

S32K3X4EVB-Q172 S32K3 FreeRTOS REFSW v2.0.1 Download

S32K3X4EVB-Q172 S32K3 FreeRTOS STDSW Update Site D2209

S32K3X4EVB-Q172 S32K3 FreeRTOS STDSW Update Site D2209

2.6 TCP/IPスタックのダウンロード

[Automotive SW(車載SW)]→[S32K3 Reference Software(S32K3リファレンス・ソフトウェア)]→[Automotive SW(車載SW)]→[S32K3] →[Stacks(スタック)]→[SW32K3 TCPIP Stack version 1.0.1 HF1(SW32K3 TCPIPスタック、バージョン1.0.1 HF1)]→ SW32K3_TCPIP_RTM_1_0_1_HF1_D2209_updatesite.zip

TCP/IPスタックのダウンロード

S32K3X4EVB-Q172 TCP IP REFSW Download

S32K3X4EVB-Q172 TCP IP REFSW v1.0.1HF1 Download

S32K3X4EVB-Q172 TCP IP REFSW v1.0.1HF1 Download

S32K3X4EVB-Q172 AWS IoT Core REFSW v1.0.1HF1 D2209

S32K3X4EVB-Q172 AWS IoT Core REFSW v1.0.1HF1 D2209

2.7 S32K3向けAWSライブラリのダウンロード

[Automotive SW(車載SW)]→[S32K3 Reference Software(S32K3リファレンス・ソフトウェア)]→[Automotive SW(車載SW)]→[S32K3]→[AWS IoT]→[S32K3 AWS IoT Core Version 1.0.0(S32K3 AWS IoT Coreバージョン1.0.0)]→ SW32K3_AWS_IOT_CORE_1.0.0_D2304_updatesite.zip

S32K3向けAWSライブラリのダウンロード

S32K3 AWS IoT Core Ref SW Download

S32K3 AWS IoT Core Ref SW v1.0.0 Download

S32K3 AWS IoT Core Ref SW v1.0.0 Download

S32K3 AWS IoT Core Ref SW v1.0.0 Update Site D2304

S32K3 AWS IoT Core Ref SW v1.0.0 Update Site D2304

3. ソフトウェアのインストール

このセクションでは、前のセクションでダウンロードしたパッケージをインストールする方法について説明します。

3.1 S32 Design Studioのインストール

インストーラの手順に従ってS32 Design Studioをインストールします。

IDEのインストールの詳細については、インストール・ガイドに従ってください。

3.2 S32 Design Studioの更新サイトのインストール

上記のソフトウェア(開発パッケージ、RTD、FreeRTOS、TCP/IP、S32K3向けAWSライブラリ)のほとんどは、S32 Design Studioの「Update Sites(更新サイト)」に.zipアーカイブ形式でダウンロードされます。これらは、次の手順に従ってS32 Design Studioにインストールできます。

  1. メニュー・バーから[Help(ヘルプ)]→[S32DS Extensions and Updates(S32DS拡張機能と更新)]の順に選択し、[Add Update Sites(更新サイトの追加)]を選択します
  2. S32K3X4EVB-T172 S32DS Add Update Sites
  3. ダウンロードされたZIPファイルのディレクトリに移動します。前のセクションでダウンロードしたすべてのZIPファイルを選択して、[Open(開く)]をクリックし、次に[OK]をクリックします
  4. [S32DS Extensions and Updates(S32DS拡張機能と更新)]ダイアログから、必要なパッケージを次の順序で選択およびインストールします。
    • 「S32K3 Real-Time Drivers Version 2.0.1(S32K3リアルタイム・ドライバ、バージョン2.0.1)」を選択し、インストールします(開発パッケージはデフォルトでインストールされます)
    • 「AWS_IOT_CORE for S32K3 version 1.0.0(S32K3向けAWS_IOT_COREバージョン1.0.0)」を選択し、インストールします(残りの依存関係はデフォルトでインストールされます)
  5. S32K3X4EVB-T172 S32DS Install Update Sites RTD S32K3X4EVB-T172 S32DS Install Update Sites AWS

3.3 デバイスへのHSEファームウェアのインストール

HSEファームウェアには、次の2つのバージョンがあります。

  • フル・メモリ
  • A/Bスワップ

S32K3向けAWSライブラリはA/Bスワップ・バージョンを使用していますが、OTAアップデート機能が必要ない場合はフル・メモリ・バージョンも使用できます。

ファームウェアのインストール手順は次のとおりです。

  1. 設定ガイドを使用して、HSEファームウェアとデモ・アプリケーションをインストールします
  2. S32 Design Studioで[File(ファイル)]→[Import...(インポート)]→ [General(一般)]→[Existing Projects into Workspace(既存のプロジェクトをワークスペースへ)]の順に選択し、サンプルの場所を参照して、ファームウェアのインストール・サンプル (/S32K3_HSE_DemoExamples/Device_Configuration/S32K344_HSE_FW_INSTALL) をインポートします
  3. S32K3X4EVB-T172 S32DS HSEFW Import Project

    S32K3X4EVB-T172 S32DS HSEFW Import Project
  4. プロジェクトをビルドします
  5. S32K3X4EVB-T172 S32DS Build
  6. デモをデバッグします(ファームウェアのA/Bスワップ・バージョンを使用する場合は、以下に示すようにFULL_MEMAB_SWAPに置き換えます)
  7. S32K3X4EVB-T172 S32DS Debug

    S32K3X4EVB-T172 S32DS Debug
    S32K3X4EVB-T172 S32DS Debug Project
  8. HSEファームウェアが正しくインストールされているか確認するために、アプリケーションを一時停止して、「gHseFwVersion」の変数の値を確認できます
  9. S32K3X4EVB-T172 S32DS Pause

    S32K3X4EVB-T172 S32DS Pause

詳細については、プロジェクトに含まれている「Readme.md」ファイルを参照してください。S32K3xxのセキュリティの概要と実装トレーニング(サインインが必要)に、S32K3のセキュリティ機能について記載されています。セキュリティの詳細については、セキュア・ファイルのページ(NDAへの同意が必要)をご覧ください。セキュア・アクセス権の登録ガイドは、こちらからご覧いただけます。

S32K3X4EVB-T172 S32DS HSEFW Full Memory Debug S32K3X4EVB-T172 S32DS HSEFW Full Memory Advanced Options Flash Algorithm

4. AWSアカウントの設定

AWSのユーザー・アカウントをまだお持ちでない場合は、AWSアカウントのセットアップ にあるAWSオンライン・ドキュメントを参照してください。まずはじめに、以下のセクションで説明されている手順に従ってください。

注記には特に注意を払ってください。

4.1 AWS IoTのリソースの作成

AWS IoTリソースの作成 にあるAWSオンライン・ドキュメントを参照してください。 下記のセクションで概説されている手順に従って、お使いのデバイス用のリソースをプロビジョニングします。

注記には特に注意を払ってください。

5. ビルドと実行

S32K3向けAWSライブラリには、AWS IoT Coreのコネクティビティについて紹介するいくつかのデモが含まれています。デモをインポート、ビルド、実行する方法について記載した手順は、含まれているすべてのデモに適用されますが、デバイスがAWS IoT Coreと通信できることを確認するために、aws_mqtt_s32k344デモから始めることをお勧めします。

5.1 aws_mqtt_s32k344サンプルに基づいたS32DSプロジェクトの作成

S32 Design Studioを開いたら、[File(ファイル)]→[New S32DS Project From Example(サンプルに基づいた新規S32DSプロジェクト)]の順に進み、aws_mqtt_s32k344 (検索ボックスにawsと入力して検索可能)を選択します。[Finish(完了)]をクリックします。

S32K3X4EVB-Q172 S32DS New Project From Example S32K3X4EVB-Q172 S32DS Select New Project From Example

5.2 demo_config.hの構成

プロジェクトを正常にビルドしてAWS IoT Coreに接続するには、「AWS IoTのリソースの作成」セクションで作成したAWS IoTエンドポイントとIoTのモノに関する情報をinclude/demo_config.hファイルに入力する必要があります。

S32K3X4EVB-Q172 AWS IoT Demo Config File

いくつかのマクロは必須です(参照としてファイル内でコメントアウトされますが、以下のようにユーザーが定義する必要があります)。

  • democonfigCLIENT_IDENTIFIER

    モノの名前に設定する必要があります。

    S32K3X4EVB-T172 AWS IoT Thing Name
  • democonfigMQTT_BROKER_ENDPOINT

    AWS IoT Coreエンドポイントに設定する必要があります。

    S32K3X4EVB-T172 AWS IoT Broker Endpoint
  • democonfigMQTT_BROKER_PORT

    セキュアMQTTの接続に使用されるポートであり、8883(セキュアMQTTの接続で一般的に使用)または443(制限されたネットワーク環境で使用可能)のいずれかとなります。

  • democonfigROOT_CA_PEM

    この証明書は、AWS IoTサーバを識別するために使用されるものであり、公開されています。ここから取得することも、AWS IoTコンソールでのモノの作成時にダウンロードすることもできます。

  • democonfigCLIENT_CERTIFICATE_PEM

    クライアント・デバイスの証明書であり、AWS IoTコンソールでのモノの作成時に生成されます。

  • democonfigCLIENT_PRIVATE_KEY_PEM

    クライアント・デバイスの公開鍵であり、AWS IoTコンソールでのモノの作成時に生成されます。

各マクロの設定方法の詳細については、include/demo_config.hファイルのコメントを参照してください。

5.3 構成とコードの生成

aws_mqtt_ s32k344.mexファイルをダブルクリックするか、またはS32 DSの右上隅にあるシンボル(下図を参照)をクリックして[Peripherals(ペリフェラル)]ビューを開きます。

S32K3X4EVB-Q172 S32DS C/C++ Perspective Icon

ウィンドウの左上で現在のプロジェクトとして (aws_mqtt_s32k344) を選択します。

S32K3X4EVB-Q172 S32DS Select Current Project

さまざまなコンポーネントの構成について、任意のコンポーネントを選択して更新できます(この例では更新は不要)。下図は、AWSコンポーネントの画面表示の一例を示しています。

S32K3X4EVB-Q172 S32DS AWS IoT Configuration Setup

AWSコンポーネントを使用して、mbedTLSの暗号スイート設定を構成することが可能です。IoT Consoleでデフォルトとしてデバイス証明書と秘密鍵を生成する場合、それらはRSAベースになるため、次のように暗号スイートを更新する必要があります。

S32K3X4EVB-T172 S32DS AWS IoT Configuration RSA

[Update Code(コードの更新)]ボタンをクリックします(生成されていない新しい構成ファイルがある場合は緑色)。

S32K3X4EVB-Q172 S32DS AWS IoT Update Code Icon

コード生成が完了するのを待ってから(右下の「Update Code(コードの更新)」メッセージが消えたら)、次の手順に進みます。

S32K3X4EVB-Q172 S32DS AWS IoT Code Generation Wait S32K3X4EVB-Q172 S32DS AWS IoT Code Generation Wait

5.4 プロジェクトのビルド

S32 DSの右上隅にあるシンボルをクリックして、C/C++パースペクティブに再度切り替えます。

S32K3X4EVB-Q172 S32DS Peripherals Icon

[Build(ビルド)]ボタン(ハンマーのシンボル)をクリックします。

S32K3X4EVB-Q172 S32DS Build Icon

ビルドの実行が完了するのを待ってから、次の手順に進みます。

S32K3X4EVB-Q172 S32DS Build Console

5.5 デモの実行

デバッガを接続し、J428ポートを介してボードをインターネットに接続したら、S32K3x4EVBのスタート・ガイドに記載のとおりに電源を入れます。

S32 DSの[Debug(デバッグ)]ボタンに対応する下向き矢印をクリックし、[Debug Configurations...(デバッグの構成)]を選択します。aws_mqtt_s32k344_Debug_FLASH_PNEを選択し、[Debug(デバッグ)]ボタンをクリックします。

S32K3X4EVB-Q172-S32K3 AWS Demo S32DS Debug Icon

デバッグ・セッションが開始されるまで待ってから、[Resume(再開)]ボタンをクリックしてアプリケーションの実行を続けます。

S32K3X4EVB-Q172-S32K3 AWS Demo S32DS Resume Icon

6. AWS IoT Coreでのメッセージの確認

6.1 AWS IoT Coreコンソール

AWS IoT Coreコンソール のナビゲーション・ペインで、[Test(テスト)]、[MQTT test client(MQQTテスト・クライアント]の順に選択します。[Subscribe to a topic(トピックにサブスクライブ)]を選択して、トピックを入力し(または#ワイルドカードを使用してすべてのトピックを表示し)、[Subscribe(サブスクライブ)]を選択します。それらが受信されると、メッセージが表示されます。

S32K3X4EVB-T172-S32K3 AWS Demo MQTT Test Client

S32K3X4EVB-T172-S32K3 AWS Demo MQTT Test Client

7. デバッグ

7.1 デバッグ・プロセス

OpenSDAインターフェースに関連付けられた仮想COMにシリアル・ターミナルを接続すると、実行の進捗状況を確認できます(デバイス・マネージャで確認可能)。

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Ports COM

サンプルの実行が開始されると、次のようなログが出力されます。

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Log

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Log

実行が正常に完了すると、「AWS IoT Coreでのメッセージの確認」セクションに記載されているように、AWS IoT CoreによってMQTTメッセージの受信が確認されるとともに、実行の最後に次のメッセージが表示されます。

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Log Success Execution

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Log Success Execution

ロギング・レベルは、[Peripherals(ペリフェラル)]ビューで更新できます。このビューには、「Build and Run the demo(デモのビルドと実行)」セクションのステップ3で示すようにアクセスできます。ロギングの設定は、AWSコンポーネントの[Logging(ロギング)]タブにあります。

S32K3X4EVB-Q172-S32K3 AWS Demo Debugging Logging Settings

コンフィギュレータでロギングの設定など何らかの設定が更新されている場合、「Build and Run the demo section(デモのビルドと実行)」セクションのステップ3と4に示すように、コードを生成して再ビルドする必要があります。

「Run the demo(デモの実行)」セクションに示すようにプロジェクトを実行すると、S32 Design Studioに組み込まれているデバッガを使用できるようになります(例:[Resume(再開)]をクリックする前にブレークポイントを設定したり、実行を一時停止して現在実行されているコードを確認したりできます)。デバッグの詳細については、S32 Design Studioのインストール・ディレクトリにあるS32DSユーザー・ガイド(「Debugging(デバッグ)」の章)を参照してください。

/S32DS/help/pdf/S32DS_User_Guide.pdf

デバイスへの認証情報のプロビジョニング

デバイスへの認証情報のプロビジョニング

デバイスへの認証情報のプロビジョニングについては、aws_pkcs11_mqtt_s32k344デモで紹介されています。標準のMQTTサンプルに加えて、このサンプルはcorePKCS11ライブラリを使用して、クライアント証明書と秘密鍵をデバイスにプロビジョニングします。corePKCS11ライブラリは、S32K3のハードウェア・セキュリティ・エンジン (HSE) に統合されています。

demo_config.hの構成にマクロがさらに1つ追加されました

#define democonfigPROVISION_DEVICE

このマクロは、下記に定義されているクライアント証明書と秘密鍵のデバイスへのプロビジョニングを有効にするために定義する必要があります。このサンプルを一度実行すれば、証明書がフラッシュに、また秘密鍵がHSEにそれぞれ保存されるため、マクロを未定義にすることができます。

プロビジョニングは、src/aws_dev_mode_key_provisioning.cに含まれるvDevModeKeyProvisioning()関数に実装されています。democonfigPROVISION_DEVICEマクロが定義されている場合、この関数はsrc/main.cにあるInitTask()によって呼び出されます。

あるいは、S32K3向けAWSライブラリに含まれているmbedTLSライブラリを使用したり、S32K3ハードウェア・セキュリティ・エンジン (HSE) と統合することもできます。

デモ

NXPのAWS IoT Core対応製品では、次のS32 Design Studioプロジェクトのサンプルが提供されています。

aws_mqtt_s32k344

このサンプルは、AWS IoTアカウントへのMQTT接続を作成するために使用されます。デバイスはMQTTトピック・メッセージをAWSエンドポイントにパブリッシュします。また、サーバからパブリッシュされたメッセージを受信することもでき、確認メッセージでこれに応答します。

このサンプル・プロジェクトは、MQTT_Mutual_Authデモ に基づいて作成されました。

aws_pkcs11_mqtt_s32k344

標準のMQTTサンプルに加えて、このサンプルはcorePKCS11を使用して、クライアント証明書と秘密鍵をデバイスにプロビジョニングします。

このサンプル・プロジェクトは、corePKCS11_MQTT_Mutual_Authデモ に基づいて作成されました。

aws_ota_s32k344

このサンプルは、AWS IoT CoreのOTA (over-the-air) アップデートの機能を紹介するためのものです。

サンプルは、OTAエージェントを起動し、AWSサーバから送信されるアップデート・リクエストを待ち受けます。アップデートが開始されると、新しいファームウェア・イメージがフラッシュにダウンロードされ、デバイスが再起動して新しいイメージをロードします。

このサンプル・プロジェクトは、OTAデモに基づいて作成されました。

aws_defender_s32k344

このデモは、メトリックを収集し、JSON形式でDevice Defenderレポートを作成して、それをAWS IoT MQTTブローカへのセキュアMQTT接続を介してAWS IoT Device Defenderに送信する方法を示す、単一のアプリケーション・タスクを作成します。デモには、標準のネットワーク・メトリックならびにカスタム・メトリックが含まれています。カスタム・メトリックでは、デモに次のものが含まれます。

  • FreeRTOSのタスクIDのリストを示す「task_numbers」という名前のメトリック。このメトリックのタイプは「list of numbers」です
  • デモ・アプリケーション・タスクでスタックのハイ・ウォーターマークを示す「stack_high_water_mark」という名前のメトリック。このメトリックのタイプは「number」です

このサンプル・プロジェクトは、Device_Defender デモに基づいて作成されました。

aws_shadow_s32k344

このデモでは、AWS IoT Device Shadowライブラリを使用してAWS Device Shadowサービスに接続する方法を示します。coreMQTTライブラリを使用して、TLS (相互認証)でのAWS IoT MQTTブローカへのMQTT接続を確立するとともに、coreJSONライブラリ・パーサを使用して、AWS Shadowサービスから受信したシャドウ・ドキュメントを解析します。

デモでは、シャドウ・ドキュメントを更新する方法やシャドウ・ドキュメントを削除する方法など、シャドウの基本的な操作について示します。また、このデモでは、コールバック関数をcoreMQTTライブラリに登録して、AWS IoT Device Shadowサービスから送信されるshadow/updateやupdate/deltaなどのメッセージを処理する方法も示します。

このサンプル・プロジェクトは、Device_Shadowデモに基づいて作成されました。

aws_gg_demo_s32k344

このプロジェクトでは、AWS IoT Coreを実行しているS32K344(Greengrassデバイスを表す)と、GoldVIP を実行しているS32G2 RDB2(Greengrassコアを表す)を接続し、SiteWiseダッシュボードに診断ログをパブリッシュすることにより、Greengrassの機能を紹介します。デモの説明に記載されている追加の前提条件が必要です。

デモの実行に関する詳細は、サンプルの「description.txt」ファイルを参照してください。

サポート

トラブルシューティング

この章では、AWS IoT Coreデモの実行中に起こりうる一般的な問題について記載しています。

ソフトウェアをMCUにアップロードできず、パワー・ドメインのLEDが周期的に点滅する

これは、セーフティSBCのウォッチドッグに正しく給電されておらず、MCUがリセットされることが原因です。このような場合には、こちらに記載されている手順に従って電源投入を行ってください。

デモの実行がInitHseMbedTls()で停止する

この問題は、HSE FWが正しくインストールされていないことを示しています。セクション3.3の「デバイスへのHSEファームウェアのインストール」にある手順を再度ご確認ください。

デモの実行がInitTask()で停止する

ボードはDHCP経由でIPアドレスを取得しています。実行が次のループで停止する場合:

while (!dhcp_supplied_address(&network_interfaces[i]))

ボードにIPアドレスが割り当てられていない可能性があります。これは、DHCPサーバが正しく動作していない場合に起こりえます。

DHCPの使用を望まない場合は、[Peripherals(ペリフェラル)]ビューの[Netif]タブにある[tcpip_stackコンポーネント]で設定を変更できます。

S32K3X4EVB-Q172-S32K3 AWS Peripherals View NETIF Tab

エラー:TLSハンドシェイクでの接続に失敗しました。X509 - 証明書の検証に失敗しました

このエラーがシリアル・ログに記録されている場合は、サーバ証明書の検証に失敗している可能性があります。原因の1つとして、RTCでの現在の時刻の設定が間違っていることが考えられます。これは、generate/src/Rtc_Ip_BOARD_InitPeripherals_PBcfg.cファイルを直接変更するか、あるいは[Peripherals(ペリフェラル)]ビューで設定を更新し、[Update Code(コードの更新)]を使用してコードを生成することで更新できます。

S32K3X4EVB-Q172-S32K3 AWS Update Code S32K3X4EVB-Q172-S32K3 AWS Peripherals View RTC IPL Configuration

詳細については、AWS IoTのトラブルシューティング に関するAWSオンライン・ドキュメントを参照してください 。

フォーラム