Compartir a través de


Preparación de Azure Sphere para Ethernet

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).

Para comunicarse a través de Ethernet, un dispositivo de Azure Sphere requiere un adaptador Ethernet externo y una imagen de configuración de placa. Los pasos siguientes son necesarios para preparar el dispositivo para las redes a través de Ethernet:

  1. Conecte el adaptador al dispositivo.

  2. Cree e implemente la imagen de configuración de la placa.

  3. Habilite la interfaz Ethernet.

Precaución

Si el dispositivo está conectado a través de Ethernet, se requiere una red de tráfico bajo para evitar la pérdida de datos o un rendimiento deficiente. El dispositivo perderá datos de paquetes entrantes que no son TCP cuando haya tráfico entrante significativo en la red. Normalmente, los datos no se pierden de paquetes TCP entrantes, independientemente del volumen de tráfico, ya que TCP retransmitirá paquetes descartados. Sin embargo, la re-transmisión está a costa del rendimiento.

Conexión del adaptador al dispositivo

Consulte Adaptadores Ethernet y módulos compatibles para obtener una lista de adaptadores Ethernet compatibles e instrucciones sobre cómo conectarlos a una placa de desarrollo de Azure Sphere.

Creación e implementación de la imagen de configuración del panel

Se requiere una imagen de configuración de placa para cada adaptador Ethernet que se usa con Azure Sphere. La imagen de la configuración de la placa contiene información que el servicio de seguridad de Azure Sphere necesita para agregar compatibilidad con Ethernet al sistema operativo de Azure Sphere. Debe crear un paquete de imágenes de configuración de placa para el adaptador Ethernet e implementarlo junto con el paquete de imágenes de la aplicación. Puede transferir localmente el paquete de imagen de configuración de la placa para el desarrollo y la depuración. También puede implementar el paquete de imágenes de configuración de placa desde la nube, junto con la aplicación de Azure Sphere, para su uso de campo. La configuración de la placa no cuenta con la memoria Flash o ram reservada para aplicaciones de alto nivel.

Creación de un paquete de imagen de configuración de la placa

Para crear un paquete de imágenes de configuración de placa, use el comando azsphere image-package pack-board-config CLI.

Transferencia local del paquete de imagen de configuración de la placa

Para usar un paquete de imagen de configuración de la placa durante el desarrollo y la depuración:

  1. Prepare el dispositivo para el desarrollo y la depuración:

    azsphere device enable-development
    
  2. Elimine las aplicaciones existentes del dispositivo mediante el comando azsphere device sideload delete. Es importante eliminar las aplicaciones existentes antes de cargar el paquete de imagen de configuración de la placa para evitar conflictos de recursos entre las aplicaciones existentes y la configuración de la placa.

  3. Transfiera localmente el paquete de imagen de configuración de la placa. Si ha creado un archivo de configuración de placa personalizada en la sección anterior, se puede transferir localmente ahora. Entre las opciones preestablecidas se incluyen las siguientes:

    Escudo Ethernet MT3620 seeed para La ENC28J60 NIC de Chips:

    azsphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
    

    Avnet Rev1 Devkit Click Module for Wiznet W5500 NIC:

    azsphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
    

    Avnet Rev2 Devkit Click Module for Wiznet W5500 NIC:

    azsphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Transfiera localmente la aplicación mediante Visual Studio o mediante el comando azsphere device sideload deploy.

Implementación en la nube de un paquete de imagen de configuración de placa

Para implementar un paquete de imagen de configuración de la placa mediante la nube, el dispositivo debe tener un producto, pertenecer a un grupo de dispositivos y no debe tener instalada la funcionalidad AppDevelopment. Consulte Creación de una implementación para averiguar cómo configurarla.

Cuando el dispositivo esté listo, puede implementar la imagen de configuración de la placa junto con la imagen de la aplicación en una única implementación.

Para crear una implementación:

  1. Cargue el paquete de imágenes en el inquilino de Azure Sphere mediante azsphere image add.
  2. Cree una nueva implementación para un grupo de dispositivos para las imágenes cargadas mediante azsphere device-group deployment create.

Cargue el paquete de imágenes:

azsphere image add --image <path-to-image-package>

Cree una nueva implementación para un grupo de dispositivos:

azsphere device-group deployment create --device-group <device-group-ID> or '<product-name>/<device-group-name>' --images <image-ID> <image-ID>

Para proporcionar varios valores para --images especificar una lista de valores separados por espacios.

El --device-group parámetro identifica el grupo de dispositivos. El identificador del grupo de dispositivos proporciona un GUID que identifica de forma única el grupo de dispositivos en todos los productos. Como alternativa, puede usar el nombre del producto y el par nombre del grupo de dispositivos en el <formato product-name>/<device-group-name> . Este par de nombres identifica de manera única un grupo de dispositivos para un producto determinado. Reemplace <image-ID> por el identificador de imagen del paquete de imágenes.

Eliminación de una configuración de la placa transferida localmente

Si transfiere localmente una configuración de la placa durante el desarrollo, es posible que más adelante tenga que eliminar dicha configuración para que otras aplicaciones puedan utilizar los recursos que reserva la placa. Si intenta ejecutar una aplicación que utiliza estos recursos mientras se carga la configuración de la placa en el dispositivo de Azure Sphere, se producirán errores de conflicto de patillas.

Para quitar una configuración de la placa, siga estos pasos:

  1. Enumere las imágenes instaladas en el dispositivo:

    azsphere device image list-installed
    
  2. Busque el identificador de componente de la configuración de la placa de la lista:

     --> lan-enc28j60-is
     --> Image type:   Board configuration
     --> Component ID: 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
     --> Image ID:     a726b919-bdbe-4cf4-8360-2e37af9407e1
    
  3. Para eliminar el paquete de imagen de la configuración de la placa, especifique su identificador de componente:

    azsphere device sideload delete --component-id 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
    
  4. Reinicie el dispositivo presionando el botón de restablecimiento o emitir el comando azsphere device restart.

Habilitar la interfaz Ethernet

Una vez que se carga la configuración de la placa y se reinicia el dispositivo, la interfaz se habilitará automáticamente. Si desea deshabilitar la interfaz, use el comando azsphere device network disable o llame a la función Networking_SetInterfaceState , que forma parte de la API de configuración de red.

Todas las interfaces usan las direcciones IP dinámicas de forma predeterminada. Consulte Uso de servicios de red para más información sobre los tipos de servicios que puede usar una aplicación de Azure Sphere.

Configuración de Azure Sphere para Ethernet

Después de conectar el dispositivo de Azure Sphere a un adaptador Ethernet compatible e implementar la imagen de configuración de la placa, puede configurar el dispositivo de Azure Sphere para conectarse a una red desde la línea de comandos (CLI) o desde la aplicación mediante las bibliotecas de aplicaciones del SDK de Azure Sphere (Bibliotecas de aplicaciones).

Configuración de Ethernet mediante la CLI

Para administrar la configuración de Ethernet desde la línea de comandos, use los comandos azsphere device network CLI. Por ejemplo, el comando device network enable habilita una interfaz Ethernet en el dispositivo conectado.

azsphere device network enable --interface "eth0" 

Para usar la red Ethernet configurada, la interfaz de red (eth0) debe estar activa. Use el comando list-interfaces de red del dispositivo para determinar si la interfaz está activa.


azsphere device network list-interfaces

Use el comando device network enable para activarlo si es necesario.


azsphere device network enable --interface eth0

Configuración de Ethernet mediante bibliotecas de aplicaciones

Para configurar Ethernet, la aplicación debe usar la API de red de bibliotecas de aplicaciones.

Incluya este archivo de encabezado en la aplicación:

#include <applibs/networking.h>

El manifiesto de aplicación debe incluir la funcionalidad NetworkConfig .

 "Capabilities": {
  "NetworkConfig" : true
}

Use la función Networking_GetInterfaceConnectionStatus para determinar si la interfaz de red está activa.

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

Para activar la interfaz de red, use la función Networking_SetInterfaceState .

Networking_SetInterfaceState("eth0", true);

Nota:

Si ambas interfaces de red (wlan0 y eth0) están activas y conectadas, la interfaz específica que usará el dispositivo para la comunicación no es determinista. Si desea controlar qué interfaz de red se usa en un momento dado, la aplicación debe usar la función Networking_SetInterfaceState() para activar explícitamente la interfaz deseada y la otra interfaz desactivada. El ejemplo de aplicación de alto nivel de cliente DHCP muestra entre otras cosas cómo cambiar entre interfaces mediante la asignación de un valor que representa una de las dos interfaces a una variable global.

Ejemplos

Azure IoT muestra cómo usar las API de C del SDK de Azure IoT en una aplicación de Azure Sphere para comunicarse con Azure IoT Hub o Azure IoT Central.

La aplicación de alto nivel de cliente DHCP muestra cómo renovar o liberar la dirección IP actual que el servidor DHCP de la red ha asignado al dispositivo MT3620.

HTTPS cURL Easy muestra cómo capturar contenido a través de HTTPS mediante la API "fácil" de cURL

HTTPS cURL Multi muestra la captura de contenido a través de HTTPS mediante la API "multi" de cURL.

Power Down high-level app muestra la funcionalidad de apagado para la plataforma Azure Sphere.

Los servicios de red privada muestran cómo conectar un dispositivo de Azure Sphere a una red privada y usar servicios de red.

La aplicación de alto nivel WolfSSL muestra el uso de WolfSSL para el protocolo de enlace SSL en una aplicación de alto nivel.

Nota:

Los ejemplos siguientes proceden de la Galería de Azure Sphere, que es una colección de ejemplos de hardware y software no retenidos de Microsoft. Para más información, consulte Galería de Azure Sphere.

Imprimir MAC y dirección IP de la interfaz de red imprime las direcciones MAC y IP de una interfaz de red especificada.

OSNetworkRequirementChecker-HLApp realiza dos pruebas de diagnóstico de red de dispositivo (MT3620).