Partilhar via


Preparar o Azure Sphere para Ethernet

Importante

Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (Integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).

Para comunicar através de Ethernet, um dispositivo Azure Sphere requer um adaptador Ethernet externo e uma imagem de configuração da placa. Os seguintes passos são necessários para preparar o seu dispositivo para a rede através de Ethernet:

  1. Ligue o adaptador ao dispositivo.

  2. Crie e implante a imagem de configuração da placa.

  3. Habilite a interface Ethernet.

Atenção

Se o seu dispositivo estiver ligado através de Ethernet, é necessária uma rede de baixo tráfego para evitar a perda de dados ou um mau desempenho. O dispositivo perderá dados de pacotes não-TCP de entrada quando houver tráfego de entrada significativo na rede. Normalmente, os dados não são perdidos dos pacotes TCP recebidos, independentemente do volume de tráfego, porque o TCP retransmitirá os pacotes descartados. No entanto, a retransmissão é feita à custa do desempenho.

Ligue o adaptador ao dispositivo

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

Criar e implantar a imagem de configuração da placa

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

Criar um pacote de imagem de configuração da placa

Para criar um pacote de imagem de configuração da placa, use o comando azsphere image-package pack-board-config CLI.

Fazer sideload de um pacote de imagem de configuração da placa

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

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

    azsphere device enable-development
    
  2. Exclua todos os aplicativos existentes do dispositivo usando o comando azsphere device sideload delete. É importante excluir aplicativos existentes antes de carregar o pacote de imagem de configuração da placa para evitar conflitos de recursos entre os aplicativos existentes e a configuração da placa.

  3. Faça sideload do pacote de imagem de configuração da placa. Se você criou um arquivo de configuração de placa personalizada na seção anterior, isso pode ser sideloaded agora. As opções predefinidas incluem o seguinte:

    Consulte MT3620 Ethernet Shield para Microchip ENC28J60 NIC:

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

    Avnet Rev1 Devkit Click Module para Wiznet W5500 NIC:

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

    Avnet Rev2 Devkit Click Module para Wiznet W5500 NIC:

    azsphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Faça sideload do aplicativo, usando o Visual Studio ou o comando azsphere device sideload deploy.

Implementar na nuvem um pacote de imagem de configuração da placa

Para implantar um pacote de imagem de configuração de placa através da nuvem, seu dispositivo deve ter um produto, pertencer a um grupo de dispositivos e não deve ter o recurso AppDevelopment instalado. Consulte Criar uma implantação para saber como configurá-las.

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

Para criar uma implantação:

  1. Carregue o pacote de imagem para seu locatário do Azure Sphere usando azsphere image add.
  2. Crie uma nova implantação para um grupo de dispositivos para as imagens carregadas usando azsphere device-group deployment create.

Carregue o pacote de imagens:

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

Crie uma nova implantação para um 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 fornecer vários valores para --images , insira uma lista de valores separados por espaços.

O --device-group parâmetro identifica o grupo de dispositivos. O ID do grupo de dispositivos fornece um GUID, que identifica exclusivamente o grupo de dispositivos em todos os produtos. Como alternativa, você pode usar o nome do produto e o par de nomes do grupo de dispositivos no <formato product-name>/<device-group-name> . Este par de nomes identifica exclusivamente um grupo de dispositivos para um determinado produto. Substitua <image-ID> pelo ID de imagem do pacote de imagens.

Remover uma configuração de placa de sideload

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

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

  1. Liste as imagens instaladas no dispositivo:

    azsphere device image list-installed
    
  2. Encontre o ID do componente para a configuração da placa na lista:

     --> lan-enc28j60-is
     --> Image type:   Board configuration
     --> Component ID: 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
     --> Image ID:     a726b919-bdbe-4cf4-8360-2e37af9407e1
    
  3. Exclua o pacote de imagem de configuração da placa especificando seu ID de componente:

    azsphere device sideload delete --component-id 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
    
  4. Reinicie o dispositivo pressionando o botão Reset ou emitindo o comando azsphere device restart .

Ativar a interface Ethernet

Uma vez que a configuração da placa é carregada e o dispositivo é reiniciado, a interface será ativada automaticamente. Se você quiser desativar a interface, use o comando azsphere 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 Azure Sphere a um adaptador Ethernet com suporte e implantar a imagem de configuração da placa, você pode configurar seu dispositivo Azure Sphere para se conectar a uma rede a partir da linha de comando (CLI) ou de seu aplicativo usando as Bibliotecas de Aplicativos do SDK do Azure Sphere (Applibs).

Configuração Ethernet usando a CLI

Para gerenciar a configuração Ethernet a partir da linha de comando, use os comandos azsphere device network CLI. Por exemplo, o comando device network enable habilita uma interface ethernet no dispositivo conectado.

azsphere device network enable --interface "eth0" 

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


azsphere device network list-interfaces

Use o comando device network enable para ativá-lo, se necessário.


azsphere device network enable --interface eth0

Configuração Ethernet usando Applibs

Para configurar a Ethernet, seu aplicativo deve usar a API de rede 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 ambas as interfaces de rede (wlan0 e eth0) estiverem ativas e conectadas, a interface específica que o dispositivo usará para comunicação não é 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 desativar a outra interface. 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.

Exemplos

O Azure IoT demonstra como usar as APIs do Azure IoT SDK C em um aplicativo do Azure Sphere para se comunicar com o Hub IoT do Azure ou o 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 a busca de conteúdo por 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 Power Down demonstra a funcionalidade Power Down para a plataforma Azure Sphere.

Serviços de rede privada demonstra como conectar um dispositivo 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 handshake 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 mantidos da Microsoft. Para obter mais informações, consulte Galeria do Azure Sphere.

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

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