Aprender juntos Azure Esfera (3) - El desarrollo local y la depuración de programa avanzado, después de subir la imagen para desplegar la nube al dispositivo

En este artículo usted aprenderá:

Caso: control de llamadas GPIO del estroboscópico

El desarrollo local y depuración -> Publicar en la nube -> desplegado desde la nube al dispositivo

En primer lugar, el desarrollo y la depuración de código VS ejemplos de aplicaciones avanzadas Azure Esfera

       Este procedimiento llama a la GPIO de control estroboscópico LED

En segundo lugar, desplegado desde la nube

       Crear un producto;

       Configurar el dispositivo como un "aplicaciones basadas en la nube para aceptar actualizaciones";

       Crear una implantación;

       el despliegue de disparo;

       Vuelva a configurar el dispositivo para "habilitar la depuración";

 

Video Tutorial:

Puede ver un video explicando la estación B: https://www.bilibili.com/video/av98276348/

O en el sitio para ver:

 

Foto explicación:

 

 

En primer lugar, el desarrollo y la depuración de código VS ejemplos de aplicaciones avanzadas Azure Esfera

En referencia a la documentación oficial de Microsoft:

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

Código de ejemplo utilizado:

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

 

1. Comenzar Código y Visual Studio, abra la carpeta de Azure Esfera HelloWorld_HighLevelApp ejemplo repositorio.  No abra la carpeta de nivel superior.  Código VS sólo una vez para generar una solución.  Si el Código VS mostrar un cuadro de diálogo que indica CMake equipos no disponibles, seleccione  Do not use a kit. 

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

2. modificar el código de ejemplo fichero de configuración:

  • Abrir .vscode / settings.json.

  • variable de actualización AZURE_SPHERE_TARGET_HARDWARE_DEFINITION_DIRECTORY CMake para que apunte a la definición del dispositivo de hardware de destino que contiene un directorio.  Microsoft proporciona una definición del hardware de destino en los ejemplos catálogo de hardware Azure ámbito de las bóvedas.  Por ejemplo: <path-to-cloned-samples>/Hardware/mt3620_rdb

  • Garantizar AZURE_SPHERE_TARGET_HARDWARE_DEFINITION CMake variable apunta a la definición del directorio de archivos JSON hardware de destino.  Para la aplicación de la muestra, por favor utilice  sample_hardware.json.

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

 

3. Presione F5 para depurar el proyecto.  Si no se genera el proyecto antes, o si el archivo ha cambiado y necesita ser regenerado, el Código VS construirá el proyecto antes de comenzar la depuración.

4. Espere unos minutos para código de Visual Studio compilar una aplicación, crear un paquete de imagen, desplegarlo a la placa y comenzar en modo de depuración.

5. Después de un breve retraso, debería ver el LED parpadea.

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

6. Conjunto de main.c un lugar en los puntos de interrupción y paso a través de la aplicación para que pueda navegar por VSCode funciones de depuración de Azure Esfera.

 

En segundo lugar, desplegado desde la nube

 1. Crear los productos

Incorporado en el dispositivo de identificación de producto conectado a Azure Esfera realizar funciones específicas MCU.  Como fabricante, puede crear un producto para cada tipo de dispositivo conectado (por ejemplo, una máquina lavavajillas o café).  Cada producto tiene un GUID único en inquilinos y no puede ser cambiado.

Cada dispositivo de conexión tiene un solo producto, pero un solo producto puede estar asociado con múltiples dispositivos.  Cada producto debe tener un nombre único y una descripción de los inquilinos.  Nombre del producto y descrito con el fin de distinguir una forma legible por el usuario con otros productos.  Puede modificar el nombre y la descripción del producto.

azsphere producto crear --name MyProduct --description "Mi Primer producto"

 

Este comando creará automáticamente un grupo de dispositivos predeterminado para este nuevo producto:

  • Desarrollo (Desarrollo) : Grupo objetivos de desarrollo para los desarrolladores durante el desarrollo junto a cargar la aplicación para su uso.  Por defecto, este grupo recibe aparato de origen OS al por menor; actualización de la aplicación está desactivado.  Para la prueba de diferentes versiones del sistema operativo, puede cambiar el grupo de sistema operativo por defecto.

  • Las pruebas de campo (Field, el Test) : conjunto de pruebas de campo es para uso en laboratorio o pruebas de campo desarrolladores en el equipo de prueba.  Por defecto, este grupo que recibió aparato de sistema operativo de código menor y todas las actualizaciones de la aplicación.

  • Producción (de producción) : Grupo de producción para el equipo de producción.  Por defecto, este grupo que recibió aparato de sistema operativo de código menor y todas las actualizaciones de la aplicación.  Esto se aplica a un conjunto particular de equipo de producción.

  • evaluación de la prueba de campo del sistema operativo (OS campo, la evaluación de prueba) : Prueba de equipo OS evaluación de campo está previsto para las pruebas de laboratorio o de campo para verificar el nuevo Azure Esfera sistema operativo y las aplicaciones en el dispositivo es compatible con los desarrolladores.  De manera predeterminada, el dispositivo de origen recibe la evaluación OS al por menor de este grupo y todas las actualizaciones de la aplicación.

  • Producción evaluar OS (sistema operativo Evaluación de la producción) : La evaluación está destinada a la producción de OS verificar el nuevo Azure Esfera sistema operativo y las aplicaciones de productividad son compatibles.  De manera predeterminada, el dispositivo de origen recibe la evaluación OS al por menor de este grupo y todas las actualizaciones de la aplicación.

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

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

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

img-fbc4385b-a066-4644-B-492-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. 重新配置设备为“启用调试”;

 

En este punto, si se utiliza F5 para depurar en el Código VS al aire libre, será el siguiente error, ya que el grupo "Archivado de prueba" no está en la depuración que el depurador no se puede iniciar desde el equipo local de Windows, por defecto, el dispositivo recibe este grupo sistema operativo de código menor y todas las actualizaciones de la aplicación.

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

Si desea iniciar la depuración, es necesario volver a "desarrollar grupo de dispositivos", ejecute el siguiente comando:

azsphere dispositivo permite el desarrollo

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

 


Supongo que te gusta

Origin blog.51cto.com/10117438/2480976
Recomendado
Clasificación