Compartilhar via


Preparar o Azure Sphere para Ethernet

Importante

Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) 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 se comunicar pela Ethernet, um dispositivo do Azure Sphere requer um adaptador Ethernet externo e uma imagem de configuração de placa. As etapas a seguir são necessárias para preparar seu dispositivo para rede via Ethernet:

  1. Conecte o adaptador ao seu dispositivo.

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

  3. Habilite a interface Ethernet.

Cuidado

Se o seu dispositivo estiver conectado via Ethernet, uma rede de baixo tráfego será necessária para evitar perda de dados ou baixo desempenho. O dispositivo perderá dados de pacotes não TCP de entrada quando houver tráfego de entrada significativo na rede. Os dados normalmente não são perdidos de pacotes TCP de entrada, independentemente do volume de tráfego, porque o TCP retransmitirá pacotes descartados. No entanto, a retransmissão é à custa do desempenho.

Conecte 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 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 de placa é necessária para cada adaptador Ethernet usado com o Azure Sphere. A imagem de configuração de board contém informações exigidas pelo Serviço de Segurança do Azure Sphere para adicionar suporte à Ethernet para o sistema operacional do Azure Sphere. Você deve criar um pacote de imagem de configuração de placa para seu adaptador Ethernet e implementá-lo junto com seu pacote de imagem de aplicativo. Você pode fazer o 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 de placa da nuvem, juntamente com seu aplicativo do Azure Sphere, para uso em campo. A configuração da placa não conta para a memória Flash ou RAM reservada para aplicativos de alto nível.

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

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

Faça sideload de um pacote de imagens de configuração de placa

Para usar um pacote de imagens de configuração de placa durante o desenvolvimento e 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 os aplicativos existentes antes de carregar o pacote de imagens de configuração de placa para evitar conflitos de recursos entre os aplicativos existentes e a configuração de placa.

  3. Faça sideload de um pacote de imagens de configuração de placa. Se você criou um arquivo de configuração de placa personalizado na seção anterior, ele pode ser carregado agora. As opções predefinidas incluem o seguinte:

    Seeed 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
    

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

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

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

Para implantar um pacote de imagem de configuração de placa por meio da nuvem, o dispositivo deve ter um produto, pertencer a um grupo de dispositivos e não deve ter a funcionalidade AppDevelopment instalado. Confira Criar uma implantação para descobrir como configurar isso tudo.

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

Para criar uma implantação:

  1. Carregue o pacote de imagem em 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. A 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 par de nome do produto e nome do grupo de dispositivos no <formato product-name>/<device-group-name> . Esse par de nomes identifica exclusivamente um grupo de dispositivos para um produto específico. Substitua <image-ID> pelo ID da imagem do pacote de imagens.

Remover a configuração de placa submetida a sideload

Se você fizer o sideload de uma configuração de placa durante o desenvolvimento, talvez precise remover posteriormente essa configuração para que outros aplicativos possam usar os recursos reservados pela placa. Se você tentar executar um aplicativo que usa esses recursos enquanto a configuração de placa é carregada no dispositivo com Azure Sphere, ocorrerão erros de conflito de fixação.

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

  1. Liste a as imagens instaladas no dispositivo:

    azsphere device image list-installed
    
  2. Localize a ID de componente da configuração de 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 imagens de configuração de placa especificando a ID de seu componente:

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

Habilitar a interface Ethernet

Assim que a configuração da placa for carregada e o dispositivo for reinicializado, a interface será habilitada automaticamente. Se você quiser desabilitar 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 do Azure Sphere a um adaptador Ethernet com suporte e implantar a imagem de configuração da placa, 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 Applibs (Bibliotecas de Aplicativos do SDK do Azure Sphere).

Configuração Ethernet usando a CLI

Para gerenciar a configuração de Ethernet na linha de comando, use os comandos da CLI azsphere device network. 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);

Observação

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 será determinística. Se você quiser controlar qual interface de rede é usada em um determinado momento, seu aplicativo deve usar a função Networking_SetInterfaceState() para ativar explicitamente a interface desejada e 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.

Amostras

O Azure IoT demonstra como usar as APIs C do SDK do IoT do Azure 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 'easy' do cURL

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

O aplicativo de alto nível de Desligamento demonstra a funcionalidade de Desligamento 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 handshake SSL em um aplicativo de alto nível.

Observação

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