| 70 | |
| 71 | == 開発手順 == |
| 72 | |
| 73 | === ワークスペースの読み込み === |
| 74 | |
| 75 | [=#download タウンロード]したファイルを、適当なフォルダに展開します。 |
| 76 | |
| 77 | この説明では「E:\e2studio\azure_iot_hub_arm」に展開します。 |
| 78 | |
| 79 | [[Image(Folder.png, 342px, align=center)]] |
| 80 | |
| 81 | パス名にスペースや漢字などを含むと問題になることがあります。 |
| 82 | |
| 83 | 英数字とアンダーバーのみのフォルダ名で構成されたパス名にします。 |
| 84 | |
| 85 | |
| 86 | e2studioを起動し、ワークスペースの場所に展開したフォルダを指定します。 |
| 87 | |
| 88 | [[Image(SelectWorkSpace.png, 318px, align=center)]] |
| 89 | |
| 90 | |
| 91 | 起動直後の「ようこそ」画面 |
| 92 | |
| 93 | [[Image(Welcome.png, 505px, align=center)]] |
| 94 | |
| 95 | |
| 96 | 「ようこそ」ページを閉じます。 |
| 97 | |
| 98 | [[Image(EmptyWorkSpace.png, 505px, align=center)]] |
| 99 | |
| 100 | |
| 101 | メニューから「ファイル」→「インポート」を選択します。 |
| 102 | |
| 103 | [[Image(SelectImport.png, 505px, align=center)]] |
| 104 | |
| 105 | |
| 106 | 「一般」の中にある「既存プロジェクトをワーク・スペースへ」を選択し、「次へ」ボタンを押します。 |
| 107 | |
| 108 | [[Image(ImportProjectToWorkSpace.png, 255px, align=center)]] |
| 109 | |
| 110 | |
| 111 | 「プロジェクトのインポート」画面が表示されます。 |
| 112 | |
| 113 | [[Image(ImportProject.png, 255px, align=center)]] |
| 114 | |
| 115 | |
| 116 | 「ルート・ディレクトリの選択」にソースを展開したフォルダを入力します。 |
| 117 | |
| 118 | 「参照」ボタンを押して、そのまま「OK」ボタンを押せば入力されます。 |
| 119 | |
| 120 | [[Image(SelectRootDirectory.png, 255px, align=center)]] |
| 121 | |
| 122 | |
| 123 | インポートが成功すると下記のように、「プロジェクト・マネージャ」にプロジェクトが表示されます。 |
| 124 | |
| 125 | [[Image(FillProjectWorkSpace.png, 505px, align=center)]] |
| 126 | |
| 127 | === ビルド === |
| 128 | |
| 129 | メニューから「プロジェクト」→「すべてビルド」を選択すると、ビルドが開始されます。 |
| 130 | |
| 131 | [[Image(BuildAll.png, 505px, align=center)]] |
| 132 | |
| 133 | |
| 134 | ビルドが終了すると、「プロジェクト・マネージャ」の「app_iothub_client」の下に「バイナリー」の項目が追加されます。 |
| 135 | |
| 136 | [[Image(BuildComplate.png, 505px, align=center)]] |
| 137 | |
| 138 | |
| 139 | === 書き込み === |
| 140 | |
| 141 | GR-PEACHとPCをUSB接続すると、mbedストレージが表示されます。 |
| 142 | |
| 143 | [[Image(MbedFolder.png, 342px, align=center)]] |
| 144 | |
| 145 | 出力フォルダの「E:\e2studio\azure_iot_hub_arm\app_iothub_client\Debug」にある「app_iothub_client.bin」をmbedストレージにコピーします。 |
| 146 | |
| 147 | [[Image(OutputFolder.png, 342px, align=center)]] |
| 148 | |
| 149 | 時間をかけてプログラムが書き込まれます。 |
| 150 | |
| 151 | [[Image(CopyBinToMbedFolder.png, 225px, align=center)]] |
| 152 | |
| 153 | === デバッグ === |
| 154 | |
| 155 | GR-PEACHとPCをUSB接続し、TeraTermでmbedシリアルポートに接続します。ポーレートは「115,200bps」です。 |
| 156 | |
| 157 | [[Image(SerialPort.png, 191px, align=center)]] |
| 158 | |
| 159 | |
| 160 | 「プロジェクト・マネージャ」の「app_iothub_client」を右クリックし、出てきたメニューから「プロパティ」を選択します。 |
| 161 | |
| 162 | [[Image(ProjectProperty.png, 505px, align=center)]] |
| 163 | |
| 164 | 「OpenOCD Path」画面の「Executable」に「openocd.exe」、「Folder」にopenocd.exeのあるフォルダのパスを入力します。 |
| 165 | |
| 166 | [[Image(OpenOCDPath.png, 430px, align=center)]] |
| 167 | |
| 168 | 「プロジェクト・マネージャ」の「app_iothub_client」の「バイナリー」の下に「app_iothub_client.elf」があるので、それを右クリックします。 |
| 169 | |
| 170 | 出てきたメニューから「デバッグ」→「デバッグの構成」を選択します。 |
| 171 | |
| 172 | [[Image(DebugConfiguration.png, 505px, align=center)]] |
| 173 | |
| 174 | |
| 175 | 「デバッグの構成」画面の「Renesas GDB Hardware Debugging」で右クリックし、「新規」を選択します。 |
| 176 | |
| 177 | [[Image(NewDebugConf.png, 383px, align=center)]] |
| 178 | |
| 179 | |
| 180 | 表示された「メイン」タブの「プロジェクト」が「app_iothub_client」、「C/C++ アプリケーション」が「Debug\app_iothub_client.elf」になっていることを確認します。 |
| 181 | |
| 182 | [[Image(DebugConfMain.png, 430px, align=center)]] |
| 183 | |
| 184 | |
| 185 | 「Debugger」タブでは、「Debug hardware」に「E1(RX)」を選択し、「Target Device」にGR-SAKURAのCPU「R5F63NB」を選択します。 |
| 186 | [[Image(DebugConfDebugger.png, 430px, align=center)]] |
| 187 | |
| 188 | チェックを外す。 |
| 189 | [#startup][[Image(DebugConfStartup.png, 430px, align=center)]] |
| 190 | |
| 191 | |
| 192 | そのほかの画面には変更はありません。 |
| 193 | |
| 194 | [[Image(DebugConfSources.png, 430px, align=center)]] |
| 195 | |
| 196 | [[Image(DebugConfCommon.png, 430px, align=center)]] |
| 197 | |
| 198 | [[Image(DebugConfSVDPath.png, 430px, align=center)]] |
| 199 | |
| 200 | 下にある「デバッグ」ボタンを押すと、プログラムのロードが始まり、「パースペクティブ切り替えの確認」画面が表示されますので、「はい」を押します。 |
| 201 | |
| 202 | |
| 203 | プログラムのロードが終わると「start.S」ファイルで停止しています。 |
| 204 | |
| 205 | [[Image(DebugPerspective.png, 259px, align=center)]] |
| 206 | |
| 207 | 「デバッグ構成」画面の「[=#startup Startup]」タブのスクロールして下にある「再開」チェックボックスにチェックを入れると、停止せず実行されるようになります。 |
| 208 | |
| 209 | |
| 210 | === 実行 === |
| 211 | |
| 212 | 実行するとTeraTermの画面に以下のように表示が出ます。 |
| 213 | |
| 214 | [[Image(DebugStart.png, 505px, align=center)]] |
| 215 | |
| 216 | |
| 217 | 「Enter」キーを入力すると、プロンプト「NTShell」が表示されます。 |
| 218 | |
| 219 | [[Image(TeraTermStart.png, 369px, align=center)]] |
| 220 | |
| 221 | |
| 222 | 試しに「dhcpc renew」+「Enter」を入力すると、コマンド一覧が表示されます。 |
| 223 | |
| 224 | [[Image(TeraTermDhcp.png, 369px, align=center)]] |
| 225 | |
| 226 | |
| 227 | DHCPサーバーからIPアドレスの取得を待ちます。 |
| 228 | |
| 229 | また、証明書の検証には実際の時刻が必要なので、NTPで時刻同期するまで待ちます。 |
| 230 | |
| 231 | 「iothub」+「Enter」で、Azure IoT Hubへメッセージを5つ送信します。 |
| 232 | |
| 233 | [[Image(TeraTermIoTHub.png, 369px, align=center)]] |
| 234 | |
| 235 | |
| 236 | 送られたメッセージを確認するには、[=#following1 上記]サイトの「[https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart-send-telemetry-c#read-the-telemetry-from-your-hub ハブから利用統計情報を読み取る]」の手順で行います。 |
| 237 | |
| 238 | = 謝辞 = |
| 239 | |
| 240 | 日本マイクロソフトの太田様には、Azure IoT Hubの操作や設定、メッセージの確認方法など、詳しく教えて頂きました。ありがとうございました。[[br]] |
| 241 | 日本マイクロソフト株式会社[[br]] |
| 242 | 太田 寛[[br]] |
| 243 | [[Image("data:image/svg+xml;base64,PHN2ZyBpZD0iTG9nb19GSVhFRCIgZGF0YS1uYW1lPSJMb2dvIOKAlCBGSVhFRCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDAwIDQwMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fS5jbHMtMntmaWxsOiMxZGExZjI7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5Ud2l0dGVyX0xvZ29fQmx1ZTwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTE1My42MiwzMDEuNTljOTQuMzQsMCwxNDUuOTQtNzguMTYsMTQ1Ljk0LTE0NS45NCwwLTIuMjIsMC00LjQzLS4xNS02LjYzQTEwNC4zNiwxMDQuMzYsMCwwLDAsMzI1LDEyMi40N2ExMDIuMzgsMTAyLjM4LDAsMCwxLTI5LjQ2LDguMDcsNTEuNDcsNTEuNDcsMCwwLDAsMjIuNTUtMjguMzcsMTAyLjc5LDEwMi43OSwwLDAsMS0zMi41NywxMi40NSw1MS4zNCw1MS4zNCwwLDAsMC04Ny40MSw0Ni43OEExNDUuNjIsMTQ1LjYyLDAsMCwxLDkyLjQsMTA3LjgxYTUxLjMzLDUxLjMzLDAsMCwwLDE1Ljg4LDY4LjQ3QTUwLjkxLDUwLjkxLDAsMCwxLDg1LDE2OS44NmMwLC4yMSwwLC40MywwLC42NWE1MS4zMSw1MS4zMSwwLDAsMCw0MS4xNSw1MC4yOCw1MS4yMSw1MS4yMSwwLDAsMS0yMy4xNi44OCw1MS4zNSw1MS4zNSwwLDAsMCw0Ny45MiwzNS42MiwxMDIuOTIsMTAyLjkyLDAsMCwxLTYzLjcsMjJBMTA0LjQxLDEwNC40MSwwLDAsMSw3NSwyNzguNTVhMTQ1LjIxLDE0NS4yMSwwLDAsMCw3OC42MiwyMyIvPjwvc3ZnPg==", 32px, middle, alt="Twitter", title="Twitter", link=https://twitter.com/embedded_george, target="_blank")]]@embedded_george[[br]] |
| 244 | [[Image("data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhYiIgZGF0YS1pY29uPSJnaXRodWItc3F1YXJlIiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1naXRodWItc3F1YXJlIGZhLXctMTQgZmEtMngiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTI3Ny4zIDQxNS43Yy04LjQgMS41LTExLjUtMy43LTExLjUtOCAwLTUuNC4yLTMzIC4yLTU1LjMgMC0xNS42LTUuMi0yNS41LTExLjMtMzAuNyAzNy00LjEgNzYtOS4yIDc2LTczLjEgMC0xOC4yLTYuNS0yNy4zLTE3LjEtMzkgMS43LTQuMyA3LjQtMjItMS43LTQ1LTEzLjktNC4zLTQ1LjcgMTcuOS00NS43IDE3LjktMTMuMi0zLjctMjcuNS01LjYtNDEuNi01LjYtMTQuMSAwLTI4LjQgMS45LTQxLjYgNS42IDAgMC0zMS44LTIyLjItNDUuNy0xNy45LTkuMSAyMi45LTMuNSA0MC42LTEuNyA0NS0xMC42IDExLjctMTUuNiAyMC44LTE1LjYgMzkgMCA2My42IDM3LjMgNjkgNzQuMyA3My4xLTQuOCA0LjMtOS4xIDExLjctMTAuNiAyMi4zLTkuNSA0LjMtMzMuOCAxMS43LTQ4LjMtMTMuOS05LjEtMTUuOC0yNS41LTE3LjEtMjUuNS0xNy4xLTE2LjItLjItMS4xIDEwLjItMS4xIDEwLjIgMTAuOCA1IDE4LjQgMjQuMiAxOC40IDI0LjIgOS43IDI5LjcgNTYuMSAxOS43IDU2LjEgMTkuNyAwIDEzLjkuMiAzNi41LjIgNDAuNiAwIDQuMy0zIDkuNS0xMS41IDgtNjYtMjIuMS0xMTIuMi04NC45LTExMi4yLTE1OC4zIDAtOTEuOCA3MC4yLTE2MS41IDE2Mi0xNjEuNVMzODggMTY1LjYgMzg4IDI1Ny40Yy4xIDczLjQtNDQuNyAxMzYuMy0xMTAuNyAxNTguM3ptLTk4LjEtNjEuMWMtMS45LjQtMy43LS40LTMuOS0xLjctLjItMS41IDEuMS0yLjggMy0zLjIgMS45LS4yIDMuNy42IDMuOSAxLjkuMyAxLjMtMSAyLjYtMyAzem0tOS41LS45YzAgMS4zLTEuNSAyLjQtMy41IDIuNC0yLjIuMi0zLjctLjktMy43LTIuNCAwLTEuMyAxLjUtMi40IDMuNS0yLjQgMS45LS4yIDMuNy45IDMuNyAyLjR6bS0xMy43LTEuMWMtLjQgMS4zLTIuNCAxLjktNC4xIDEuMy0xLjktLjQtMy4yLTEuOS0yLjgtMy4yLjQtMS4zIDIuNC0xLjkgNC4xLTEuNSAyIC42IDMuMyAyLjEgMi44IDMuNHptLTEyLjMtNS40Yy0uOSAxLjEtMi44LjktNC4zLS42LTEuNS0xLjMtMS45LTMuMi0uOS00LjEuOS0xLjEgMi44LS45IDQuMy42IDEuMyAxLjMgMS44IDMuMy45IDQuMXptLTkuMS05LjFjLS45LjYtMi42IDAtMy43LTEuNXMtMS4xLTMuMiAwLTMuOWMxLjEtLjkgMi44LS4yIDMuNyAxLjMgMS4xIDEuNSAxLjEgMy4zIDAgNC4xem0tNi41LTkuN2MtLjkuOS0yLjQuNC0zLjUtLjYtMS4xLTEuMy0xLjMtMi44LS40LTMuNS45LS45IDIuNC0uNCAzLjUuNiAxLjEgMS4zIDEuMyAyLjguNCAzLjV6bS02LjctNy40Yy0uNC45LTEuNyAxLjEtMi44LjQtMS4zLS42LTEuOS0xLjctMS41LTIuNi40LS42IDEuNS0uOSAyLjgtLjQgMS4zLjcgMS45IDEuOCAxLjUgMi42eiIgY2xhc3M9IiI+PC9wYXRoPjwvc3ZnPg==", 32px, middle, alt="GitHub", title="GitHub", link=https://github.com/ms-iotkithol-jp, target="_blank")]] |
| 245 | ---- |
| 246 | {{{#!div style="text-align: right" |
| 247 | ホームネットワークWG 長島 宏明 |
| 248 | }}} |