Azureの球を一緒に学ぶ(3) - ローカル開発と画像をアップロードした後、高度なプログラムをデバッグすると、デバイスへのクラウドを展開します

この記事では、学びます。

ケース:コールGPIO制御LEDストロボ

クラウドからデバイスに展開> - ローカル開発とデバッグ - >クラウドに公開

まず、VSコード開発によると、高度な応用例Azureの球をデバッグ

       この手順では、LEDのストロボ制御を呼び出し、GPIO

第二に、クラウドから展開

       製品を作成します。

       「アップデートを受け入れるために、クラウド・ベースのアプリケーション」などのデバイスを設定します。

       展開を作成します。

       トリガー展開。

       「デバッグ有効にする」に再設定デバイス;

 

ビデオチュートリアル:

あなたはB駅を説明するビデオを見ることができます。https://www.bilibili.com/video/av98276348/

またはサイトで見て:

 

写真の説明:

 

 

まず、VSコード開発によると、高度な応用例Azureの球をデバッグ

Microsoftの公式ドキュメントを参照します:

https://docs.microsoft.com/zh-cn/azure-sphere/install/qs-blink-vscode

サンプルコードを使用しました:

https://github.com/Azure/azure-sphere-samples

 

1. Visual StudioのコードとAzureの球HelloWorld_HighLevelApp例リポジトリからフォルダを開きます。 上位レベルのフォルダを開けないでください。 VSコードは一度だけのソリューションを生成します。 VSコードはCMakeの利用できないキットを示すダイアログを表示する場合は、選択  Do not use a kit 

IMG-f313f8e3-ddf8-464c-8139-b4954074b9d8.png

2.設定ファイルのサンプル・コードを変更します。

  • オープン.vscode / settings.json。

  • 更新AZURE_SPHERE_TARGET_HARDWARE_DEFINITION_DIRECTORY CMakeの変数には、ディレクトリが含まれているターゲットハードウェアデバイスの定義を指すようにします。 マイクロソフトは、金庫のハードウェアカタログAzureの球の例では、ターゲットハードウェアの定義を提供します。 例えば: <path-to-cloned-samples>/Hardware/mt3620_rdb

  • ターゲットハードウェアJSONファイル・ディレクトリの定義にAZURE_SPHERE_TARGET_HARDWARE_DEFINITION CMakeの変数のポイントを確認してください。 サンプルアプリケーションでは、使用してください  sample_hardware.json

IMG-c285c8b7-779e-4d70-890a-b0106b70ef7a.png

 

3. F5キーを押してプロジェクトをデバッグします。 あなたが前にプロジェクトをビルドしていない場合、またはファイルが変更されているとニーズを再生成する場合は、デバッグを開始する前に、VSのコードは、プロジェクトをビルドします。

、イメージパッケージを作成し、アプリケーションをコンパイルするVisual Studioのコードのために数分を待って、プレートに展開し、デバッグモードで起動4。

5.短い遅延の後、LEDが点滅を参照すべきです。

IMG-c63904c1-6032-4345-81fc-c0966850bdf4.png

main.cの中に6セットのアプリケーションを介してブレークポイントやステップで場所あなたがAzureの球の機能をデバッグVSCodeを閲覧することができますので。

 

第二に、クラウドから展開

 製品の作成1.

アズール球に接続された製品識別装置に組み込まれ、特定の機能MCUを実行します。 メーカーとしては、(例えば食器洗浄機やコーヒーマシンのような)接続されたデバイスの各タイプの製品を作成することができます。 各製品は、テナント内で一意のGUIDを持っており、変更することはできません。

各接続装置は、単一の製品を有するが、単一の製品は、複数のデバイスに関連付けることができます。 各製品には、固有の名前、およびテナントの記述を持っている必要があります。 製品名や他の製品とユーザが読める形を区別するために説明。 あなたは、製品の名前と説明を変更することができます。

azsphere製品は--name MYPRODUCT --description「私の最初の製品」を作成します

 

このコマンドは、自動的にこの新製品のデフォルトのデバイスグループを作成します。

  • 開発(開発):開発中の開発者向けの開発グループの目的は次の使用にアプリケーションをロードします。 デフォルトでは、このグループは、装置の小売OSのソースを受信するステップと、アプリケーションの更新が無効になっています。 異なるOSのバージョンをテストするために、デフォルトのOSグループを変更することができます。

  • フィールドテスト(フィールド、試験):フィールド・テスト・セットは、テスト機器における実験室またはフィールド試験開発における使用のために意図されています。 デフォルトでは、このグループは、装置の小売ソースOSおよびすべてのアプリケーションの更新を受けました。

  • プロダクション(制作者):製造装置の生産グループ。 デフォルトでは、このグループは、装置の小売ソースOSおよびすべてのアプリケーションの更新を受けました。 これは、生産設備の特定のセットに適用されます。

  • OS(OSフィールド、試験評価)のフィールド試験評価:フィールド試験評価チームOSがデバイス上に新しいアズール球OSとアプリケーションを検証するために実験室またはフィールド試験のために意図され、開発者と互換性があります。 デフォルトでは、ソース機器は、このグループとすべてのアプリケーションのアップデートの小売OSの評価を受けます。

  • 生産は、OS(OSプロダクションの評価)を評価:評価は、新しいAzureの球OSを確認するOSの生産のために意図されており、生産性アプリケーションには互換性があります。 デフォルトでは、ソース機器は、このグループとすべてのアプリケーションのアップデートの小売OSの評価を受けます。

其中,开发设备组会禁用基于云的更新。 其他组支持基于云的更新。

产品名称在租户中必须唯一,并且不区分大小写。 如果名称包含空格,则在命令中将其用双引号括起来。

如下图,生成了5个设备组:

IMG-fbc4385b-a066-4644-b492-bdfb1a1320dd.png

 

2.配置设备为“接受基于云的应用程序更新”

之前的步骤中,设备处于“开发状态”,开发状态的设备无法从云端接收更新,所以,此时需要先将设备配置为“接受基于云的应用程序更新”。

使用 azsphere device enable-cloud-test 准备设备 :

azsphere device enable-cloud-test --productname "MyProduct"

 

此命令:

  • 禁用 SDK 将应用程序加载到设备上的功能,以便只能加载基于云的应用程序

  • 根据需要将设备分配给产品

  • 将设备分配到启用基于云的应用程序更新的设备组 如果未指定设备组,则会将设备分配给其产品的默认“现场测试(Field Test)”设备组。

Azure Sphere 安全服务使用设备组和产品来确定是否在设备上更新应用程序

IMG-4ea65de4-2b14-4c5d-a1e3-6a5299c9cc89.png

 

此时可以通过如下命令查询Field Test group 的信息:

azsphere device-group show --devicegroupid “Field Group ID”
其中Field Group ID 在创建Product后显示过

IMG-7d657b78-9da3-414f-8a33-37e41fd02e8b.png

 

3.上传映像并创建部署

此步骤可以通过一个命令执行,也可以分部执行,

本文中,分布执行,1. 上传;2. 创建部署

1.上传:

azsphere image add --filepath Path\HelloWorld_HighLevelApp.imagepackage --temporary

本例中Path见下图所示:

参数 说明
-t, --temporary 将映像包标记为临时。 此参数适合在生产过程中使用。

 

IMG-f6158c94-d785-4e2e-aef2-117db28c77c3.png

2.部署规定了某个产品的某个产品组部署某个映像。

 azsphere device-group deployment create 命令将创建部署 。

有如下两种方案:本例中选择第二种方案,其中 imageid为 上一步 上传映像后返回值中的Image ID:

azsphere device-group deployment create --devicegroupname "Field Test" --productname MyProduct --filepath c:\temp\blink.imagepackage

 

azsphere device-group deployment create --devicegroupname "Field Test" --productname MyProduct --imageid  "例1bd8f03f-297e-43ab-819b-d2b0d05d0230"注意,映像ID 不带引号

IMG-293b6f4a-5d85-4f59-a0ed-363fa59f10db.png

 

  4. 触发部署

若要立即触发下载,请在 Azure Sphere 设备上按“重置”按钮 。 应用程序应在几分钟内下载并启动,然后应看到 LED 开始闪烁。

可通过如下命令查看部署结果:

azsphere device show-deployment-status

IMG-42579116-0c20-46ea-9954-a18f4b579729.png

 

 

5. 重新配置设备为“启用调试”;

 

あなたがオープンにVSのコードでデバッグにF5を使用する場合は、この時点で、次のエラーが「提出されたテスト」グループは、デバッガは、デフォルトでは、ローカルのWindowsコンピュータから起動することができないことのデバッグ上にないため、デバイスはこのグループを受け、報告されます小売ソースOSおよびすべてのアプリケーションの更新。

IMG-4eaa8d1f-2497-4d22-855b-01c8c1d76d89.png

あなたがデバッグを開始したい場合は、以下のコマンドを実行し、「デバイスグループの開発」に切り替える必要があります。

azsphereデバイスがイネーブルの開発を

IMG-d69c6eab-df6b-4be0-8ab5-0e6f8f67dde7.png

 


おすすめ

転載: blog.51cto.com/10117438/2480976