Creación de aplicaciones de alto nivel
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
La manera más fácil de crear una nueva aplicación de alto nivel es empezar con la plantilla En blanco de la extensión de Azure Sphere de Visual Studio Code y ajustar la configuración al proyecto siguiendo estos pasos:
Inicie Visual Studio Code. Seleccione Ver>paleta de comandos y escriba Azure Sphere: Generar nuevo proyecto.
Elija HL En blanco en el menú Plantillas.
Después, Visual Studio Code muestra una ventana de Explorador de archivos. Vaya a la carpeta donde desea colocar la aplicación En blanco y especifique un nombre para el proyecto, por ejemplo, NewHLApp. Visual Studio Code crea la carpeta NewHLApp en la ubicación seleccionada y genera los archivos de compilación para la aplicación en blanco. Deberían aparecer mensajes de CMake.
Abra el archivo CMakeLists.txt y especifique la carpeta que contiene definiciones para el hardware que usa. De forma predeterminada, la aplicación HL Blank no contiene definiciones de hardware. Puede encontrar definiciones de hardware de ejemplo en el repositorio ejemplos de Azure Sphere o crear una como se describe en Definiciones de hardware.
A continuación se muestra cómo agregar las definiciones de hardware de ejemplo para el Kit de desarrollo mt3620 de Seeed Azure Sphere:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Esta línea debe insertarse antes de que el comando final comience
azsphere_target_add_image_package
.
También puede crear una nueva aplicación de alto nivel desde cualquiera de los ejemplos de Azure Sphere de alto nivel:
Clone el repositorio de ejemplos si aún no lo ha hecho. Copie una de las carpetas de aplicaciones de alto nivel y cámbiela por el proyecto.
En el archivo CMakeLists.txt, cambie el nombre del proyecto al nombre de la nueva carpeta. Por ejemplo:
PROJECT(NewHLApp C)
La manera más fácil de crear una nueva aplicación de alto nivel es empezar con la plantilla En blanco de la extensión de Azure Sphere de Visual Studio y ajustar la configuración al proyecto siguiendo estos pasos:
Inicia Visual Studio y selecciona Crear un proyecto.
Escriba
Azure Sphere
el cuadro de búsqueda con la etiqueta Buscar plantillas. Seleccione HLCore de Azure Sphere en blanco en la lista devuelta y, a continuación, seleccione Siguiente.Especifique un nombre de proyecto (por ejemplo, NewHLApp), una ubicación de archivo de proyecto y un nombre de solución (que puede ser el mismo que el nombre del proyecto) y, a continuación, seleccione Crear. Visual Studio crea la carpeta NewHLpp en la ubicación seleccionada y genera los archivos de compilación para la aplicación en blanco. Deberían aparecer mensajes de CMake.
Abra el archivo CMakeLists.txt y especifique la carpeta que contiene definiciones para el hardware que usa. De forma predeterminada, la aplicación HL Blank no contiene definiciones de hardware. Puede encontrar definiciones de hardware de ejemplo en el repositorio ejemplos de Azure Sphere o crear una como se describe en Definiciones de hardware.
A continuación se muestra cómo agregar las definiciones de hardware de ejemplo para el Kit de desarrollo mt3620 de Seeed Azure Sphere:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "sample_appliance.json")
Esta línea debe insertarse antes de que el comando final comience
azsphere_target_add_image_package
.
También puede crear una nueva aplicación de alto nivel desde cualquiera de los ejemplos de Azure Sphere de alto nivel:
Clone el repositorio de ejemplos si aún no lo ha hecho. Copie una de las carpetas de aplicaciones de alto nivel y cámbiela por el proyecto.
En el archivo CMakeLists.txt, cambie el nombre del proyecto al nombre de la nueva carpeta. Por ejemplo:
PROJECT(NewHLApp C)
La manera más fácil de crear una nueva aplicación de alto nivel es empezar con cualquiera de los ejemplos de Azure Sphere de alto nivel:
Clone el repositorio de ejemplos si aún no lo ha hecho. Copie una de las carpetas de aplicaciones de alto nivel y cámbiela por el proyecto.
En el archivo CMakeLists.txt, cambie el nombre del proyecto al nombre de la nueva carpeta. Por ejemplo:
PROJECT(NewHLApp C)
Estructura básica de archivos de una aplicación de alto nivel
Independientemente de cómo cree la aplicación, todas las aplicaciones de Azure Sphere comparten los siguientes archivos principales:
- Código fuente de la aplicación en uno o varios archivos. Actualmente, solo se admite el código fuente del lenguaje C.
- Archivos de compilación de CMake. CMakeLists.txt es obligatorio. CMake, junto con la utilidad de compilación ligera ninja, se usa para controlar el proceso de compilación de aplicaciones de Azure Sphere.
- Un archivo app-manifest que describe las funcionalidades disponibles para la aplicación.
Las aplicaciones de alto nivel normalmente tendrán al menos otros tres archivos:
- Un archivo applibs-versions.h para especificar los niveles de versión de varias API de Azure Sphere
- Dos archivos de definición de hardware (una versión editable en formato JSON y un archivo de inclusión de lenguaje C generado a partir de él) que proporcionan una manera cómoda de hacer referencia a los componentes de hardware en el código. Con un conjunto coherente de archivos de definición de hardware, puede escribir código fuente independiente del hardware y, a continuación, crear imágenes de aplicación para hardware específico simplemente redisfiar el archivo de definición de hardware adecuado en el archivo de CMakeLists.txt.
Escritura del código
- Escriba el código de la aplicación mediante los ejemplos de aplicaciones de alto nivel de Azure Sphere como guías. En los temas siguientes se describen escenarios de implementación específicos:
- Uso de periféricos en una aplicación de alto nivel
- Conexión a servicios web
- Uso de wolfSSL para conexiones TLS
- Administración de certificados
- Descripción del uso de la memoria
- Actualizaciones diferidas de dispositivos
- Administrar la hora y usar el reloj en tiempo real
- Uso del almacenamiento de dispositivos
- Comunicación con una aplicación con respuesta en tiempo real
- Administrar el estado de apagado
- Establecimiento de perfiles de energía
- Realización de la detección de servicios
- En el archivo CMakeLists.txt:
- Especificación de la revisión de las herramientas del SDK de Azure Sphere
- Especificación de un conjunto de API de destino
- Especificar el hardware de destino
- En el archivo app_manifest.json:
- Establezca
Name
en el nombre del proyecto. - Agregue cualquier funcionalidad específica de la aplicación que requiera el código, como las conexiones o los recursos de hardware. Si la aplicación de alto nivel se comunica con una RTApp, agregue el identificador de componente de la aplicación de alto nivel a la
AllowedApplicationConnections
funcionalidad.
- Establezca
Si quiere implementar la aplicación de alto nivel junto con una aplicación de asociado con respuesta en tiempo real, agregue el identificador de componente del asociado al campo partnerComponents de la sección de configuraciones de la launch.vs.json (Visual Studio) o .vscode/launch.json (Visual Studio Code):
"partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]