クイック スタート:無線でアプリケーションをデプロイするQuickstart: Deploy an application over the air

このクイック スタートでは、初めての無線 (OTA) のアプリケーション デプロイを作成する方法を示します。This quickstart shows how to create your first over-the-air (OTA) application deployment. OTA デプロイでは、フィードの対象となる最小在庫管理単位 (SKU) と一致するデバイス グループ内のデバイスに、フィード経由でアプリケーションを配信します。OTA deployment delivers an application through a feed to the devices in a device group that match the target stock-keeping unit (SKU) for the feed.

前提条件Prerequisites

このクイック スタートの手順では、以下を前提とします。The steps in this quickstart assume that:

OTA デプロイ用のデバイスを準備するPrepare your device for OTA deployment

OTA デプロイ プロセスをテストする前に、お使いの Azure Sphere デバイスでは、OTA アプリケーションの更新プログラムを許可する準備ができている必要があります。Before you test the OTA deployment process, your Azure Sphere device must be ready to accept OTA application updates. 実際には、デバイスを "ロック" して OTA 更新プログラムを有効にします。これが、顧客サイトで動作する仕組みです。In effect, you "lock" the device and enable OTA updates, which is how it will operate at a customer site. azsphere device prep-field コマンドは、これを行うための最も簡単な方法です。The azsphere device prep-field command is the simplest way to do this. このコマンドは、次の操作を行います。This command:

  • OTA アプリケーションだけがロードできるように、Visual Studio はデバイス上にアプリケーションをロードする機能を無効にするDisables the ability for Visual Studio to load applications onto the device, so that only OTA applications can be loaded
  • 新しい製品 SKU をデバイスに割り当てるAssigns a new product SKU to the device
  • OTA アプリケーションの更新プログラムを有効にする新しいデバイス グループにデバイスを割り当てるAssigns the device to a new device group that enables OTA application updates

azsphere device prep-field コマンドは、お使いの PC に接続されているデバイス上で機能します。The azsphere device prep-field command works on the device that is connected to your PC. その形式は、次のとおりです。It has the following form:

azsphere device prep-field --newdevicegroupname <unique-dg-name> --newskuname <unique-sku-name>

--newdevicegroupname フラグは、コマンドが作成する新しいデバイス グループの名前を指定します。The --newdevicegroupname flag specifies a name for the new device group that the command creates. デバイス グループについては、こちらを参照してください。Learn about device groups here. このコマンドで作成されたすべてのデバイス グループは、自動 OTA アプリケーションの更新プログラムをサポートします。All device groups created by this command support automatic OTA application updates. お使いの Azure Sphere テナント内のデバイス グループ名の中で一意になる、わかりやすい名前を指定します。Supply a descriptive name that is unique among the device group names in your Azure Sphere tenant.

--newskuname フラグは、コマンドが作成する新しい製品 SKU の名前を指定します。The --newskuname flag specifies a name for the new product SKU that the command creates. 製品 SKU は、Azure Sphere チップを含む接続されたデバイスのモデルを識別します。A product SKU identifies a model of the connected device that contains an Azure Sphere chip. Azure Sphere テナントの各 SKU は、一意の名前にする必要があります。Each SKU in an Azure Sphere tenant must have a unique name.

Azure Sphere Security Service は、デバイス グループと SKU を使用して、デバイス上のアプリケーションを更新するかどうかを判断します。The Azure Sphere Security Service uses the device group and the SKU to determine whether to update the application on a device.

ヒント

"この文字列" のように、二重引用符で空白を含む任意の文字列を囲みます。Enclose any strings that include spaces in double quotation marks, like "this string".

たとえば、次のコマンドは、OTA アプリケーションの更新プログラムを有効にして、これに接続デバイスを割り当てる FieldGroupOTA という名前の新しいデバイス グループを作成します。For example, the following command creates a new device group named FieldGroupOTA that enables OTA application updates and assigns the attached device to it. また、FieldProductSKU という名前の新しい製品 SKU を作成して、その SKU をデバイスに割り当てます。It also creates a new product SKU named FieldProductSKU and assigns that SKU to the device.

azsphere device prep-field --newdevicegroupname ota-test-3 --newskuname test-sku-3

Removing applications from device.
Component '68c95ce8-e06c-4713-95f2-00cc1861a996' deleted or was not present beforehand.
Removing debugging server from device.
Component '8548b129-b16f-4f84-8dbe-d2c847862e78' deleted or was not present beforehand.
Successfully removed applications from device.
Locking device.
Downloading device capability configuration for device ID <deviceID>.
Successfully downloaded device capability configuration.
Applying device capability configuration to device.
Successfully applied device capability configuration to device.
The device is rebooting.
Successfully locked device.
Creating a new device group with name 'ota-test-3'.
Setting device group ID 'fee1a5fe-59a3-44fc-8fc1-ab6848e09490' for device with ID <deviceID>.
Creating a new SKU with name 'test-sku-3'.
Setting product SKU to 'ae7927d0-1cbd-4e87-995a-495964e7facf' for device with ID <deviceID>.
Successfully set up device <deviceID> for OTA loading.
Command completed successfully in 00:00:15.5644027.

現場で使用するデバイスを準備するたびに、毎回、新しいデバイス グループと SKU を作成する必要はありません。You aren't required to create a new device group and SKU every time you prepare a device for field use. 通常は、製品モデルごとに 1 つの SKU と、共に更新するデバイスのコレクションごとに 1 つのデバイス グループを作成します。Typically, you would create one SKU for each product model, and one device group for each collection of devices that you want to update together. 詳細については、「準備フィールド」を参照してください。For additional details, see prep-field.

デプロイの次の手順は、テンプレートからビルドする高度な Blink サンプルを配信するフィードに、お使いのデバイスをリンクすることです。The next step in deployment is to link your device to a feed that delivers the high-level Blink sample that you build from the template. 以下を指定する必要があります。You must supply:

  • アプリケーションが依存している Azure Sphere OS フィードの IDThe ID of Azure Sphere OS feed on which the application depends
  • Visual Studio が HelloWorld アプリケーション用に作成したイメージのパッケージ ファイルへのパスThe path to the image package file that Visual Studio created for the HelloWorld application
  • アプリケーションを配信するフィードの名前A name for the feed that will deliver the application

フィードにリンクするにはTo link to a feed

  1. Azure Sphere OS を配信する Retail Azure Sphere フィードのフィード ID を取得します。Get the feed ID for the Retail Azure Sphere feed, which delivers the Azure Sphere OS. 表示されるフィードは、この例とは異なる場合があります。The feeds that you see might differ from those in the example.

    azsphere feed list
    
    Listing all feeds.
    Retrieved feeds:
    --> [3369f0e1-dedf-49ec-a602-2aa98669fd61] 'Retail Azure Sphere OS'
    --> [82bacf85-990d-4023-91c5-c6694a9fa5b4] 'Retail Evaluation Azure Sphere OS'
    Command completed successfully in 00:00:03.0017019.
    

    次の手順で使用する Retail Azure Sphere OS フィードの ID をコピーします。Copy the ID for the Retail Azure Sphere OS feed to use in the next step.

  2. azsphere device link-feed コマンドを発行してフィードを作成し、「クイック スタート: Blink サンプル アプリケーションをビルドする」で作成した Blink イメージ パッケージにフィードを関連付けます。Issue the azsphere device link-feed command to create a feed and associate it with the Blink image package that you created in Quickstart: Build the Blink application.

    azsphere device link-feed --dependentfeedid 3369f0e1-dedf-49ec-a602-2aa98669fd61 --imagepath <path-to-image> --newfeedname <unique-name>
    

    --dependentfeedid フラグは、Retail フィードの ID を指定します。The --dependentfeedid flag supplies the ID of the Retail feed.

    --imagepath フラグは、Blink アプリケーション用のイメージ パッケージ ファイルへのパスを指定します。The --imagepath flag provides the path to the image package file for the Blink application. クイック スタート: Blink サンプル アプリケーションをビルドする」に示されているように、イメージ ファイルへの完全なパスは、Visual Studio ビルド出力ウィンドウに表示されます。As noted in Quickstart: Build the Blink application, the full path to the image file is displayed in the Visual Studio Build Output window. azsphere device link-feed コマンドは、イメージのパッケージ ファイルを Azure Sphere Security Service にアップロードして、一意の名前を持つイメージ セットを作成します。The azsphere device link-feed command uploads the image package file to the Azure Sphere Security Service and creates an image set with a unique name.

    --newfeedname フラグは、コマンドが作成するフィードの名前を指定します。The --newfeedname flag provides a name for the feed that the command creates. フィードの名前は、Azure Sphere テナント内で一意にする必要があるため、このフィードを他のフィードと区別する名前を指定する必要があります。Feed names must be unique in an Azure Sphere tenant, so specify a name that distinguishes this feed from any others.

    例:For example:

    azsphere device link-feed --dependentfeedid 3369f0e1-dedf-49ec-a602-2aa98669fd61 --imagepath "C:\Users\user\Documents\Visual Studio 2017\Projects\AzureSphereBlink3\AzureSphereBlink3\bin\ARM\Debug\AzureSphereBlink3.imagepackage" --newfeedname blink-feed-test-3

    Getting the details for device with ID <deviceID>.
    Uploading image from file 'C:\Users\user\Documents\Visual Studio 2017\Projects\AzureSphereBlink3\AzureSphereBlink3\bin\ARM\Debug\AzureSphereBlink3.imagepackage':
     --> Image ID:       5fae38c5-48ee-4934-96b0-445b4f3e68fa
     --> Component ID:   68c95ce8-e06c-4713-95f2-00cc1861a996
     --> Component name: 'AzureSphereBlink3'
    Removing temporary state for uploaded image.
    Create a new feed with name 'blink-feed-test-3'.
    Adding feed with ID '21b69146-2d6d-4aec-b626-e70b6a19dc2c' to device group with ID 'fee1a5fe-59a3-44fc-8fc1-ab6848e09490'.
    Creating new image set with name 'ImageSet-AzureSphereBlink3-2019.05.07-18.30.00-07:00' for images with these IDs: 5fae38c5-48ee-4934-96b0-445b4f3e68fa.
    Adding image set with ID '607a5a24-c648-40c5-b496-6c5338a263fd' to feed with ID '21b69146-2d6d-4aec-b626-e70b6a19dc2c'.
    Successfully linked device <deviceID> to feed with ID '21b69146-2d6d-4aec-b626-e70b6a19dc2c'.
    Command completed successfully in 00:00:33.3283634.   
    

    このコマンドでは、接続デバイスが属するデバイス グループ (つまり、このクイックスタートで既に作成した ota-test-2 グループ) にリンクされるフィードを作成します。This command creates a feed that is linked to the device group to which the attached device belongs—that is, the ota-test-2 group created earlier in this quickstart. 製品 SKU が test-sku-3 になっているグループ内のすべての Azure Sphere デバイスに、AzureSphereBlink3 アプリケーションを配信します。It will deliver the AzureSphereBlink3 application to all Azure Sphere devices in the group whose product SKU is test-sku-3.

デプロイのトリガーTrigger the deployment

ここまでの手順で、必要なすべてのデプロイ要素を設定しました。The previous steps set up all the required deployment elements. ダウンロードを直ちにトリガーするには、Azure Sphere デバイスの [リセット] ボタンを押します。To trigger the download immediately, press the Reset button on the Azure Sphere device. アプリケーションが数分以内にダウンロードされて起動し、LED の点滅が開始されたことを確認できます。The application should download and start within several minutes, and you should see the LED start to blink.

お使いのデバイスにアプリケーションがインストールされたことを確認するには、次の手順を実行します。To verify that the application was installed on your device:

azsphere device image list-installed

デバッグの有効化Enable debugging

アプリケーションの開発とテストを継続すると、より広範囲にデプロイする準備ができるまで、アプリケーションのロードには Visual Studio を使用したいと考えるでしょう。As you continue to develop and test applications, you will probably want to use Visual Studio to load them until you're ready to deploy them more broadly. device prep-field コマンドを置き換えて、デプロイとデバッグのためにデバイスを有効にするには、アプリケーションをビルドしたときと同様に device prep-debug を使用します。To reverse the device prep-field command and enable the device for development and debugging, use device prep-debug, as you did when you built the application:

azsphere device prep-debug

このコマンドは、次の操作を行います。This command:

  • OTA アプリケーションの更新プログラムを無効にするデバイス グループにデバイスを移動するMoves the device to a device group that disables OTA application updates
  • デバッグ用の Visual Studio からのアプリケーションを許可するデバイスの機能を有効にするEnables the device capability to accept applications from Visual Studio for debugging

次の手順Next steps