シャドウを使用しAWSからRX65Nを制御 - renesas-rx/amazon-freertos GitHub Wiki
チュートリアルを完了する
- デバイスをAWS IoTに登録する
- Amazon FreeRTOSをダウンロードする
- Amazon FreeRTOSを設定する
- Amazon FreeRTOSを実行し、RX65NをAWS IoTに接続する
シャドウのサンプルプログラムの動作確認を行う
- シャドウのサンプルプログラムは Renesas RX65N Cloud Kit で動作確認を行います
動作させるサンプルプログラムの変更
- e2 studio のプロジェクトエクスプローラーから、aws_demos -> application_code -> common_demos -> source -> aws_demo_runner.cを開く
- aws_demo_runner.cの以下のソースコードを変更する
// aws_demo_runner.c[変更前]
/* extern void vStartDeviceDefenderDemo( void ); */
/* extern void vStartGreenGrassDiscoveryTask( void ); */
extern void vStartMQTTEchoDemo( void );
/* extern void vStartOTAUpdateDemoTask( void ); */
/* extern void vStartShadowDemoTasks( void ); */
/* extern void vStartSimpleTCPServerTasks( void ); */
/* extern void vStartSubpubDemoTasks( void ); */
/* extern void vStartTCPEchoClientTasks_SeparateTasks( void ); */
/* extern void vStartTCPEchoClientTasks_SingleTasks( void ); */
/*-----------------------------------------------------------*/
/**
* @brief Runs demos in the system.
*/
void DEMO_RUNNER_RunDemos( void )
{
/* vStartDeviceDefenderDemo(); */
/* vStartGreenGrassDiscoveryTask(); */
vStartMQTTEchoDemo();
/* vStartOTAUpdateDemoTask(); */
/* vStartShadowDemoTasks(); */
/* vStartSimpleTCPServerTasks(); */
/* vStartSubpubDemoTasks(); */
/* vStartTCPEchoClientTasks_SeparateTasks(); */
/* vStartTCPEchoClientTasks_SingleTasks(); */
}
// aws_demo_runner.c[変更後]
/* extern void vStartDeviceDefenderDemo( void ); */
/* extern void vStartGreenGrassDiscoveryTask( void ); */
/* extern void vStartMQTTEchoDemo( void ); */
/* extern void vStartOTAUpdateDemoTask( void ); */
extern void vStartShadowDemoTasks( void );
/* extern void vStartSimpleTCPServerTasks( void ); */
/* extern void vStartSubpubDemoTasks( void ); */
/* extern void vStartTCPEchoClientTasks_SeparateTasks( void ); */
/* extern void vStartTCPEchoClientTasks_SingleTasks( void ); */
/*-----------------------------------------------------------*/
/**
* @brief Runs demos in the system.
*/
void DEMO_RUNNER_RunDemos( void )
{
/* vStartDeviceDefenderDemo(); */
/* vStartGreenGrassDiscoveryTask(); */
/* vStartMQTTEchoDemo(); */
/* vStartOTAUpdateDemoTask(); */
vStartShadowDemoTasks();
/* vStartSimpleTCPServerTasks(); */
/* vStartSubpubDemoTasks(); */
/* vStartTCPEchoClientTasks_SeparateTasks(); */
/* vStartTCPEchoClientTasks_SingleTasks(); */
}
- 下記ファイルを解凍して ${base_folder}\demos\common\shadowaws_shadow_lightbulb_on_off.c に上書き
rx65n_cloud_kit_shadow_demo.zip
プロジェクトのビルド
- プロジェクト -> すべてをビルド -> 0 errors を確認
IoT Core コントロールパネルで RX65N からのシャドウステータスのアップデートを待ち受ける
- IoT Core コントロールパネルで シャドウステータスのアップデートを待ち受ける
- IoT Core のコントロールパネルに移動
- 管理 -> モノ -> (作成したモノの名前) -> シャドウ
RX65N に Amazon FreeRTOS をダウンロード
- e2 studio 画面左上の虫アイコンを押す
- パースペクティブの切り替えの確認は「はい」を選択
- PowerON_Reset_PC の下側に緑色の帯(プログラムカウンタの現在位置)が表示されることを確認
RX65N で Amazon FreeRTOSを実行
- Restart ボタンを押す
- main() にブレークすることを確認
- Restart ボタンを押す
IoT Core コントロールパネル で RX65N からの シャドウステータスを確認する
- シャドウステータスがアップデートされていることを確認
- Renesas RX65N Cloud Kit 上のLED1が点灯することを確認
IoT Core コントロールパネル から RX65N を制御する
- シャドウドキュメント の 編集 を押す
- シャドウステータス の編集画面で以下のように シャドウステータス を変更する
シャドウステータス(変更前)
{
"reported": {
"Shd-IOT-0": "red"
}
}
シャドウステータス(変更後)
{
"desired": {
"Shd-IOT-0": "green"
},
"reported": {
"Shd-IOT-0": "red"
}
}
- 保存 を押す
- シャドウステータス の reported がアップデートされていることを確認
- RX65N Cloud Kit 上の LED1 が消灯し LED2 が点灯することを確認