Partilhar via


Capacidades e comunicação do dispositivo

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

Os recursos do dispositivo determinam políticas de SO específicas do dispositivo para comunicação serviço-UART . Toda a comunicação entre o computador host e um dispositivo conectado é através do serviço UART. O computador host se comunica com um dispositivo conectado para executar operações no dispositivo. Fabricantes, desenvolvedores de software e técnicos de serviço de campo usam recursos para desbloquear a comunicação service-UART para as operações necessárias, garantindo que o dispositivo esteja protegido contra usuários mal-intencionados.

Os fabricantes de dispositivos e OEMs podem bloquear a comunicação service-UART para impedir o uso não autorizado por aqueles que têm acesso físico ao dispositivo. Bloquear essa comunicação faz parte da finalização do dispositivo. Após a finalização, um usuário pode obter o ID de um dispositivo, mas nada mais; Todas as outras operações requerem uma capacidade de dispositivo. A finalização é normalmente realizada no chão de fábrica antes de o fabricante enviar o dispositivo para o local do cliente.

Um arquivo de capacidade de dispositivo contém zero ou mais recursos para um único dispositivo. O ficheiro de capacidade não funcionará se for aplicado a um dispositivo que não seja aquele a que se destina. Um dispositivo pode ter os seguintes recursos, cada um dos quais é descrito posteriormente neste tópico:

Nota

Os recursos do dispositivo não estão relacionados aos recursos do aplicativo. Os recursos do aplicativo especificam os recursos que um aplicativo requer em tempo de execução. Consulte o manifesto do aplicativo para obter mais informações sobre os recursos do aplicativo.

Como determinar os recursos do dispositivo ou o estado de fabricação

Para determinar a configuração de capacidade armazenada no dispositivo conectado, use o comando azsphere device capability show-attached . O comando exibe os recursos que são configurados usando um arquivo de capacidade e alguns, mas não todos, os recursos presentes por padrão nas placas. Para obter uma lista completa dos comandos azsphere que exigem um recurso de dispositivo, consulte a tabela na visão geral da CLI.

Os recursos do dispositivo podem ser afetados pelo estado de fabricação do dispositivo. Para determinar o estado de fabricação do dispositivo, use o comando azsphere device manufacturing-state show. Se o comando mostrar que o dispositivo está no estado de fabricação DeviceComplete ou retornar Device access is forbidden, a comunicação service-UART está bloqueada e você precisa de um recurso de dispositivo para se comunicar com o dispositivo a partir do seu computador. Quando um dispositivo está no estado de fabricação DeviceComplete, as operações de fabricação são permitidas somente quando o dispositivo é desbloqueado por meio de um arquivo de capacidade.

Nota

Se você instalar um dispositivo em um local do cliente, deverá garantir que o dispositivo seja finalizado para o estado de fabricação DeviceComplete antes da instalação. Consulte Finalizar o dispositivo Azure Sphere.

O estado de fabricação DeviceComplete normalmente não é apropriado para um kit de desenvolvimento. Para permitir o teste das operações de fabricação que estão sendo desenvolvidas pelos engenheiros de fabricação, um kit de desenvolvimento deve estar no estado de fabricação em branco ou no estado de fabricação Module1Complete.

Como os dispositivos adquirem recursos

Os dispositivos podem adquirir capacidades de uma de três formas:

  • Aberto por padrão. Um dispositivo que está no estado de fabricação em branco ou no estado de fabricação Module1Complete tem alguns recursos abertos por padrão. Isso é feito para que os dispositivos ainda em fase de fabricação não precisem ser conectados à nuvem ou reivindicados em locatários, como é exigido pelo processo de uso de arquivos de capacidade do dispositivo para desbloquear recursos. À medida que a fabricação progride, os fabricantes podem alterar o estado de fabricação do dispositivo para bloquear recursos que não são mais apropriados, conforme descrito em Tarefas de chão de fábrica.

  • Sideloaded no dispositivo. Um dispositivo pode ter um arquivo de capacidade sideloaded no dispositivo a partir do computador host. Use o comando azsphere device capability download para recuperar o arquivo de capacidade. Esse conjunto de recursos de sideload persiste até que um novo arquivo de recursos (que pode ser um arquivo em branco sem recursos) seja sideload. Esta é a situação usual durante o desenvolvimento de aplicativos, por exemplo, quando o comando azsphere device enable-development é executado. O desenvolvimento de aplicativos é auxiliado por ter o dispositivo em um estado desbloqueado, onde o desenvolvedor pode executar operações como depuração e facilmente excluir e implantar versões sideloaded do aplicativo.

  • Passado para o dispositivo a cada operação. Um dispositivo pode ter recursos selecionados localmente aplicados por operação. O comando azsphere device capability select seleciona um arquivo de capacidade armazenado localmente no computador host. Uma vez que este comando é executado, a capacidade selecionada é passada do computador para o dispositivo com cada comando subsequente. Esta é a maneira recomendada de usar recursos para dispositivos que estão no campo, porque os recursos são armazenados no computador em vez do dispositivo. O risco de um engenheiro de campo acidentalmente deixar o dispositivo em um estado não seguro, esquecendo-se de remover a capacidade, é evitado.

Antes que um arquivo de capacidade possa ser sideloaded em um dispositivo ou passado para um dispositivo com uma operação, ele deve ser baixado do Azure Sphere Security Service (AS3), conforme descrito em Fazer alterações em um dispositivo após a fabricação. Os arquivos de capacidade baixados são específicos do dispositivo; Uma vez baixado, um arquivo de capacidade pode ser usado repetidamente no dispositivo associado.

O recurso enableRfTestMode

O recurso enableRfTestMode está presente por padrão no dispositivo quando o estado de fabricação do dispositivo está em branco. Esta capacidade permite a programação de fusíveis eletrónicos e a configuração e teste da operação de RF. Não é possível que os proprietários de inquilinos transfiram esta funcionalidade para um computador anfitrião. Se precisar dessa capacidade, entre em contato com seu representante da Microsoft.

Quando o estado de fabricação do dispositivo é Blank, o comando azsphere device capability show-attached exibe o recurso enableRfTestMode.

A capacidade appDevelopment

O recurso de dispositivo appDevelopment desbloqueia a comunicação service-UART e altera o tipo de assinatura em que o dispositivo confia. Destina-se ao uso durante o desenvolvimento de aplicativos.

Por padrão, os dispositivos do Azure Sphere confiam em pacotes de imagem assinados em produção que são baixados pelo Serviço de Segurança do Azure Sphere, mas não confiam em pacotes de imagem assinados por SDK. Portanto, você não pode criar um pacote de imagem com o SDK e fazer sideload no dispositivo Azure Sphere para depuração, a menos que o dispositivo tenha o recurso appDevelopment . O recurso appDevelopment faz com que o dispositivo confie no pacote de imagem e permite que você inicie, pare, depure ou remova um aplicativo do dispositivo.

Em resumo, o recurso appDevelopment desbloqueia a comunicação service-UART para permitir as seguintes operações:

  • Sideload de um pacote de imagem criado com o Visual Studio, o Visual Studio Code, a CLI ou o comando azsphere image-package.

  • Iniciar, parar, depurar ou remover um pacote de imagem do dispositivo Azure Sphere, independentemente de como o pacote de imagem está assinado.

Para adicionar o recurso appDevelopment, use o comando azsphere device enable-development. Este comando baixa o recurso appDevelopment para o dispositivo conectado, faz sideload do recurso no dispositivo e move o dispositivo para o grupo de dispositivos de desenvolvimento padrão. Para especificar um grupo de dispositivos diferente, inclua o --device-group parâmetro.

Quando você usa o azsphere device enable-development, o dispositivo permanece desbloqueado até que você o bloqueie explicitamente. Para bloquear novamente o dispositivo, use o comando azsphere device enable-cloud-test. Este comando remove a capacidade e altera o grupo de dispositivos, dependendo dos parâmetros de linha de comando fornecidos.

Os comandos azsphere device enable-development e azsphere device enable-cloud-test executam uma sequência de ações que preparam um dispositivo para desenvolvimento e depuração ou para implantações em nuvem, respectivamente. Em vez de usar esses comandos, você pode usar o comando azsphere device capability para baixar ou atualizar um recurso de dispositivo ou para descobrir quais recursos um dispositivo tem atualmente.

A capacidade fieldServicing

O recurso fieldServicing está presente em um dispositivo por padrão quando o dispositivo tem um estado de fabricação de Blank ou Module1Complete. Quando um dispositivo está no estado de fabricação DeviceComplete , o recurso fieldServicing pode ser sideload, mas normalmente é passado para o dispositivo a cada operação durante uma sessão de manutenção. Para obter detalhes sobre como iniciar uma sessão de manutenção, consulte Fazer alterações em um dispositivo após a fabricação.

Independentemente do estado de fabricação do dispositivo, o recurso fieldServicing desbloqueia a comunicação service-UART para permitir as seguintes operações:

  • Sideload de um pacote de imagem assinado pela produção.
  • Iniciar, parar e excluir um pacote de imagem assinado pela produção marcado como temporário.
  • Executar tarefas de manutenção de rotina, como configurar Wi-Fi.

Embora o recurso fieldServicing esteja presente por padrão no dispositivo quando o estado de fabricação do dispositivo é Blank ou Module1Complete, o comando show-attached da capacidade do dispositivo azsphere não exibe o recurso fieldServicing .

Dependência de keystore confiável atualizado

Quando um arquivo de capacidade é criado pelo AS3, ele é assinado usando a chave de assinatura de imagem atual. Cada dispositivo tem um keystore confiável como parte do sistema operacional onde essas chaves são mantidas. No entanto, se o dispositivo não estiver conectado à Internet, é possível que um recurso não seja confiável para o dispositivo que está visando se o armazenamento de chaves confiável desse dispositivo estiver desatualizado.

Para remediar isso, um método é permitir que o dispositivo se conecte à Internet para que atualize o keystore confiável. Ligue o seu dispositivo à Internet e prima Repor para acionar uma atualização do SO.

Se isso não for possível, você pode fazer sideload de um keystore confiável atualizado. Para fazer isso, aceite os termos de licença, em seguida , baixe as imagens de recuperação mais recentes do sistema operacional, e deste arquivo zip extraia apenas o arquivo "trusted-keystore.bin". Em seguida, você pode usar o comando azsphere device sideload deploy --image-package <path-to-trustedkeystore.bin-file> para fazer sideload do keystore confiável, e o recurso agora deve ser confiável para o dispositivo.

Um terceiro método é Recuperar o software do sistema para atualizar o sistema operacional Azure Sphere para a versão lançada mais recente, incluindo o armazenamento de chaves confiável mais recente.