AmazonWebService(3)-IoT Core MCU ボードを登録

今回は、MCUボードを登録します。Amazon FreeRTOS コンソールで [Quick Connect (クイック接続)] ワークフローを使用すると、ポリシー、AWS IoT のモノ、およびキーと証明書が自動的に作成されますが、今回は1つ1つ登録していこうと思います。MCUボード登録をするために下記の2つの設定を行います。

  • AWS IoT ポリシーを作成
  • デバイス用の IoT モノ、プライベートキー、証明書を作成

それでは、AWS IoTポリシーの作成から行います。AWS IoT ポリシーの作成には下記の2つの情報が必要になります。

  • AWS のアカウントID
  • AWS アカウントの AWS リージョン

AWSのアカウントIDはマイアカウントから確認できます。画面右上のアカウント名を選択すると、メニューが開かれるのでマイアカウントを選択します。

アカウントIDが確認できます。

AmazonWebService(2)-IAM アクセス許可

前回、AWSにユーザーを追加しました。今回は、アクセス許可の設定を行います。AWS IoT および Amazon FreeRTOS に IAM ユーザーアカウントのアクセスを付与するには、IAM ユーザーアカウントに下記の2つのIAM ポリシーをアタッチします。

  • AmazonFreeRTOSFullAccess:
    関連付けられた ID にすべての Amazon FreeRTOS へのフルアクセスを許可します。
  • AWSIoTFullAccess:
    関連付けられた ID にすべての AWS IoT 設定およびメッセージングオペレーションへのフルアクセスを許可します。

それでは、アクセス許可の設定を行っていきます。下記のURLよりAWSマネージメントコンソールを開きます。

https://console.aws.amazon.com/console/

AWSマネージコンソールよりIAMを選択して、IAMを開きます。

AmazonWebService(1)-IAM ユーザ追加

近頃は、IoTという言葉も定着してきました。IoTは、Internet of Thingsの省略した言葉で、直訳すると「モノのインターネット」という意味です。今後、市場もどんどん大きくなっていくのではと予想されています。ということで、IoT機器を作成してみて、どのようなことができるか調査していこうと思います。

使用するマイコンは、Renesas RX65Nを使用します。使用するクラウドサービスは、Amazon Web Service(AWS)です。Renesasから、AWSに容易に接続できる開発キットとして、RX65N Cloud Kitが販売されています。まずはこちらを使用してみようと思います。

まずは、AWSの設定です。AWSのアカウントを取得(こちらがルートアカウントになります。)したら、まずはIAM(Identity and Access Management)を使用して、ユーザを追加します。下記のURLよりAWSマネージメントコンソールを開きます。

https://console.aws.amazon.com/console/

AWSマネージコンソールよりIAMを選択して、IAMを開きます。

RX(9)-インプットキャプチャ

今回はRXマイコンを使用して、インプットキャプチャ機能を使用して、パルス幅の測定を行います。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。立ち上げありエッジの間隔を測定して1秒間隔でPCへ送信するする機能の構築をします。また、立ち上がりエッジを検出する度に、論理を反転させて、LEDの点滅も行います。統合開発環境は「e2studio」を使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、まずは、P95 を出力ピンに設定します。P95ピンはLED1と接続されています。スマート・コンフィグレータを使用した、ポートピンの設定方法は、下記のページを参考にしてください。

RX(3)-RS232通信

次に、UART通信の設定を行います。UART通信の設定方法は下記のページを参考にしてください。UART通信のリソースはSCI11を使用します。

RX(3)-RS232通信

SCI11には、複数のTXピンが割り当てられているので、注意が必要です。インプットキャプチャ機能の設定を行います。コンポーネントタブのコンポーネントの追加ボタンを押して、コンポーネントの追加画面を表示します。コンポーネントの追加画面より、「ノーマルモードタイマ」を選択して、「次へ」を押します。

RX(8)-PWM出力

今回はRXマイコンを使用して、PWM出力を行う機能を構築します。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。PWM出力のピンにちょうどLEDが接続されていたので、今回は、LEDの点灯をPWMで制御しようと思います。統合開発環境を「e2studio」を使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、PWMの設定をします。まずは、コンポーネントの追加です。コンポーネントタブのコンポーネントの追加ボタンを押して、コンポーネントの追加画面を表示します。コンポーネントの追加画面より、「PWMモード」を選択して、「次へ」を押します。

今回、MTIOC7Aピン(PWM出力ピン)がLED1と接続されているので、リソースから「MTU7」を選択して、「終了」を押します。

RX(7)-SPI通信によるDAC制御

今回はRXマイコンを使用して、SPI通信を行う機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

SPI通信を使用して、DACのICをコントロールします。今回使用するRX65Nのマイコンには、12bitのD/Aコンバータが2ch付いていますが、3ch以上DACが必要な時もあるので、今回、SPIでDACをコントロールする機能を構築しようと思います。

使用するDACは、Microchip製のMCP4911です。CP4911は、10bitの1の1chのDACです。MCP4911の使用方法は、下記のデータシートを参照してください。

http://ww1.microchip.com/downloads/en/DeviceDoc/22248a.pdf

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、SPIの設定をします。まずは、コンポーネントの追加です。コンポーネントタブのコンポーネントの追加ボタンを押して、コンポーネントの追加画面を表示します。コンポーネントの追加画面より、「SPIクロック同期式モード」を選択して、「次へ」を押します。

今回、「Renesas Starter Kit+ for RX65N-2MB」のPMOD1コネクタの信号線を使用して、SPI通信を行うので、リソースから「SCI6」を選択します。SPIの送信機能を使用するので、動作から「マスタ送信機能」を選択します。「終了」を押します。

RX(6)-DataFlashBGO

前回、RXマイコンを使用して、DataFlashにデータを保存する機能を構築しました。DataFlashへの保存をする時に、下記のようにコーディングしました。

err = R_FLASH_Write((uint32_t)&counter, FLASH_DF_BLOCK_0, FLASH_DF_MIN_PGM_SIZE);
if(err != FLASH_SUCCESS)
{
	while(1) ;
}

R_FLASH_Write関数を呼ぶと、書き込みが完了するまでは、復帰しません。ブロッキングモードに設定してあるためです。書き込みが完了するまで、待っていられない処理はもちろんあります。そのような時は、BGO (バックグラウンドオペレーション)モード(ノンブロッキングモード)を使用します。BGO モードを使用すると、API 関数は、処理を開始した直後に復帰します。そのため、書き込みを完了するまえに別の処理を行うことができます。

それでは、前回のプロジェクトを改良して、BGOモードでの動作にしたいと思います。前回の内容は下記のページに記載されています。

RX(5)-DataFlash

RX(5)-DataFlash

今回はRXマイコンを使用して、データを保存する機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

「Renesas Starter Kit+ for RX65N-2MB」には、LEDが4個搭載しています。「LED0(緑色)」はP73、「LED1(橙色)」はPG7、「LED2(赤色)」はPG6、「LED3(赤色)」はPG5を使用します。今回は、LED0~LED3を使用して、SWを押すたびに光るLEDが順番に変わるファームウェアを作成します。電源を落とした場合は、最後に光ったLEDがどれであるかDataFlashに保存して、電源をONした際に、DataFlashからどのLEDから光らせるか読み出します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、まずは、PORTの設定をします。
PORTの設定は、下記のページを参考にして下さい。

RX(3)-RS232通信

今回は、LED0~LED3の4個のLEDを使用します。LED0はP73、LED1はPG7、LED2はPG6、LED3はPG5を使用すので、PORT7とPORTGのチェックをONします。

PORT7タブを選択して、P73を出力に設定します。Highで消灯なので、1に出力するにチェックを入れておりきます。

PORTGタブを選択して、PG7、PG6、PG5を出力に設定します。Highで消灯なので、1に出力するにチェックを入れておりきます。

RX(4)-AD変換

今回はRXマイコンを使用して、AD変換機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

RX65Nには12bitADコンバータが搭載されています。12bitなので、4096分解能になります。今回、アナログ電圧の値によって、点灯するLEDを変更しようと思います。「Renesas Starter Kit+ for RX65N-2MB」には、LEDが4個搭載しています。「LED0(緑色)」はP73、「LED1(橙色)」はPG7、「LED2(赤色)」はPG6、「LED3(赤色)」はPG5を使用します。今回は、LED1とLED2を使用します。アナログ電圧をマイコン読み取った結果、4096 / 2未満の場合、LED1を点灯します。4096 / 2以上の場合、LED2を点灯します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。
中央には、スマート・コンフィグレータが開かれると思いますので、
コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、まずは、PORTの設定をします。
PORTの設定は、UART機能を追加した時と同じなので、下記のページを参考にして下さい。

RX(3)-RS232通信

次に、AD変換の設定を行います。まずは、コンポーネントの追加です。シングルスキャンモードS12ADを選択して、「次へ」を押します。

RX(3)-RS232通信

今回はRXマイコンを使用して、RS232通信機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。

前回まで、「CS+」を使用していいましたが、今回から、統合開発環境を「e2studio」に変更しました。RXの場合、なんとなくですが、e2studioの方が使いやすそうに思いました。

まずは、新規プロジェクトを作成します。[ファイル]→[新規作成]→[C/C++ Project]を選択します。

「New C/C++ Project」ダイアログが開かれるので、「Renesas CC-RX C/C++ Executable Project」を選択して、「次へ」を押します。

プロジェクト名に、任意の名称を入力して、「次へ」を押します。今回は、「RX65N_UART」という名前にしました。

ターゲット・デバイスを設定します。今回使用するマイコンは、「R5F565NEHDFC」なので、「R5F565NEHxFC」を選択します。Hardware Debug 構成生成は「E2 Lite(RX)」を選択します。設定できたら、「次へ」を押します。

スマート・コンフィグレータを使用するので、チェックボックスをONします。
設定できたら、「次へ」を押します。

ここでは、今回、特に設定はしないので、「次へ」を押します。

「終了」ボタンを押して、プロジェクトを作成します。

プロジェクト・エクスプローラーにプロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれています。

スマート・コンフィグレータを使用して、まずは、PORTの設定をします。

コンポーネントの追加方法は下記のページを参考にして下さい。

RX(1)-スイッチによるLED点灯

入出力ポートのコンポーネントを追加でましたら、PORTの設定を行います。「Renesas Starter Kit+ for RX65N-2MB」には、LEDが4個搭載しています。 「LED0(緑色)」はP73、「LED1(橙色)」はPG7、「LED2(赤色)」はPG6、「LED3(赤色)」はPG5を使用します。今回は、LED1とLED2を使用します。使用するPORTは、P7G7とPG6なので、PORTEにチェックを入れます。

LED1はPG7、LED2はPG6を使用するので、PORTGタブを選択して、PG7、PG6を出力に設定します。Highで消灯なので、1に出力するにチェックを入れておりきます。

次に、シリアル通信の設定を行います。まずは、コンポーネントの追加です。SCI(SCIF)調歩式同期モードを選択して、「次へ」を押します。

作業モードを「送信/受信」に設定します。「Renesas Starter Kit+ for RX65N-2MB」はシリアル通信コネクタがSCI8に接続されているので、リソースは「SCI8」を選択します。選択ができましたら、「終了」を押します。

シリアル通信のコンポーネントが追加されました。設定は初期のままで大丈夫です。

設定ができましたらコード生成ボタンを押します。プロジェクトツリーの中に、コードが生成されました。それでは、ボタンが押されたときの処理内容をmain関数にコーディングしていきます。RX65N_UART.cを開きます。main関数を下記のようにコーディングします。