RX(10)-CAN通信(送信・受信)

今回は、CAN通信のファームウェアを作成してみたいと思います。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。開発環境は「e2studio」です。

そもそもCANとは、Controller Area Networkの略称で、ISOにて国際的に標準化されたシリアル通信プロトコルです。1986年ドイツの伝送メーカBOSCH社で自動車向けの通信プロトコルとしてCANを開発しました。今日では、CANの高い性能と信頼性が認められ、用途は多方面にわたっています。

今回は、CAN通信による送信と受信に着目して、ファームウェアを作成します。実際は、エラー状態などの遷移など構築する必要があるのですが、今回はとうりあえず送信と受信のみの機能となります。

それでは、CAN通信のファームウェアを作成したいと思います。今回作成するファームウェアは下記のような仕様にしたいと思います。

  • ファームウェアはデータを受信すると、受信したデータによって、「Renesas Starter Kit+ for RX66T」のLEDを点灯したり、消灯したりします。
  • ファームウェアは「Renesas Starter Kit+ for RX66T」のスイッチを
    押すと、データを送信します。

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

RX(3)-RS232通信

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

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

AmazonWebService(7)-ポート 443を使った証明書によるクライアント認証でMQTT接続(GR-ROSE)

ポート8883、ポート8443を使用しましたが、企業のファイアウォールや一部のホームルータは、デフォルトでは、HTTPS の標準ポート 443 以外のすべてのポートで、制限することが多いので、そのような環境では、正しく動作しません。その時に、ポート443を使用します。「RX65N Cloud Kit」を使用して、ポート443を使った証明書によるクライアント認証でMQTT接続を行いました。同様に「GR-ROSE」でもポート443を使った証明書によるクライアント認証でMQTT接続を実施したいと思います。

RX65N Cloud Kitの時は、下記のページのように、ソースコードの追加、修正がありましたが、GR-ROSEに関しては、一行修正すれば、ポート443を使った証明書によるクライアント認証でMQTT接続ができます。

AmazonWebService(5)-ポート 443を使った証明書によるクライアント認証でMQTT接続

それでは、ポート443を使った証明書によるクライアント認証でMQTT接続ができるようにソースコードを修正していきたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

AmazonWebService(6)-Amazon FreeRTOS動作確認(GR-ROSE)

前回まで、RX65N Cloud Kitに、Amazon FreeRTOSを使用して、AWS(
Amazon Web Service)とデータの送受信をしました。今回は、GR-ROSEに、Amazon FreeRTOSを組み込んで、AWSとデータの送受信をしたいと思います。最初のプロジェクトファイルの読み出し以外は、RX65N Cloud Kitの手順とほぼ同じだと思いますので、下記のページが参考になると思います。

AmazonWebService(4)-Amazon FreeRTOS動作確認

RX65N Cloud KItの時は無線を使用しましたが、GR-ROSEでは、Ethernetを使用してみようと思います。GR-ROSEは無線でもできますが、今回は、Ethernetを使用しようと思います。それでは、まずはプロジェクトを統合開発環境(IDE)にインポートします。IDEは、e2studioを使用します。

e2studioを起動後、[ファイル]→[インポート]を選択して、インポート画面を開きます。既存プロジェクトをワークスペースへを選択して、「次へ」ボタンを押します。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

AmazonWebService(5)-ポート 443を使った証明書によるクライアント認証でMQTT接続

前回、Amazon FreeRTOSを使用して、AWSとデータの送受信しました。Amazon FreeRTOSは、RX65N Cloud Kitに書き込んで使用しました。前回は、ポート8883、ポート8443を使用しましたが、企業のファイアウォールや一部のホームルータは、デフォルトでは、HTTPS の標準ポート 443 以外のすべてのポートで、制限することが多いので、そのような環境では、正しく動作しません。その時に、ポート443を使用します。AWS IoT Core は、ポート443を使った証明書によるクライアント認証でMQTT接続をサポートしています。

それでは、試してみます。ルーターの8883ポートを制限して、RX65N Cloud Kitを動作させてみました。下記のようにエラーが発生しました。

このようにポートを制限されてしまったため、通信エラーになってしまいました。企業では、セキュリティのため、ポート制限をすることはよくあることです。そこで、HTTPS の標準ポート 443を使用します。それでは、ポート443に対応できるようにソースコードを修正していきたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

AmazonWebService(4)-Amazon FreeRTOS動作確認

前回まで、Amazon Web Service側の設定が完了したので、今回は、Amazon FreeRTOSを使用して、AWSとデータの送受信をしようと思います。Amazon FreeRTOSは、RX65N Cloud Kitに書き込んで使用します。それでは、まずは、Amazon FreeRTOSを用意します。下記のサイトからダウンロード可能です。

Amazon Web Services からダウンロードしたAmazon FreeRTOSは、Amazon FreeRTOS Qualification Program による検証されたものになります。また、
Amazon FreeRTOSは最新版ではありません。検証に使用したマイコンボードは、Renesas Starter Kit+ for RX65N-2MBになります。

GitHub(aws) からダウンロードしたAmazon FreeRTOSは、最新版のAmazon FreeRTOSになります。検証に使用したRXマイコン ボード以外のパッケージはありません。

GitHub(renesas-rx) からダウンロードしたAmazon FreeRTOSは、最新版のAmazon FreeRTOSではありません。検証に使用したRXマイコン ボード以外のパッケージもあります。RX65N Cloud Kitのパッケージもあります。

今回は、RX65N Cloud Kitを使用しようと思いますので、GitHub(renesas-rx) からダウンロードします。

それでは、まずはダウンロードしたファイルを統合開発環境(IDE)にインポートします。IDEは、e2studioを使用します。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

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」を選択して、「終了」を押します。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!