Compartir vía


Preparar Azure Sphere para Ethernet

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

  1. Conecta el adaptador al dispositivo.

  2. Cree e implemente la imagen de configuración del panel.

  3. Habilita 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 el rendimiento deficiente. El dispositivo perderá los datos de los paquetes no TCP entrantes cuando haya tráfico entrante significativo en la red. Los datos normalmente no se pierden de los paquetes TCP entrantes, independientemente del volumen de tráfico, porque TCP retransmitirá los paquetes descartados. Sin embargo, la transmisión de nuevo se costea del rendimiento.

Conectar el adaptador al dispositivo

Consulta Módulos y paneles de adaptadores Ethernet compatibles para obtener una lista de adaptadores Ethernet compatibles e instrucciones sobre cómo conectarlos a una placa de desarrollo de Azure Sphere.

Crear e implementar la imagen de configuración del panel

Se requiere una imagen de configuración de placa para cada adaptador Ethernet usado con Azure Sphere. La imagen de 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 Azure Sphere. Debes crear un paquete de imagen de configuración de placa para el adaptador Ethernet e implementarlo junto con el paquete de imagen de la aplicación. Puedes realizar la instalación de prueba del paquete de imagen de configuración de placa para su desarrollo y depuración. También puede implementar el paquete de imagen de configuración de placa desde la nube, junto con la aplicación Azure Sphere, para su uso en el campo. La configuración de la placa no cuenta con la memoria Flash o la RAM reservada para aplicaciones de alto nivel.

Crear un paquete de imagen de configuración de placa

Para crear un paquete de imagen de configuración de placa, utilice el comando CLI azsphere image-package pack-board-config .

Nota

Pack-board-config no es compatible actualmente con la extensión de la CLI de Azure.

Realizar la instalación de prueba de un paquete de imagen de configuración de placa

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

  1. Preparar el dispositivo para el desarrollo y depuración:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Elimine las aplicaciones existentes del dispositivo mediante el comando az sphere device sideload delete . Es importante eliminar las aplicaciones existentes antes de cargar el paquete de imagen de configuración de placa para evitar conflictos de recursos entre las aplicaciones existentes y la configuración del panel.

  3. Realizar la instalación de prueba del paquete de imagen de configuración de la placa. Si creaste un archivo de configuración de placa personalizado en la sección anterior, ahora se puede realizar la instalación de prueba. Entre las opciones predefinidas se incluyen las siguientes:

    Seeed MT3620 Ethernet Shield for Microchip ENC28J60 NIC:

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

    Avnet Rev1 Devkit Click Module for Wiznet W5500 NIC:

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

    Avnet Rev2 Devkit Click Module for Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Realizar la instalación de prueba de la aplicación, ya sea mediante Visual Studio o mediante el comando az sphere device sideload deploy .

Implementar en la nube un paquete de imagen de configuración de panel

Para implementar un paquete de imagen de configuración de placa a través de la nube, el dispositivo debe tener un producto, pertenecer a un grupo de dispositivos y no debe tener instalada la funcionalidad AppDevelopment. Vea Crear una implementación para obtener información sobre cómo configurarlas.

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

Para crear una implementación:

  1. Cargue el paquete de imagen en su catálogo de Azure Sphere con az sphere image add.
  2. Cree una nueva implementación para un grupo de dispositivos para las imágenes cargadas con az sphere deployment create.
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

Reemplace <image-ID> por el id. de imagen del paquete de imagen.

Quitar una configuración de placa con instalación de prueba

Si realiza la instalación de prueba de una configuración de placa durante el desarrollo, es posible que necesite quitarla más adelante para que otras aplicaciones puedan usar los recursos que reserva la placa. Si intenta ejecutar una aplicación que usa estos recursos mientras se carga la configuración de la placa en el dispositivo Azure Sphere, se producirán errores de conflicto de pin.

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

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

    az sphere device image list-installed
    
  2. Busque el id. de componente para la configuración de placa en la lista:

     {
     "does_image_type_require_restart": true,
     "image_type": "Board configuration",
     "images": [
       {
         "length_in_bytes": 428,
         "replica_type": 0,
         "uid": "839e699a-1b23-44de-bc56-f2b19e472098",
         "uncompressed_length_in_bytes": 428
       }
     ],
     "is_update_staged": false,
     "name": "lan-enc28j60-isu0-int5_29f10d",
     "uid": "29f10d1e-29aa-4ae0-a48c-cc24305b288a"
     }
    

    El id. del componente es el uid asociado con la configuración de la placa, por lo que, por ejemplo, en la salida anterior comienza "29f10...".

  3. Elimine el paquete de imagen de configuración de placa especificando su id. de componente:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Reinicie el dispositivo presionando el botón Restablecer o emitiendo el comando az sphere device restart .

Habilitar la interfaz Ethernet

Una vez cargada la configuración de la placa y reiniciado el dispositivo, la interfaz se habilitará automáticamente. Si desea deshabilitar la interfaz, utilice el comando az sphere 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 utilizan direcciones IP dinámicas de forma predeterminada. Consulte Usar servicios de red para obtener más información sobre los tipos de servicios que puede usar una aplicación Azure Sphere.

Configurar Azure Sphere para Ethernet

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

Configuración ethernet con la CLI

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

az sphere device network enable --interface "eth0" 

Para utilizar la red Ethernet configurada, la interfaz de red (eth0) debe estar activa. Utilice el comando list-interfaces de la red del dispositivo para determinar si la interfaz es activa.


az sphere device network list-interfaces

Usa el comando enable de la red del dispositivo para activarlo si es necesario.


az sphere device network enable --interface eth0

Configuración ethernet con Applibs

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

Incluya este archivo de encabezado en la aplicación:

#include <applibs/networking.h>

El manifiesto de la 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) son 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 utiliza en un momento dado, la aplicación debe utilizar la función Networking_SetInterfaceState() para activar explícitamente la interfaz deseada y desactivar la otra interfaz. La muestra de aplicación de alto nivel del cliente DHCP demuestra entre otras cosas, cómo cambiar entre interfaces asignando un valor que representa una de las dos interfaces a una variable global.

Muestras

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 del cliente DHCP demuestra 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 obtención de contenido a través de HTTPS mediante la API 'multi' de cURL.

La aplicación de alto nivel Power Down demuestra la funcionalidad de Power Down para la plataforma Azure Sphere.

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

WolfSSL aplicación de alto nivel demuestra el uso de WolfSSL para enlace SSL en una aplicación de alto nivel.

Nota

Las siguientes muestras son de la Galería de esferas de Azure, que es una colección de muestras de software y hardware de Microsoft que no se han obtenido. Para obtener más información, consulte Galería de esferas de Azure.

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

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