3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Renesas RX72N Envision KitでAWSに"Hello World"を送信する

Posted at

環境準備

Renesas RX72N Envision KitでAWSに"Hello World"を送信してAWS側で送信されたメッセージを確認してみました。
今回はAWS IoT Coreで必要な設定を済ませてから、Renesasの統合開発環境e² studioでMQTTデモプログラムを作成/起動します。
準備した環境は以下の通りです。

  1. RX72N Envision Kit (評価ボード)
  2. e² studio 2021-07 (統合開発環境)
  3. GCC for Renesas 8.3.0.202102-GNURX Windows (RXマイコン用コンパイラ)

AWS IoT Coreの設定

まずはAWS IoT CoreでRX72N Envision Kitを登録して、AWSにRX72N Envision Kitが接続できるようにします。
AWSにログインして、AWSマネジメントコンソールを開きます。
その後、「すべてのサービス」->「IoT」->「IoT Core」をクリックしてAWS IoT Coreの設定画面を開きます。
aws_mqtt_1.png

ポリシーの作成

AWSと通信するための接続許可等を定義するポリシーを作成します。
「安全性」->「ポリシー」->「作成」をクリックして、ポリシーの作成画面を開きます。
aws_mqtt_2.png
ポリシーの名前を入力したら「アドバンストモード」をクリックして、下記のコードをエディタ画面に貼り付けます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "*"
    }
  ]
}

コードを貼り付けたら以下のようになります。
aws_mqtt_3.png
貼り付けたら「作成」をクリックして、ポリシーの作成を完了します。

モノの作成

次にRX72N Envision KitをAWSに登録します。
「管理」->「モノ」->「モノを作成」をクリックして、モノの作成画面を開きます。
aws_mqtt_4.png
「1つのモノを作成」にチェックを入れたら「次へ」をクリックします。
次の画面で「モノの名前」を入力して更に「次へ」をクリックします。
(ほかにも色々設定できますが、特に設定は行わず、このまま進めます)
更に次の画面で「新しい証明書を自動生成 (推奨)」にチェックを入れて「次へ」をクリックします。
アタッチするポリシーを選択する画面で、作成したポリシーを選択して「モノを作成」をクリックします。
「証明書とキーをダウンロード」で「証明書」、「プライベートキー」、「パブリックキー」をダウンロードしておきます。
(ここでダウンロードする「証明書」、「プライベートキー」は後で使用します)

Renesas e² studioの起動およびプログラムの作成

AWS IoT Coreの設定が完了したら次にe² studioを起動して、"Hello World"を送信するプログラムを作成します。

FreeRTOSプロジェクトの作成

e² studioを起動したら、「ファイル」から「新規」->「Renesas C/C++ Project」->「Renesas RX」をクリックします。
e2studio_1.png
「GCC for Renesas RX C/C++ Executable Project」を選択して「次へ」をクリックします。
(今回はGCCコンパイラを使用するので、こちらを選択します)
e2studio_2.png
プロジェクトの名前を入力したら「次へ」をクリックします。
次の画面で、以下のようにFreeRTOS (with IoT libraries) + RX72N Envision Kitを使用するプロジェクトに設定します。
(RX72N Envision Kitはボードに実装されたE2 Liteをデバッグに使用するので、E2 Liteを選択しておきます)
(FreeRTOSは2021/08時点で最新版であるv202002.00-rx-1.0.5を使用します)
e2studio_3.png
設定が完了したら、「終了」をクリックしてFreeRTOSプロジェクトを作成します。

AWS接続情報の設定

プロジェクトの作成が完了したら、プロジェクトにAWS接続情報を設定します。
「application_code」->「demos」->「include」から「aws_clientcredential.h」をダブルクリックで開きます。
e2studio_4.png
「clientcredentialMQTT_BROKER_ENDPOINT」にエンドポイント名を入力します。
(エンドポイント名はIoT Coreの「設定」->「デバイスデータエンドポイント」から確認することができます)
aws_mqtt_9.png
「clientcredentialIOT_THING_NAME」に作成したモノの名前を入力します。
次に「証明書」と「プライベートキー」の情報をプロジェクトに設定します。
以下の場所に格納されている「CertificateConfigurator.html」をダブルクリックで開きます。
C:\Users%username%.eclipse\com.renesas.platform_download\RTOS\afr-v202002.00-rx-1.0.5\tools\certificate_configuration
ブラウザが開くので、「Certificate PEM file」にAWSからダウンロードした「証明書」を指定しています。
「Private Key PEM file」にAWSからダウンロードした「プライベートキー」を指定します。
「Generate and save aws_clientcredential_keys.h」をクリックしてヘッダーファイルを適当な場所に保存します。
e2studio_5.png
ダウンロードしたヘッダーファイルをe² studio上の「application_code」->「demos」->「include」フォルダにドラッグアンドドロップしてコピーします。

FreeRTOSプロジェクトのビルドおよび起動

まずRX72N Envision KitのECN1コネクタとPCをUSBケーブルを介して接続して、Ethernetケーブルを介して使用しているルーターにRX72N Envision Kitを接続しておきます。
(ルーターのDHCP機能を有効にしておいてください、正常にプログラムがビルドできません)
e² studio上部のトンカチマークをクリックして、FreeRTOSプロジェクトをビルドします。
ビルドログでエラーメッセージが表示されなければビルド完了です。
その後、同じくe² studio上部の虫マーク横の下三角マークをクリックして、「デバッグの構成」をクリックします。
下記のように、メインクロック/EXTAL周波数、接続タイプ、エミュレータからの電源供給のデバッグ設定を変更します。
e2studio_7.png
設定が完了したら画面下部のデバッグをクリックして、プログラムのダウンロード/デバッグを開始します。
デバッグ開始後、下記の画面でプログラムが停止するので、e² studio上部のRestartボタンを1回押して、main関数内でプログラムが停止するのを確認します。

AWS IoT Coreで送信されたメッセージの確認

AWS側でRX72N Envision Kitが送信した"Hello World"メッセージを確認できるように設定を行います。
IoT Core左側のメニューから「テスト」をクリックします。
aws_mqtt_6.png
トピックのフィルターに「#」を入力して「サブスクライブ」をクリックします。
(「#」はワイルドカードでこの設定ではすべてのトピックを表示することを意味します)
aws_mqtt_7.png
e² studio上部の再開ボタンを押してプログラムを実行します。
メッセージの送信が開始されるので、以下のようにAWS側でメッセージを受信していることを確認します。
aws_mqtt_8.png

さいごに

RX72N Envision Kitを使用してAWSに"Hello World"メッセージを送信するまでの手順を紹介しました。
今回は紹介しませんでしたが、TeraTermを使用すればFreeRTOSの実行ログを確認しながらデバッグを行えるので便利です。
e2studio_9.png

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?