次の方法で共有


リリース ノート 18.11、18.11.1、18.11.2

Azure Sphere 18.11 プレビュー リリースには、この記事で説明する変更点、新機能、既知の問題が含まれています。

Note

SDK リリースの番号付けパターンが変更されました。 以前のリリースは 4.2.1 でしたが、今回のリリース以降はリリース年月に従って番号が付けられ、更新プログラムを示す番号が追加されます。 そのため、2018 年 11 月のリリースには 18.11 と付番され、マイナー更新プログラムには 18.11.1 などと付番されます。

18.11 リリースでは、Azure Sphere Security Service とクラウド インフラストラクチャに大幅な変更が加えられました。 これらのセキュリティ強化により、オフラインだったデバイスが再接続できる期間が長くなります。 この変更の結果、OS を 18.11 リリースにアップデートする場合、ソフトウェアを無線 (OTA) で受信する代わりに、デバイスを PC に接続し、手動で OS をインストールする必要があります。 今後のリリースでは、OTA で更新する予定です。

18.11.1 SDK リリースの概要

Azure Sphere 18.11.1 SDK リリースは、18.11 リリースにプライベート イーサネットのサポートを追加しています。 デバイスと開発環境を既に 18.11 に更新している場合は、プライベート イーサネットのサポートを使用する予定がない限り、SDK を 18.11.1 に更新する必要はありません。 18.11.1 SDK に更新するには、 ダウンロードし Visual Studio Marketplace からダウンロードし、ダウンロードからAzure_Sphere_SDK_Preview_for_Visual_Studio.exeを実行してインストールします。 18.11.1 SDK は 18.11 OS リリースで動作します。18.11.1 OS リリースはありません。

18.11.2 OS リリースについて

18.11.2 更新プログラムは、場合によっては Azure Sphere デバイスが Wi-Fi に接続できなくなる問題を解決します。 デバイスと開発環境を 18.11 に既に更新している場合、18.11.2 リリースが OTA で提供されます。 それには Azure Sphere OS のみが含まれており、SDK は含まれません。 18.11 に更新していない場合は、「18.11 リリースをインストールする」の指示に従ってください。18.11 のインストールが完了した後、18.11.2 更新プログラムが OTA で提供されます。

Azure Sphere デバイスで 18.11.2 更新プログラムを確実に受け取るには、デバイスをインターネットに接続してください。 24 時間以内に更新プログラムが配信されるはずです。 更新プログラムをすぐにダウンロードするには、開発ボードのリセット ボタンを押します。 更新された OS のインストールは、10 分以内で完了するはずです。

インストールを確認するには、次のコマンドを実行して、デバイス上のすべてのイメージを一覧表示します。

azsphere device image list-installed --full

イメージの一覧をスクロールし、NW カーネルのイメージ ID が以下と一致することを確認します。

Installed images:
...
--> NW Kernel
   --> Image type:   System software image type 7
   --> Component ID: ec96028b-080b-4ff5-9ef1-b40264a8c652
   --> Image ID:     44ed692e-ce49-4425-9aa6-952b84ce7b32
 ...
Command completed successfully in 00:00:02.0395495.

18.11 リリースをインストールする

すべての Azure Sphere デバイスは、Azure Sphere OS がインストールされた状態で製造元から出荷されています。 通常、デバイスを Wi-Fi に接続すると、最新のバージョンを入手できる場合に無線 (OTA) での OS 更新がトリガーされます。 18.11 リリースでは、Azure Sphere Security Service とクラウド インフラストラクチャが大幅に変更されたため、各デバイスを手動で更新する必要があります。 手動更新の場合、Azure Sphere デバイスを PC に接続し、デバイスの復旧手順を実行してシステム ソフトウェアを置き換える必要があります。

一度も使用したことがない Azure Sphere デバイスがある場合は、「Azure Sphere のインストール」の手順をすべて実行します。 これらの手順を実行すると、デバイスのアプリケーション開発の準備は完了です。 このセクションで説明する手順は無視することができます。

Azure Sphere デバイスが既に要求されている場合は、このリリース ノートの手順に従ってデバイスを復旧し、Wi-Fi に再接続します。 以前に OTA アプリケーションの展開を構成していた場合は、新しいフィードとデバイス グループも作成する必要があります。 既存の TP4.2.1 アプリケーションはこのリリース上で引き続き動作しますが、このドキュメントの「Target API set and Beta APIs」(ターゲット API セットとベータ API) で後述するように、リビルドする場合は変更が必要です。

重要

できるだけ早くリリース 18.11 にアップグレードしてください。 TP 4.2.1 リリースを実行しているデバイスは、デバイスまたはアプリケーション ソフトウェアの OTA 更新プログラムを受信できなくなります。

TP 4.2.1 は 2019 年 1 月 15 日またはそれ以降まで引き続きサポートされます。 少なくとも TP 4.2.1 のサポートが終了する 2 週間までには、「Azure の更新情報」Web サイトにお知らせを投稿する予定です。 それ以降、TP 4.2.1 OS を実行しているデバイスは、Azure IoT ハブに対して認証できなくなります。 TP 4.2.1 のサポートや他の Azure Sphere のニュースについてタイムリーな情報を受け取ることができるように、「Azure の更新情報」のお知らせを購読することを強くお勧めします。  

要求されたデバイスの Azure Sphere OS を更新する

この Azure Sphere デバイスが既に要求されている場合、Azure Sphere OS を更新するには、次の手順を実行します。

  1. Azure Sphere デバイスを USB 経由で PC に接続します。

  2. Azure Sphere 開発者コマンド プロンプトを開き、azsphere コマンドを実行して、インストールされている Azure Sphere SDK Preview for Visual Studio のバージョンを確認します。 ユーティリティからバージョン 18.11.n.n と報告される場合は最新バージョンであるため、次の手順に進むことができます。

    ユーティリティーからバージョン 2.0.n.n と報告される場合は、OS を更新する前に SDK を更新する必要があります。 SDK を更新するには、Visual Studio Marketplace からダウンロードし、ダウンロードからAzure_Sphere_SDK_Preview_for_Visual_Studio.exeを実行して SDK をインストールします。

  3. アプリケーション更新プログラムを無線で配布しないデバイス グループにデバイスを割り当てます。 最も簡単な方法は、使用できるデバイス グループを一覧表示し、"System Software Only" グループを選択することです。

    azsphere device-group list
    
     Listing all device groups.
     --> [ID: cd037ae5-27ca-4a13-9e3b-2a9d87f9d7bd] 'System Software Only'
    Command completed successfully in 00:00:02.0129466.
    

    デバイスを System Software Only グループに移動します。

    azsphere device update-device-group -d cd037ae5-27ca-4a13-9e3b-2a9d87f9d7bd
    
  4. 次のコマンドを実行して、Azure Sphere OS を手動で更新します。

    azsphere device recover
    

    次のような出力が表示されます。

    Starting device recovery. Please note that this may take up to 10 minutes.
    Board found. Sending recovery bootloader.
    Erasing flash.
    Sending images.
    Sending image 1 of 16.
    Sending image 2 of 16.
    . . .
    Sending image 16 of 16.
    Finished writing images; rebooting board.
    Device ID: <GUID>
    Device recovered successfully.
    Command completed successfully in 00:02:37.3011134.
    

更新が成功した場合、azsphere device show-ota-status コマンドから次のような出力が返されます。

azsphere device show-ota-status -v
Your device is running Azure Sphere OS version 18.11.
The Azure Sphere Security Service is targeting this device with Azure Sphere OS version 18.11.
Your device has the expected version of the Azure Sphere OS: 18.11.
Command completed successfully in 00:00:03.2653689.

azsphere device show-ota-status が次のようなメッセージで失敗する場合、デバイスはアプリケーションの OTA 更新を実行するデバイス グループに属しているため、OTA アプリケーションが依存する古い OS フィードを受信しています。

warn: Your device running Azure Sphere OS version 18.11 is being targeted with a deprecated version TP4.2.1. Go to aka.ms/AzureSphereUpgradeGuidance for further advice and support.

この問題を解決するには、手順 3 の説明に従って System Software Only デバイス グループにデバイスを割り当てた後、azsphere device recover コマンドを再度実行します。

デバイスが正常に更新された後、アプリケーション開発用または現場使用用にデバイスをセットアップします。

アプリケーション開発を有効にするには

アプリケーション開発用に設定されているデバイスでは、システム ソフトウェア OTA は受信されますが、アプリケーション ソフトウェア OTA は受信されません。

  1. ローカルでのアプリケーションの開発とデバッグを有効にするには、次のように prep-debug コマンドを使用します。

    azsphere device prep-debug
    

    このコマンドでは、デバイスでのアプリケーション開発が有効にされ、新しい 18.11 プレビュー OS フィードを使用する System Software デバイス グループにデバイスが移動されます。

  2. デバイスで Wi-Fi を構成します。 デバイス復旧手順により、既存の Wi-Fi 構成が削除されます。

現場での使用を有効にするには

現場使用対応に設定されているデバイスでは、アプリケーションを配布するフィードにリンクされている場合は、システム ソフトウェアとアプリケーション ソフトウェアの両方を OTA で受信できます。 以前にデバイスがアプリケーション更新プログラムを OTA で受信していた場合、引き続きそれらを受信するには、デバイスを現場で使用するように設定します。

  1. フィールドを使用するようにデバイスを設定するには、次の形式で prep-field コマンドを実行します。

    azsphere device prep-field --newdevicegroupname <new-group-name>
    

    <new-group-name>をデバイス グループの一意の名前に置き換えます。 このリリースでは依存 OS フィードが変更されたため、新しいデバイス グループが必要です。

  2. 展開するアプリケーションをリビルドします。 こちらで説明されているように、ターゲット API セットを必ず更新してください。

  3. 次のようにして、新しいアプリケーション ソフトウェア フィードにデバイスをリンクします。

    azsphere device link-feed --newfeedname <name-for-new-feed> --dependentfeedid <**replace with new feed id**> --imagepath <image-path>
    

    新しいフィードの一意の名前を指定し、 <image-path> フィードを配信する新しく再構築されたアプリケーション イメージへのパスに置き換えます。 OTA のメカニズムが変更されたため、新しいアプリケーション フィードが必要です。

    重要

    依存フィードとして、フィード ID が 3369f0e1-dedf-49ec-a602-2aa98669fd61 の "Preview MT3620" を指定します。 非推奨になった "Preview MT3620 フィード" (フィード ID edd33e66-9b68-44c8-9d23-eb60f2e5018b) を使用しなでください。また、このフィードに依存している既存のアプリケーション フィードに、デバイスをリンクしないでください。

  4. デバイスで Wi-Fi を構成します。 デバイス復旧手順により、既存の Wi-Fi 構成が削除されます。

18.11 リリース後の TP 4.2.1 デバイスと SDK の動作

TP 4.2.1 OS と TP 4.2.1 SDK の両方を引き続き使用する場合、次のような動作が想定されます。

  • 既存の TP 4.2.1 デバイスは引き続き動作します。 既存のサイドロードされたアプリケーションまたは OTA アプリケーションでは、TP 4.2.1 のサポートが終了するまで (現在、2019 年 1 月 15 日に予定されています)、既存の IoT ハブと引き続き通信できます。

  • TP 4.2.1 デバイスでは、OTA アプリケーションの更新プログラムまたは Azure Sphere OS の更新プログラムを受け取らなくなります。 アプリケーションを OTA で展開または更新しようとしても、何も行われません。

18.11 SDK をインストールした後も、TP 4.2.1 OS を装備したデバイスを引き続き使用した場合、次の動作が発生する可能性があります。

  • TP 4.2.1 リリースが実行されているデバイスで操作を実行するたびに、18.11 SDK で、接続されている Azure Sphere デバイスの更新に関する通知メッセージが表示されます。

このリリースでの新機能と変更

このリリースには、セキュリティ インフラストラクチャへの十分な投資が含まれており、またユーザーのフィードバックがいくつか盛り込まれています。 以下のセクションでは、新機能と変更された機能について説明します。

ターゲット API セットとベータ API

このリリースには、 Beta APIテストと開発が含まれています。 ベータ API はまだ開発中であり、今後のリリースで変更または削除される可能性があります。

運用 API または運用 API とベータ API のいずれかを使用するアプリケーションを開発できるようにするため、この Azure Sphere リリースでは、Visual Studio の [プロジェクト プロパティ][Target API Set]\(ターゲット API セット\) プロパティが追加されています。 ターゲット API セットの値を 1 にすると、運用 API のみが選択されます。値を 1+Beta1811 にすると、現在のリリースに対する運用 API とベータ API の両方が選択されます。

既存の TP 4.2.1 アプリケーションを Visual Studio 用 18.11 Azure Sphere SDK プレビューでリビルドしようとすると、最初は次のエラーで失敗します。

'Target API Set' project property is not set. Open the Project Properties and set this field using the dropdown menu. Ensure that the Configuration selected on that page includes the active build configuration (for example, Debug, Release, All Configurations).

このエラーを修正するには、次のようにします。

  1. Visual Studio で Azure Sphere プロジェクトを開きます。

  2. [ Project メニューの project-name Properties を選択します。

  3. [構成] は必ず [すべての構成] または [アクティブ (<構成名>)] に設定します。

  4. [Target API Set]\(ターゲット API セット\) を選択します。 ドロップダウン メニューで、運用 API を使用するには 1 を選択し、運用 API とベータ API を使用するには 1 + Beta1811 を選択します。

    [プロジェクト プロパティ] ページ

  5. OK をクリックします。

その後は、プロジェクトをリビルドできます。

ベータ API およびターゲット API セットについて詳しくは、ベータ機能に関する記事をご覧ください。

厳密なプロトタイプ チェック

Visual Studio のコンパイラの設定に、厳密なプロトタイプのチェックが既定で含まれるようになりました。 その結果、gcc コンパイラでは、(void) の代わりに空のかっこ () を使用する関数に対し、引数がないことを示す警告が返されます。

既存の Azure Sphere アプリケーションで警告をなくすには、関数のシグネチャを編集して、void を追加します。 たとえば、int foo()int foo(void) に変更します。

Bluetooth 低エネルギー (BLE) を使用する Wi-Fi のセットアップ

このリリースには、Azure Sphere ベースのデバイスでモバイル デバイスを使用して Wi-Fi を構成する方法を示す参照ソリューションが含まれています。 BLE ソリューションには Windows 10 Fall Creators Edition が必要です。このエディションでは、必要な Bluetooth の追加サポートが提供されています。

リアルタイム クロック

ベータ API を使用すると、アプリケーションで内部クロックを設定して使用し、停電時にボタン電池を使用して RTC が時刻を維持し続けられるようにするサポートを利用できます。

重要

MT3620 開発ボードが動作するには、RTC に電力が必要です。 そのためには、J3 のピン 2 と 3 に対するジャンパー、またはボタン電池と J3 のピン 1 と 2 に対するジャンパーが必要です。 詳しくは、「電源装置」をご覧ください。

変更可能ストレージ

ベータ API では、永続的な読み取り/書き込みデータの格納用に、最大 64 K にアクセスできます。

プライベート イーサネット

シリアル周辺機器インターフェイス (SPI) でマイクロチップ イーサネット パーツを使用して、Azure Sphere をプライベート イーサネットに接続できます。 この機能により、A7 チップで実行するアプリケーションでは、標準の TCP または UDP ネットワーク経由だけでなく、Wi-Fi 経由のインターネットを介した通信によって、プライベート 10 Mbps ネットワーク上のデバイスと通信できます。

外部 MCU の更新

アプリケーションで追加接続された MCU のファームウェアを更新する方法が、参照ソリューションで示されています。

ソフトウェア更新の機能強化

Azure Sphere セキュリティ サービスでは、有効期限の切れたルート証明書がシームレスに処理されるようになり、断続的に接続されるデバイス、または長期間切断されているデバイスでも、常に Azure Sphere に接続して安全に更新できます。

ping コマンド

これまで、ping コマンドでは USB 接続経由で Azure Sphere デバイスに接続できましたが、このサポートされていない機能は削除されました。 デバイスの接続性を確認するには、azsphere device show-attached コマンドを使用してください。

既知の問題

このセクションでは、現在のリリースでの既知の問題の一覧を示します。

feed list コマンドが失敗する

18.11 のリリース後、TP 4.2.1 SDK からの azsphere feed list コマンドは、次のメッセージで失敗します。

azsphere feed list
Listing all feeds.
error: Invalid argument provided.
error: Command failed in 00:00:01.2002890.

このエラーの原因は、18.11 リリースで新しいフィードの種類が追加されたことです。 このエラーを回避するには、Azure Sphere デバイスの OS と SDK を、18.11 リリースに更新してください。

パス内の非 ASCII 文字

Azure Sphere ツールでは、パスでの非 ASCII 文字はサポートされていません。

開発言語

Azure Sphere SDK は、C でのアプリケーション開発のみをサポートしています。

Azure Sphere プロジェクトに C++ ソース ファイルを追加する場合、現在、Visual Studio 統合開発環境 (IDE) ではエラーが生成されません。 ただし、C++ での開発はサポートされていないため、結果のプロジェクトは正しくビルドされません。