Partilhar via


Desenvolvimento de dispositivos IoT

Esta visão geral apresenta os principais conceitos sobre o desenvolvimento de dispositivos que se conectam a soluções típicas do Azure IoT. Cada seção inclui links para conteúdo que fornece mais detalhes e orientações.

Em uma solução baseada em nuvem, os dispositivos se conectam diretamente a serviços baseados em nuvem, como o Hub IoT, enquanto em uma solução baseada em borda os dispositivos se conectam a serviços baseados em borda em seu ambiente, como as Operações IoT do Azure.

O diagrama a seguir demonstra uma visão de alto nível dos componentes numa solução típica de IoT baseada na periferia. Este artigo se concentra nos dispositivos, ativos e conectores mostrados no diagrama:

Diagrama que mostra a arquitetura da solução de IoT de alto nível destacando as áreas de conectividade do dispositivo.

Os ativos normalmente têm firmware interno que implementa protocolos padrão. Por exemplo, um braço robótico pode ser um cliente OPC UA e uma câmera de vídeo de segurança pode implementar o ONVIF. O Azure IoT Operations inclui vários conectores que podem usar esses protocolos para se comunicar com ativos e traduzir mensagens dos ativos em mensagens MQTT. Alguns ativos podem receber mensagens que permitem realizar operações neles, como:

  • Deslocar ou inclinar uma câmara de segurança.
  • Altere o nível de registro em um braço robótico.
  • Inicie uma atualização de firmware.

Você pode criar seus próprios conectores personalizados para se conectar a ativos que usam protocolos não suportados nativamente pelas Operações IoT do Azure.

Tipos de dispositivos

Uma solução de IoT pode conter muitos tipos de ativos e dispositivos. Normalmente, encontram-se dispositivos em soluções baseadas em nuvem e ativos em soluções de edge. Também é possível ter uma solução híbrida que contenha dispositivos e ativos.

Exemplos de ativos numa solução de computação na periferia incluem:

  • Braços robóticos, correias transportadoras e elevadores.
  • Máquinas CNC industriais, tornos, serras e furadeiras.
  • Máquinas de diagnóstico médico por imagem.
  • Câmaras de vídeo de segurança.
  • Controladores lógicos programáveis.

Esses ativos normalmente têm firmware interno que implementa protocolos padrão. Por exemplo, um braço robótico pode ser um cliente OPC UA e uma câmera de vídeo de segurança pode implementar o protocolo ONVIF. Numa solução baseada na periferia, usam-se conectores especializados para se ligar a esses ativos e traduzir mensagens deles para um formato comum.

Para ativos, não há equivalente direto à função de desenvolvedor de dispositivo. Em vez disso, um operador pode configurar os conectores para se conectar aos ativos. No entanto, talvez seja necessário desenvolver conectores personalizados para se conectar a ativos que usam protocolos não suportados nativamente pela sua solução baseada em borda.

Modelação e esquemas

Os modelos de dispositivos e ativos definem os dados que os dispositivos e ativos trocam com a nuvem. Os modelos permitem uma variedade de cenários low-code ou no-code para integrar os seus dispositivos e ativos com a sua solução IoT.

Numa solução baseada em computação periférica, um operador configura conectores para conectar-se a ativos. Essa configuração inclui um mapeamento entre os dados do ativo e um esquema de nuvem. Por exemplo, o conector OPC UA permite que o operador mapeie IDs de nó OPC UA para pontos de dados e eventos em uma mensagem JSON trocada com o broker MQTT. A captura de tela a seguir mostra um exemplo na interface do usuário da Web da experiência de operações digitais que define dois desses mapeamentos:

Captura de tela que mostra um exemplo de definição de ativo.

Em outra parte da solução, um operador pode consultar diretamente as tags Temperatura e Tag 10 sem precisar saber os detalhes dos IDs do nó OPC UA.

Contentorização

A conteinerização é uma maneira de empacotar e executar seu código em um ambiente leve e isolado. Os contêineres são portáteis e podem ser executados em qualquer plataforma que suporte o tempo de execução do contêiner. Os contêineres são uma boa maneira de empacotar e implantar seu código porque fornecem um ambiente de tempo de execução consistente para seu código. O ambiente de tempo de execução normalmente inclui os serviços, bibliotecas e pacotes que seu código precisa executar.

O Azure IoT Operations contentoriza todos os seus conectores, agentes e outros componentes que são executados na borda. O Azure IoT Operations implementa num cluster Kubernetes, que é uma plataforma de orquestração de contentores. Implante todos os conectores personalizados ou outros componentes criados no cluster do Kubernetes.

Pode visualizar uma solução que utiliza o Azure IoT Edge como um gateway de periferia para o IoT Hub, atuando como uma solução híbrida que integra elementos tanto de soluções de periferia quanto de soluções baseadas na nuvem.

Ferramentas de desenvolvimento de dispositivos

A tabela a seguir lista algumas das ferramentas de desenvolvimento de dispositivos IoT disponíveis:

Ferramenta Descrição
Azure IoT Hub (extensão VS Code) Esta extensão VS Code permite-lhe gerir os seus recursos e dispositivos do Hub IoT a partir do VS Code.
Azure IoT explorer Esta ferramenta multiplataforma permite-lhe gerir os seus recursos e dispositivos do Hub IoT a partir de uma aplicação de ambiente de trabalho.
Extensão do Azure IoT para CLI do Azure Esta extensão da CLI inclui comandos como az iot device simulate, az iot device c2d-messagee az iot hub monitor-events que ajudam a testar interações com dispositivos.