Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
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.
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. Você pode usar o pacote de imagem de configuração da placa para seu 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.
Localizar um pacote de imagem de configuração da placa
Observação
A criação de pacotes de imagem de configuração de placa não é suportada na extensão CLI do Azure porque o Azure Sphere é fornecido com pacotes de imagem de configuração de placa pré-gerados.
Os pacotes de imagem de configuração de placa atualmente suportados estão disponíveis na pasta BoardConfigPresets na pasta de instalação do SDK do Azure Sphere. Por exemplo, a pasta é instalada por padrão em "/opt/azurespheresdk/BoardConfigPresets" no Linux ou "C:\Program Files (x86)\Microsoft Azure Sphere SDK\BoardConfigPresets" no Windows.
As seguintes configurações de placa são suportadas:
- Veja o MT3620 Ethernet Shield para Microchip ENC28J60 NIC: lan-enc28j60-isu0-int5.imagepackage
- Avnet Rev1 Devkit Click Module para Wiznet W5500 NIC: lan-w5500-isu1-int2.imagepackage
- Avnet Rev2 Devkit Click Module para Wiznet W5500 NIC: lan-w5500-isu0-int5.imagepackage
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:
Prepare o dispositivo para desenvolvimento e depuração:
az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
Exclua todos os aplicativos existentes do dispositivo usando o comando az sphere 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.
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:
az sphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
Avnet Rev1 Devkit Click Module para Wiznet W5500 NIC:
az sphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
Avnet Rev2 Devkit Click Module para Wiznet W5500 NIC:
az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
Carregue o aplicativo manualmente, usando o Visual Studio ou o comando az sphere 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:
- Carregue o pacote de imagens para seu catálogo do Azure Sphere usando az sphere image add.
- Crie uma nova implementação para um grupo de dispositivos com as imagens carregadas utilizando 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 <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:
Liste as imagens instaladas no dispositivo:
az sphere device image list-installed
Encontre o ID do componente para a configuração da placa 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" }
O ID do componente é o uid associado à configuração da placa, por exemplo, na saída acima, ele começa "29f10...".
Exclua o pacote de imagem de configuração da placa especificando seu ID de componente:
az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
Reinicie o dispositivo pressionando o botão Reset ou emitindo o comando az sphere 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 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 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 az sphere device network CLI. Por exemplo, o comando device network enable habilita uma interface ethernet no dispositivo conectado.
az sphere 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.
az sphere device network list-interfaces
Use o comando device network enable para ativá-lo, se necessário.
az sphere 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", ¤tInterfaceStatus);
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 é 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.
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).