Módulos guardiões
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).
Um módulo guardião é um hardware complementar que incorpora um chip do Azure Sphere e é fisicamente anexado a uma porta em um dispositivo "brownfield", ou seja, um dispositivo existente que talvez já esteja em uso.
Usando um módulo guardião, você pode adicionar funcionalidades de IoT seguras a equipamentos que não dão suporte à conectividade com a Internet ou que não dão suporte seguro a ele. Em suma, um módulo guardião fornece uma maneira de implementar conectividade segura em dispositivos existentes sem expor esses dispositivos à Internet. Já que ele é um dispositivo do Azure Sphere, todos os recursos de segurança e conectividade do Azure Sphere estão disponíveis: todos os dados são criptografados, as atualizações do sistema operacional e do aplicativo são entregues com segurança e a autenticação garante que o módulo se comunique somente com hosts confiáveis.
Veja como um módulo guardião funciona:
O módulo guardião se conecta a um dispositivo brownfield, conforme descrito na seção Conectividade deste tópico. O dispositivo brownfield propriamente dito não está conectado à rede.
O sistema operacional Azure Sphere é executado no módulo guardião, juntamente com um aplicativo de alto nível personalizado e quaisquer outros aplicativos do Azure Sphere que seu cenário requer.
O módulo guardião usa o serviço de segurança do Azure Sphere para autenticação baseada em certificado, relatório de falha e atualizações de software over-the-air.
O dispositivo brownfield se comunica com o módulo guardião, que pode responder realizando uma ação local ou relatando para uma presença de nuvem, tal como o Azure IoT Central.
Você pode comprar módulos do guardião de um fornecedor e personalizá-los ainda mais para seu cenário de uso ou pode criar seu próprio módulo guardião, possivelmente trabalhando com um parceiro de hardware. Confira o site do Azure Sphere para obter informações sobre fornecedores de hardware.
Usa para um módulo guardião
Um módulo guardião pode fazer qualquer coisa que qualquer outro dispositivo do Azure Sphere pode fazer, ao mesmo tempo em que atua como uma interface segura entre o equipamento existente e uma rede externa. Os possíveis usos para um módulo guardião incluem:
- Coletar dados do dispositivo brownfield, processar os dados e transmiti-los com segurança para um endpoint de nuvem
- Envio de dados para vários pontos de extremidade, desde que possa autenticar cada ponto de extremidade
- Coletar dados adicionais que não estão disponíveis no dispositivo brownfield; Por exemplo, sensores no módulo guardião podem fornecer dados ambientais para uso com dados operacionais do dispositivo brownfield
- Salvando dados do dispositivo brownfield em caso de perda de conectividade
O repositório de exemplos do Azure Sphere inclui dois exemplos que demonstram como um dispositivo do Azure Sphere pode ser usado como um módulo guardião:
- Dispositivo para Nuvem mostra como um dispositivo do Azure Sphere pode ser usado para coleta de dados enquanto fornece acesso seguro à Internet para um dispositivo brownfield conectado a ele por meio de uma interface serial.
- Os serviços de rede privada mostram como um dispositivo do Azure Sphere pode fornecer acesso seguro à Internet para um dispositivo brownfield conectado a ele por meio de uma interface TCP/IP.
Conectividade
Existem vários mecanismos suportados de conectividade entre o módulo guardião e a rede e entre o módulo guardião e o dispositivo brownfield. Para obter informações gerais sobre as soluções de conectividade do Azure Sphere, consulte Visão geral da conectividade e Requisitos de rede.
O aplicativo de alto nível de um módulo guardião se comunica upstream com a rede, incluindo o Serviço de Segurança do Azure Sphere e outros serviços de nuvem, e downstream com o dispositivo brownfield:
Para conexões upstream entre o módulo guardião e a rede, você pode usar Ethernet, Wi-Fi ou celular.
Para conexões downstream entre o módulo guardião e o equipamento brownfield, você pode usar o seguinte:
- Qualquer interface serial, como UART, RS-485 ou SPI, que o dispositivo brownfield expõe
- Ethernet privada, que não expõe o dispositivo brownfield à rede pública
- Sem fio, como Bluetooth ou ZigBee
Desenvolvimento e implantação de aplicativos
Desenvolver e implantar um aplicativo para um módulo guardião não é diferente de desenvolver e implantar um aplicativo para qualquer outro dispositivo do Azure Sphere. Consulte Visão geral dos aplicativos do Azure Sphere e Noções básicas de implantação para obter detalhes. Assim como acontece com qualquer dispositivo do Azure Sphere, um módulo guardião deve ter pelo menos um aplicativo do Azure Sphere de alto nível e também pode ter aplicativos com capacidade para tempo real.
Você precisará acessar o serviço UART, que é a principal interface de programação e depuração entre o MT3620 e o ambiente de desenvolvimento em execução em um computador host. Se você projetar seu próprio módulo guardião, precisará garantir que os sinais UART de serviço sejam expostos e que você ofereça suporte a uma maneira de interagir com o UART de serviço no próprio módulo guardião ou em uma peça separada de hardware. Se você comprar módulos de um fornecedor, o fornecedor deverá fornecer uma solução que habilite essa conexão.
Se o fornecedor ou outro terceiro criar o aplicativo, talvez seja necessário fornecer acesso ao seu locatário de Azure Sphere para que o desenvolvedor do aplicativo possa carregar e testar o aplicativo e criar uma implantação.
Aplicativos de alto nível
Um aplicativo de alto nível do módulo guardião deve ser personalizado para os dispositivos brownfield de cada organização. Se o fornecedor do módulo guardião fornecer um aplicativo, certifique-se de receber o código-fonte e as bibliotecas do aplicativo de alto nível para que você possa modificar ou atualizar o aplicativo conforme necessário.
Assim como acontece com qualquer aplicativo de dispositivo do Azure Sphere, os detalhes específicos do dispositivo e do aplicativo devem ser listados no manifesto do aplicativo. Por exemplo, as conexões do módulo guardião são detalhes específicos do dispositivo que devem ser incluídos no manifesto.
Um aplicativo de alto nível executado em um módulo guardião é responsável pelo seguinte:
- Estabelecer e manter a conectividade com o equipamento brownfield
- Estabelecer e manter a conectividade com a Internet, incluindo o Serviço de Segurança do Azure Sphere e outros serviços de nuvem
- Manipulação de dados recebidos do dispositivo brownfield — descompactação e armazenamento de dados, se necessário, e comunicação com os hosts da Internet conforme apropriado
- Manipulação de dados recebidos de um host da Internet — descompactação e armazenamento de dados, se necessário, e comunicação com o equipamento brownfield conforme apropriado
Os dados enviados upstream podem incluir relatórios de erros, parâmetros operacionais ou telemetria em geral. O Azure Sphere garante que todos esses dados sejam criptografados. O aplicativo pode se conectar a serviços Web e usar autenticação mútua para essas conexões.
Os dados enviados downstream podem incluir software atualizado ou alterações em configurações ou parâmetros para o dispositivo brownfield. Para evitar possíveis violações de segurança, o aplicativo deve validar os dados de entrada antes de passá-los downstream para o dispositivo brownfield.
Considerações sobre o aplicativo
Ao criar um aplicativo, você deve considerar os periféricos disponíveis, os requisitos de armazenamento e o consumo de energia.
Dispositivos periféricos
Assim como em outros dispositivos Azure Sphere, os módulos guardiões diferem quanto aos periféricos que expõem. Escolha um módulo guardião que forneça a conectividade e as funcionalidades de detecção que seu cenário requer.
Dependendo da arquitetura de hardware do módulo guardião, ou seja, de como ele expõe as funcionalidades do chip do Azure Sphere, você pode determinar se o software para acessar recursos individuais precisa ser implementado como um aplicativo de alto nível ou então um aplicativo com capacidade para tempo real.
Requisitos de armazenamento
O Azure Sphere tem armazenamento limitado, portanto, considere cuidadosamente quanta memória é necessária para aplicativos e dados. Consulte Memória disponível para obter mais informações.
Ao enviar dados downstream da nuvem para o dispositivo brownfield, certifique-se de que o módulo guardião tenha espaço suficiente para armazenar os dados. Talvez seja necessário enviar dados em partes, conforme demonstrado pelo exemplo HTTPS_Curl_Multi no repositório de exemplos do GitHub do Azure Sphere.
Ao enviar dados upstream do dispositivo brownfield para o módulo guardião, certifique-se de que seu aplicativo possa lidar com falhas de conectividade upstream. Se o dispositivo brownfield fornecer telemetria contínua, você deverá considerar quais dados e quanto deles reter e enviar posteriormente para a nuvem quando a conectividade for restaurada. Consulte o exemplo de galeria de armazenamento e encaminhamento, que mostra como usar o armazenamento local para armazenar dados em cache temporariamente antes de serem carregados.
Consumo de energia
Existem inúmeras aplicações nas quais o módulo guardião fica inativo na maior parte do tempo. Por exemplo, considere um dispositivo do Azure Sphere que uma vez a cada hora coleta dados de uma rede de sensores e carrega esses dados na nuvem, uma operação que pode levar um ou dois minutos. Nesse caso, a maior parte da energia consumida pelo dispositivo é desperdiçada.
Você pode reduzir significativamente o consumo de energia e, assim, aumentar a vida útil da bateria, colocando o dispositivo no estado de desligamento quando estiver inativo ou definindo um perfil de energia. Consulte Gerenciar estado de desligamento e Definir perfis de energia para obter detalhes.