Prepare o ambiente de desenvolvimento e teste para o IoT Edge
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
O IoT Edge 1.5 LTS e o IoT Edge 1.4 LTS são versões com suporte. O IoT Edge 1.4 LTS chegará ao fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
O IoT Edge move sua lógica de negócios existente para dispositivos que operam na borda. Para preparar seus aplicativos e cargas de trabalho para executar como Módulos do IoT Edge, você precisa criá-los como contêineres. Este artigo fornece orientação sobre como configurar seu ambiente de desenvolvimento para que você possa criar uma solução IoT Edge com êxito. Depois de configurar seu ambiente de desenvolvimento, você pode aprender aDesenvolver seus próprios módulos do Azure IoT Edge.
Em qualquer solução Azure IoT Edge, há pelo menos dois computadores a serem considerados: o dispositivo IoT Edge (ou dispositivos) que executa o módulo IoT Edge e o computador de desenvolvimento que cria, testa e implanta módulos. Este artigo se concentra principalmente na máquina de desenvolvimento. Para fins de teste, as duas máquinas podem ser a mesma. Você pode executar o IoT Edge em seu computador de desenvolvimento e implantar módulos para ele.
Sistema operacional
O Azure IoT Edge é executado em um conjunto específico de sistemas operacionais com suporte. Ao desenvolver para IoT Edge, você pode usar a maioria dos sistemas operacionais que podem executar um mecanismo de contêiner. O mecanismo de contêiner é um requisito na máquina de desenvolvimento para compilar seus módulos como contêineres e enviar por push a um registro de contêiner.
Se sua máquina de desenvolvimento não puder executar o IoT Edge, pule para a seção Ferramentas de teste deste artigo para saber como testar e depurar localmente.
Os sistemas operacionais do computador de desenvolvimento e os dispositivos Azure IoT Edge não precisam corresponder. No entanto, o sistema operacional do contêiner deve ser consistente entre o computador de desenvolvimento e o dispositivo Azure IoT Edge. Por exemplo, você pode desenvolver módulos em um computador Windows e implantá-los em um dispositivo Linux. O computador do Windows precisa executar contêineres do Linux para criar os módulos para o dispositivo Linux.
Mecanismo de contêiner
O conceito central do IoT Edge é que você remotamente pode implantar sua lógica de negócios e de nuvem para dispositivos, empacotando-o em contêineres. Para criar contêineres, você precisa de um mecanismo de contêiner no computador de desenvolvimento.
Qualquer mecanismo de contêiner compatível com a iniciativa de contêiner aberto, como o Docker, é capaz de compilar as imagens do módulo do IoT Edge. Moby é o mecanismo de contêiner com suporte para dispositivos do IoT Edge na produção. Se você estiver usando snaps do Ubuntu Core, o snap do Docker será atendido pela Canonical e terá suporte para cenários de produção.
Ferramentas de desenvolvimento
A ferramenta de desenvolvimento do Azure IoT Edge é uma ferramenta de linha de comando para desenvolver e testar módulos do IoT Edge. Você pode criar novos cenário do IoT Edge, compilar imagens do módulo, executar módulos em um simular e monitorar mensagens enviadas para o Hub IoT. A ferramenta iotedgedev é a ferramenta recomendada para desenvolver módulos do IoT Edge.
Visual Studio e Visual Studio Code têm extensões de complemento para ajudar a desenvolver soluções do IoT Edge. Essas extensões fornecem modelos específicos do idioma para ajudar a criar e implantar novos cenários de IoT Edge. As extensões do Azure IoT Edge para Visual Studio e Visual Studio Code ajudam você a codificar, compilar, implantar e depurar suas soluções do IoT Edge. Você pode criar uma solução de IoT Edge inteira que contenha vários módulos e as extensões de atualizar automaticamente um modelo de manifesto de implantação com cada nova adição do módulo. As extensões também habilitam o gerenciamento de dispositivos IoT de dentro do Visual Studio ou Visual Studio Code. Você pode implantar módulos em um dispositivo, monitorar o status e exibir as mensagens conforme elas chegam ao Hub IoT. Por fim, ambas as extensões usam a ferramenta de desenvolvimento IoT EdgeHub para permitir a execução local e a depuração de módulos em sua máquina de desenvolvimento.
Ferramenta de desenvolvimento IoT Edge
A ferramenta de desenvolvimento do Azure IoT Edge simplifica o desenvolvimento de IoT Edge com capacidades de linha de comando. Essa ferramenta fornece comandos da CLI para desenvolver, depurar e testar módulos. A ferramenta de desenvolvimento do IoT Edge funciona com o sistema de desenvolvimento, se você instalou manualmente as dependências em seu computador ou está usando o Contêiner de desenvolvimento do IoT Edge para executar a ferramenta iotedgedev em um contêiner.
Para obter mais informações e começar a usar, consulte wiki de ferramenta de desenvolvimento de IoT Edge.
Extensão Visual Studio Code
A extensão do Azure IoT Edge para Visual Studio Code fornece modelos do módulo do IoT Edge criados em linguagens de programação como C, C#, Java, Node.js e Python. Modelos para funções do Azure em C# também estão incluídos.
Importante
A extensão do Azure IoT Edge para o Visual Studio Code está em modo de manutenção. A ferramenta iotedgedev é a ferramenta recomendada para desenvolver módulos do IoT Edge.
Para obter mais informações e fazer o download, consulte Azure IoT Edge para Visual Studio Code.
Além de extensões do IoT Edge, talvez você considere útil instalar extensões adicionais para o desenvolvimento. Por exemplo, você pode usar o Suporte do Docker para o Visual Studio Code para gerenciar suas imagens, contêineres e registros. Além disso, todas as linguagens com suporte principais têm extensões para o Visual Studio Code que podem ajudar quando você estiver desenvolvendo módulos.
A extensão do Hub IoT do Azure é útil como complemento da extensão do Azure IoT Edge.
Extensão do Visual Studio 2017/2019
As ferramentas do Azure IoT Edge para Visual Studio fornecem um modelo de módulo IoT Edge criado em C# e C.
Importante
As extensões do Visual Studio para o Azure IoT Edge estão em modo de manutenção. A ferramenta iotedgedev é a ferramenta recomendada para desenvolver módulos do IoT Edge.
Para obter mais informações e fazer o download, consulte Azure IoT Edge Tools para Visual Studio 2017 ou Azure IoT Edge Tools para Visual Studio 2019.
Ferramentas de teste
Existem várias ferramentas de testes para ajudá-lo a simular dispositivos IoT Edge ou depurar módulos com mais eficiência. A tabela abaixo mostra uma comparação de alto nível entre as ferramentas e as seções individuais a seguir descrevem cada ferramenta mais especificamente.
Apenas o runtime do IoT Edge tem suporte para implantações de produção, mas as ferramentas a seguir permitem que você simule ou crie facilmente dispositivos para fins de teste e desenvolvimento de IoT Edge. Essas ferramentas não são mutuamente exclusivas, mas podem trabalhar juntas para uma experiência de desenvolvimento completo.
Ferramenta | Também conhecida como | Plataformas com suporte | Mais adequado para |
---|---|---|---|
Ferramenta de desenvolvimento de IoT EdgeHub | iotedgehubdev | Windows, Linux, macOS | Simular um dispositivo para depurar os módulos. |
Contêiner de desenvolvimento de IoT Edge | iotedgedev | Windows, Linux, macOS | Desenvolvimento sem instalar as dependências. |
Ferramenta de desenvolvimento de IoT EdgeHub
A ferramenta de desenvolvimento do Azure IoT EdgeHub fornece uma experiência de desenvolvimento e depuração local. A ferramenta ajuda a iniciar módulos do IoT Edge sem o runtime do IoT Edge para que você possa criar, desenvolver, testar, executar e depurar os módulos IoT Edge e soluções localmente. Você não precisa enviar imagens por push para um registro de contêiner e implantá-las em um dispositivo para teste.
A ferramenta de desenvolvimento de IoT EdgeHub foi projetada para trabalhar em tandem com as extensões do Visual Studio e Visual Studio Code, bem como com a ferramenta de desenvolvimento de IoT Edge. A ferramenta de desenvolvimento oferece suporte ao desenvolvimento de loop interno, bem como ao teste de loop externo, portanto, também se integra a outras ferramentas de DevOps.
Importante
A ferramenta de desenvolvimento do IoT EdgeHub está em modo de manutenção. Considere usar uma máquina virtual do Linux com o runtime do IoT Edge instalado, dispositivo físico ou EFLOW.
Para obter mais informações e para instalar, consulte Ferramenta de desenvolvimento do Azure IoT EdgeHub.
Contêiner de desenvolvimento de IoT Edge
O contêiner de desenvolvimento do Azure IoT Edge é um contêiner do Docker que tem todas as dependências que você precisa para desenvolvimento de IoT Edge. Esse contêiner torna mais fácil começar com a linguagem que você deseja desenvolver, inclusive C#, Python, Node. js e Java. Você só precisa instalar um mecanismo de contêiner, como Docker ou Moby, para efetuar pull no contêiner para seu computador de desenvolvimento.
Para obter mais informações, consulte Contêiner de desenvolvimento do Azure IoT Edge.
Ferramentas DevOps
Quando estiver pronto para desenvolver soluções em escala para cenários de produção extenso, aproveite os princípios de DevOps modernos incluindo processos de engenharia de software simplificada, monitoramento e automação. O IoT Edge tem extensões para dar suporte a ferramentas de DevOps, incluindo DevOps do Azure, Azure DevOps Projects e Jenkins. Se você quiser personalizar um pipeline existente ou usar outra ferramenta DevOps como CircleCI ou TravisCI, você pode fazer isso com os recursos CLI incluídos na ferramenta de desenvolvimento de IoT Edge.
Para obter mais informações, diretrizes e exemplos, consulte as seguintes páginas: