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()

次の手順を行います。

  1. IoT Devkit への接続文字列を構成する
  2. IoT Devkit にコードをアップロードする
  3. プロジェクトをテストする

ユニットの最後に、デバイス コードはコンパイルされ、IoT デバイスにアップロードされます。 これで、ご利用の IoT デバイスで動作する翻訳アプリが作成され、Azure 内でホストされるようになります。 デバイスによって音声が記録されます。 IoT Hub では、デバイスからメッセージを受信するたびに、Cognitive Service API が使用されます。 HTTP トリガーは、その関数 URL で HTTP 要求を受け取ると、Azure 関数を実行します。 HTTP トリガーを使用すると、データを取得して、呼び出し元にデータを戻すことができます。