Compartilhar via


Preparar o Azure Sphere para ethernet

Para se comunicar pelo Ethernet, um dispositivo do Azure Sphere requer um adaptador Ethernet externo e uma imagem de configuração de placa. As seguintes etapas são necessárias para preparar seu dispositivo para rede por meio da Ethernet:

  1. Conecte o adaptador ao seu dispositivo.

  2. Crie e implante a imagem de configuração do quadro.

  3. Habilite a interface Ethernet.

Cuidado

Se o dispositivo estiver conectado por meio da Ethernet, uma rede de baixo tráfego será necessária para evitar perda de dados ou mau desempenho. O dispositivo perderá dados de pacotes não TCP de entrada quando houver um tráfego de entrada significativo na rede. Normalmente, os dados não são perdidos de pacotes TCP de entrada, independentemente do volume de tráfego, pois o TCP retransmitirá pacotes descartados. No entanto, a retransmissão é ao custo do desempenho.

Conectar o adaptador ao seu dispositivo

Consulte Placas e módulos de adaptadores Ethernet com suporte para obter uma lista de adaptadores Ethernet com suporte e instruções de como conectá-los a um quadro de desenvolvimento do Azure Sphere.

Criar e implantar a imagem de configuração do quadro

Uma imagem de configuração de placa é necessária para cada adaptador Ethernet usado com o Azure Sphere. A imagem de configuração do quadro contém informações que o Serviço de Segurança do Azure Sphere exige para adicionar suporte ao Ethernet ao sistema operacional do Azure Sphere. Você deve criar um pacote de imagens de configuração de placa para seu adaptador Ethernet e implantá-lo junto com seu pacote de imagens de aplicativo. Você pode carregar de lado o pacote de imagens de configuração do quadro para desenvolvimento e depuração. Você também pode implantar o pacote de imagens de configuração do quadro na nuvem, juntamente com seu aplicativo do Azure Sphere, para uso em campo. A configuração do quadro não conta com a memória Flash ou a RAM reservada para aplicativos de alto nível.

Criar um pacote de imagens de configuração de quadro

Para criar um pacote de imagens de configuração de quadro, use o comando da CLI do pacote de pacotes de imagens do azsphere .

Nota

No momento, não há suporte para pack-board-config na extensão da CLI do Azure.

Carregar um pacote de imagens de configuração de placa

Para usar um pacote de imagens de configuração de placa durante o desenvolvimento e a depuração:

  1. Preparar o dispositivo para desenvolvimento e depuração:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Exclua todos os aplicativos existentes do dispositivo usando o comando az sphere sideload delete . É importante excluir aplicativos existentes antes de carregar o pacote de imagens de configuração do quadro para evitar conflitos de recursos entre aplicativos existentes e a configuração do quadro.

  3. Carregar lateralmente o pacote de imagens de configuração do quadro. Se você criou um arquivo de configuração de placa personalizado na seção anterior, que pode ser carregado de lado agora. As opções predefinidas incluem o seguinte:

    Identificado como MT3620 Ethernet Shield for Microchip ENC28J60 NIC:

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

    Módulo de clique do Avnet Rev1 Devkit para Wiznet W5500 NIC:

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

    Módulo de clique do Avnet Rev2 Devkit para Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Carregar o aplicativo de lado, usando o Visual Studio ou usando o comando de implantação de sideload do dispositivo az sphere .

Implantar um pacote de imagens de configuração de placa na nuvem

Para implantar um pacote de imagens de configuração de placa pela nuvem, seu dispositivo deve ter um produto, pertencer a um grupo de dispositivos e não deve ter a funcionalidade AppDevelopment instalada. Consulte Criar uma implantação para descobrir como configurá-las.

Depois que o dispositivo estiver pronto, você poderá implantar a imagem de configuração do quadro junto com a imagem do aplicativo em uma única implantação.

Para criar uma implantação:

  1. Carregue o pacote de imagem no catálogo do Azure Sphere usando az sphere image add.
  2. Crie uma nova implantação para um grupo de dispositivos para as imagens carregadas usando 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>

Substitua <a ID> da imagem pela ID da imagem do pacote de imagem.

Remover uma configuração de placa sideload

Se você carregar uma configuração de placa durante o desenvolvimento, talvez seja necessário remover essa configuração para que outros aplicativos possam usar os recursos que o quadro reserva. Se você tentar executar um aplicativo que usa esses recursos enquanto a configuração do quadro é carregada no dispositivo do Azure Sphere, ocorrerá erros de conflito de pinos.

Para remover uma configuração de placa, siga estas etapas:

  1. Liste as imagens instaladas no dispositivo:

    az sphere device image list-installed
    
  2. Localize a ID do componente para a configuração do quadro na 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"
     }
    

    A ID do componente é a uid associada à configuração do quadro, portanto, por exemplo, na saída acima, ela inicia "29f10...".

  3. Exclua o pacote de imagens de configuração do quadro especificando sua ID de componente:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Reinicie o dispositivo pressionando o botão Redefinir ou emitindo o comando de reinicialização do dispositivo az sphere .

Habilitar a interface Ethernet

Depois que a configuração do quadro for carregada e o dispositivo for reiniciado, a interface será habilitada automaticamente. Se você quiser desabilitar a interface, use o comando az sphere device network disable ou chame a função Networking_SetInterfaceState , que faz parte da API de configuração de rede.

Todas as interfaces usam endereços IP dinâmicos por padrão. Consulte Usar serviços de rede para obter detalhes sobre os tipos de serviços que um aplicativo do Azure Sphere pode usar.

Configurar o Azure Sphere para Ethernet

Depois de conectar seu dispositivo do Azure Sphere a um adaptador Ethernet com suporte e implantar a imagem de configuração do quadro, você pode configurar seu dispositivo do Azure Sphere para se conectar a uma rede da CLI (linha de comando) ou do seu aplicativo usando as Bibliotecas de Aplicativos do SDK do Azure Sphere (Applibs).

Configuração da Ethernet usando a CLI

Para gerenciar a configuração do Ethernet a partir da linha de comando, use os comandos da CLI de rede do dispositivo az sphere. Por exemplo, o comando habilitar a rede de dispositivos habilita uma interface ethernet no dispositivo anexado.

az sphere device network enable --interface "eth0" 

Para usar a rede Ethernet configurada, a interface de rede (eth0) deve estar ativa. Use o comando list-interfaces de rede do dispositivo para determinar se a interface está ativa.


az sphere device network list-interfaces

Use o comando habilitar a rede do dispositivo para ativá-la, se necessário.


az sphere device network enable --interface eth0

Configuração do Ethernet usando Applibs

Para configurar o Ethernet, seu aplicativo deve usar a API de rede de applibs.

Inclua este arquivo de cabeçalho em seu aplicativo:

#include <applibs/networking.h>

O manifesto do aplicativo deve incluir o recurso NetworkConfig .

 "Capabilities": {
  "NetworkConfig" : true
}

Use a função Networking_GetInterfaceConnectionStatus para determinar se a interface de rede está ativa.

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

Para ativar a interface de rede, use a função Networking_SetInterfaceState .

Networking_SetInterfaceState("eth0", true);

Nota

Se as interfaces de rede (wlan0 e eth0) estiverem ativas e conectadas, a interface específica que o dispositivo usará para comunicação não será determinística. Se você quiser controlar qual interface de rede é usada a qualquer momento, seu aplicativo deve usar a função Networking_SetInterfaceState() para ativar explicitamente a interface desejada e a outra interface desativada. O exemplo de aplicativo de alto nível do cliente DHCP demonstra, entre outras coisas, como alternar entre interfaces atribuindo um valor que representa uma das duas interfaces a uma variável global.

Amostras

O Azure IoT demonstra como usar as APIs do SDK C do Azure IoT em um aplicativo do Azure Sphere para se comunicar com Hub IoT do Azure ou Azure IoT Central.

O aplicativo de alto nível do cliente DHCP demonstra como renovar ou liberar o endereço IP atual que o servidor DHCP da rede atribuiu ao dispositivo MT3620.

HTTPS cURL Easy demonstra buscar conteúdo em HTTPS usando a API 'fácil' do cURL

O HTTPS cURL Multi demonstra a busca de conteúdo por HTTPS usando a API 'multi' do cURL.

O aplicativo de alto nível do Power Down demonstra a funcionalidade do Power Down para a plataforma do Azure Sphere.

Os serviços de rede privada demonstram como conectar um dispositivo do Azure Sphere a uma rede privada e usar serviços de rede.

O aplicativo de alto nível WolfSSL demonstra o uso do WolfSSL para aperto de mão SSL em um aplicativo de alto nível.

Nota

Os exemplos a seguir são da Galeria do Azure Sphere, que é uma coleção de exemplos de software e hardware não retidos da Microsoft. Para obter mais informações, confira Galeria do Azure Sphere.

Imprimir endereço MAC e IP da interface de rede imprime os endereços MAC e IP de uma interface de rede especificada.

O OSNetworkRequirementChecker-HLApp executa dois testes de diagnóstico de rede (MT3620) de dispositivo.