Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure IoT é uma coleção de serviços gerenciados e de plataforma que conectam, monitoram e controlam seus dispositivos IoT. O Azure IoT oferece aos desenvolvedores um conjunto abrangente de opções. Suas opções incluem plataformas de dispositivo, suporte a serviços de nuvem, SDKs, suporte a MQTT e ferramentas para criar aplicativos de nuvem habilitados para dispositivos.
Este artigo apresenta várias considerações importantes para desenvolvedores que estão começando a usar o Azure IoT.
- Noções básicas sobre caminhos de desenvolvimento de dispositivos
- Escolhendo seu hardware
- Escolhendo um SDK
- Selecionando um serviço para conectar o dispositivo
- Ferramentas para conectar e gerenciar dispositivos
Caminhos de desenvolvimento de dispositivos
Este artigo discute dois caminhos comuns de desenvolvimento de dispositivos. Cada caminho inclui um conjunto de opções e tarefas de desenvolvimento relacionadas.
Desenvolvimento geral de dispositivos: Alinha-se às práticas de desenvolvimento modernas, tem como alvo linguagens de ordem superior e é executado em um sistema operacional de uso geral, como Windows ou Linux.
Observação
Se o seu dispositivo for capaz de executar um sistema operacional de uso geral, recomendamos seguir o Caminho de desenvolvimento geral do dispositivo . Ele fornece um conjunto mais rico de opções de desenvolvimento.
Desenvolvimento de dispositivos embarcados: Descreve o desenvolvimento direcionado a dispositivos com restrição de recursos. Muitas vezes, você usa um dispositivo com recursos limitados para reduzir os custos por unidade, o consumo de energia ou o tamanho do dispositivo. Esses dispositivos têm controle direto sobre a plataforma de hardware em que são executados.
Desenvolvimento geral de dispositivos
Alguns desenvolvedores adaptam dispositivos de uso geral existentes para se conectar à nuvem e integrá-los em suas soluções de IoT. Esses dispositivos podem dar suporte a linguagens de ordem superior, como C# ou Python, e geralmente dão suporte a um sistema operacional robusto de uso geral, como Windows ou Linux. Os dispositivos de destino comuns incluem PCs, contêineres, Raspberry Pis e dispositivos móveis.
Em vez de desenvolver dispositivos restritos em escala, os desenvolvedores de dispositivos gerais se concentram em habilitar um cenário específico de IoT exigido por sua solução de nuvem. Alguns desenvolvedores também trabalham em dispositivos restritos para sua solução de nuvem. Para desenvolvedores que trabalham com dispositivos com recursos limitados, consulte o caminho de desenvolvimento de dispositivos incorporados .
Importante
Para obter informações sobre SDKs a serem usados para desenvolvimento geral de dispositivos, consulte os SDKs do dispositivo.
Desenvolvimento de dispositivos inseridos
O desenvolvimento incorporado tem como alvo dispositivos restritos que têm memória e processamento limitados. Dispositivos restritos restringem o que pode ser alcançado em comparação com uma plataforma de desenvolvimento tradicional.
Os dispositivos incorporados normalmente usam um sistema operacional em tempo real (RTOS) ou nenhum sistema operacional. Os dispositivos embarcados têm controle total sobre seu hardware, devido à falta de um sistema operacional de uso geral. Esse fato torna os dispositivos embarcados uma boa opção para sistemas em tempo real.
Os SDKs incorporados atuais são direcionados à linguagem C . Os SDKs integrados não fornecem suporte ao sistema operacional ou ao Eclipse ThreadX. Eles são projetados com alvos incorporados em mente. As considerações de design incluem a necessidade de um volume mínimo e um design sem alocação de memória.
Importante
Para obter informações sobre SDKs a serem usados com o desenvolvimento de dispositivos incorporados, consulte os SDKs de dispositivos incorporados.
Escolhendo seu hardware
Os dispositivos IoT do Azure são os blocos de construção básicos de uma solução de IoT e são responsáveis por observar e interagir com seu ambiente. Existem muitos tipos diferentes de dispositivos IoT e é útil entender os tipos de dispositivos existentes e como eles podem afetar seu processo de desenvolvimento.
Para obter mais informações sobre a diferença entre os tipos de dispositivos abordados neste artigo, consulte Sobre os tipos de dispositivos IoT.
Escolhendo um SDK
Como desenvolvedor de dispositivos IoT do Azure, você tem um conjunto diversificado de SDKs, protocolos e ferramentas para ajudar a criar aplicativos de nuvem habilitados para dispositivos.
Há duas opções principais para conectar dispositivos e se comunicar com o Hub IoT:
- Use os SDKs de IoT do Azure. Na maioria dos casos, recomendamos que você use os SDKs do Azure IoT em vez de usar o MQTT diretamente. Os SDKs simplificam seu esforço de desenvolvimento e simplificam a complexidade de conectar e gerenciar dispositivos. O Hub IoT dá suporte ao protocolo MQTT v3.1.1 e os SDKs de IoT simplificam o processo de uso do MQTT para se comunicar com o Hub IoT.
- Use o protocolo MQTT diretamente. Há algumas vantagens de criar uma solução de Hub IoT para usar o MQTT diretamente. Por exemplo, uma solução que usa MQTT diretamente sem os SDKs pode ser construída no padrão MQTT aberto. Uma abordagem baseada em padrões torna a solução mais portátil e oferece mais controle sobre como os dispositivos se conectam e se comunicam. No entanto, o Hub IoT não é um agente MQTT completo e não dá suporte a todos os comportamentos especificados no padrão MQTT v3.1.1. O suporte parcial para MQTT v3.1.1 adiciona custo de desenvolvimento e complexidade. Os desenvolvedores de dispositivos devem pesar as compensações de usar os SDKs do dispositivo IoT versus usar o MQTT diretamente. Para obter mais informações, consulte Comunicar-se com um hub IoT usando o protocolo MQTT.
Há três conjuntos de SDKs de IoT para desenvolvimento de dispositivos:
- SDKs de dispositivo (para usar linguagens de ordem superior para conectar dispositivos de uso geral existentes a aplicativos IoT)
- SDKs de dispositivos inseridos (para conectar dispositivos com restrição de recursos a aplicativos de IoT)
- SDKs de serviço (para criar soluções de IoT do Azure que conectam dispositivos a serviços)
Para saber mais sobre como escolher um dispositivo IoT do Azure ou um SDK de serviço, confira SDKs do Azure IoT.
Selecionando um serviço
Uma etapa fundamental no processo de desenvolvimento é selecionar um serviço ao qual conectar seus dispositivos. Há duas opções principais de serviço do Azure IoT para conectar e gerenciar dispositivos: Hub IoT e IoT Central.
- Hub IoT do Azure. Use o Hub IoT para hospedar aplicativos IoT e conectar dispositivos. O Hub IoT é um aplicativo de PaaS (plataforma como serviço) que atua como um hub de mensagens central para comunicação bidirecional entre aplicativos IoT e dispositivos conectados. O Hub IoT pode ser dimensionado para dar suporte a milhões de dispositivos. Em comparação com outros serviços de IoT do Azure, o Hub IoT oferece o maior controle e personalização sobre o design do aplicativo. Ele também oferece a maioria das opções de ferramentas de desenvolvedor para trabalhar com o serviço, ao custo de algum aumento na complexidade de desenvolvimento e gerenciamento.
- Azure IoT Central. O IoT Central foi projetado para simplificar o processo de trabalho com soluções de IoT. Você pode usá-lo como uma prova de conceito para avaliar suas soluções de IoT. O IoT Central é um aplicativo SaaS (software como serviço) que fornece uma interface do usuário da Web para simplificar as tarefas de criação de aplicativos e conexão e gerenciamento de dispositivos. O IoT Central usa o Hub IoT para criar e gerenciar aplicativos, mas mantém a maioria dos detalhes transparentes para o usuário.
Ferramentas para conectar e gerenciar dispositivos
Depois de selecionar o hardware e um SDK de dispositivo a serem usados, você tem várias opções de ferramentas de desenvolvedor. Você pode usar essas ferramentas para conectar seu dispositivo ao Hub IoT e gerenciá-las. A tabela a seguir resume as opções de ferramentas comuns.
| Ferramenta | Documentação | Descrição |
|---|---|---|
| Portal do Azure | Criar um hub IoT com o portal do Azure | Portal baseado em navegador para Hub IoT e dispositivos. Também funciona com outros recursos do Azure, incluindo o IoT Central. |
| Azure IoT Explorer | Azure IoT Explorer | Não é possível criar hubs IoT. Conecta-se a um hub IoT existente para gerenciar dispositivos. Frequentemente usado com CLI ou Portal. |
| Azure CLI (Interface de Linha de Comando do Azure) | Criar um hub IoT com a CLI | Interface de linha de comando para criar e gerenciar aplicativos IoT. |
| Azure PowerShell | Criar um hub IoT com o PowerShell | Interface do PowerShell para criar e gerenciar aplicativos de IoT |
| Azure IoT Tools para VS Code | Criar um hub IoT com Ferramentas para VS Code | Extensão do VS Code para aplicativos do Hub IoT. |
Observação
Além das ferramentas listadas anteriormente, você pode criar e gerenciar programaticamente aplicativos de IoT usando APIs REST, SDKs do Azure ou modelos do Azure Resource Manager. Saiba mais na documentação do serviço do Hub IoT .
Próximas etapas
Para saber mais sobre os SDKs de dispositivo que você pode usar para conectar dispositivos ao Azure IoT, consulte o artigo a seguir.
Para começar a usar o desenvolvimento prático de dispositivos, selecione um tutorial de desenvolvimento de dispositivos relevante para os dispositivos que você está usando. Os tutoriais a seguir são bons pontos de partida para o desenvolvimento geral de dispositivos ou desenvolvimento de dispositivos incorporados.