IoT デバイスにデバイス コードをデプロイする方法
ここまでで、Azure IoT Workbench 拡張機能を使用して、クラウドで関数のコードを確認し、コンパイルし、デプロイしました。 このユニットでは、IoT Devkit にデバイス コードを実装する方法について説明します。 デバイス コードをデプロイする前に、IoT Devkit への接続文字列を構成する必要があります。
IoT Hub にデバイスを登録済みであることから、接続文字列は Visual Studio Code によって自動的に取得されます。 これはご利用の開発環境にローカルに保存され、デバイスに送り返されます。
このユニットで使用されるコンポーネントは次のとおりです。
デバイス接続文字列: デバイスからクラウドへのメッセージを送信し、クラウドからデバイスへのメッセージまたは応答ダイレクト メソッドを受信するためにデバイスによって使用されます。 接続文字列を構成することによって、IoT Devkit をクラウドと通信させることができます。
デバイス コード: デバイス コードは、プロジェクト サンプルの Device フォルダーにあり、DevKitTranslator.ino と呼ばれる 1 つのファイルが含まれています。 このファイルは、ファームウェアの Arduino スケッチ ファイルです。 Arduino コードには、setup と loop という 2 つの関数があります。 このプロジェクトの setup 関数は、デバイスの起動時に 1 回呼び出されます。 これによって、デバイスの初期化、WiFi への接続、IoT Hub への接続が行われます。 その後、loop 関数が繰り返し呼び出され、ソリューションに必要なすべての処理が実行されます。 loop 関数には、このプロジェクト用の switch-case 構造体が用意されています。 これには、コード ファイルに記述されている次の関数が含まれています。
DoIdle()
DoRecording()
DoRecorded()
DoWavReady()
DoUploader()
DoSelectLanguage()
次の手順を行います。
- IoT Devkit への接続文字列を構成する
- IoT Devkit にコードをアップロードする
- プロジェクトをテストする
ユニットの最後に、デバイス コードはコンパイルされ、IoT デバイスにアップロードされます。 これで、ご利用の IoT デバイスで動作する翻訳アプリが作成され、Azure 内でホストされるようになります。 デバイスによって音声が記録されます。 IoT Hub では、デバイスからメッセージを受信するたびに、Cognitive Service API が使用されます。 HTTP トリガーは、その関数 URL で HTTP 要求を受け取ると、Azure 関数を実行します。 HTTP トリガーを使用すると、データを取得して、呼び出し元にデータを戻すことができます。