Prepare seu ambiente de desenvolvimento e teste para o IoT Edge
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar 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 serem executados 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 com êxito uma solução IoT Edge. Depois de configurar seu ambiente de desenvolvimento, você pode aprender a desenvolver seus próprios módulos do IoT Edge.
Em qualquer solução IoT Edge, há pelo menos duas máquinas a serem consideradas: o dispositivo (ou dispositivos) IoT Edge que executa o módulo IoT Edge e a máquina 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 iguais. Você pode executar o IoT Edge em sua máquina de desenvolvimento e implantar módulos nela.
Sistema operativo
O IoT Edge é executado em um conjunto específico de sistemas operacionais suportados. 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 construir seus módulos como contêineres e enviá-los para um registro de contêiner.
Se sua máquina de desenvolvimento não puder executar o IoT Edge, vá para a seção Ferramentas de teste deste artigo para saber como testar e depurar localmente.
Os sistemas operacionais da máquina de desenvolvimento e os dispositivos IoT Edge não precisam corresponder. No entanto, o sistema operacional de contêiner deve ser consistente com a máquina de desenvolvimento e o dispositivo IoT Edge. Por exemplo, você pode desenvolver módulos em uma máquina Windows e implantá-los em um dispositivo Linux. A máquina Windows precisa executar contêineres Linux para construir os módulos para o dispositivo Linux.
Motor de contentores
O conceito central do IoT Edge é que você pode implantar remotamente sua lógica de negócios e de nuvem em dispositivos, empacotando-a em contêineres. Para construir contêineres, você precisa de um mecanismo de contêiner em sua máquina de desenvolvimento.
Qualquer mecanismo de contêiner compatível com a Open Container Initiative, como o Docker, é capaz de criar imagens de módulo do IoT Edge. Moby é o mecanismo de contêiner suportado para dispositivos IoT Edge em produção. Se você estiver usando snaps do Ubuntu Core, o snap do Docker é atendido pela Canonical e suportado para cenários de produção.
Ferramentas de programação
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ários do IoT Edge, criar imagens de módulos, executar módulos em um simulador e monitorar mensagens enviadas ao Hub IoT. A ferramenta iotedgedev é a ferramenta recomendada para o desenvolvimento de módulos IoT Edge.
O Visual Studio e o Visual Studio Code têm extensões complementares para ajudar a desenvolver soluções do IoT Edge. Essas extensões fornecem modelos específicos de idioma para ajudar a criar e implantar novos cenários do IoT Edge. As extensões do Azure IoT Edge para Visual Studio e Visual Studio Code ajudam você a codificar, criar, implantar e depurar suas soluções IoT Edge. Você pode criar uma solução IoT Edge inteira que contenha vários módulos, e as extensões atualizam automaticamente um modelo de manifesto de implantação a cada nova adição de módulo. As extensões também permitem 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 mensagens à medida que elas chegam ao Hub IoT. Finalmente, ambas as extensões usam a ferramenta de desenvolvimento IoT EdgeHub para habilitar a execução local e a depuração de módulos em sua máquina de desenvolvimento.
Ferramenta de desenvolvimento do IoT Edge
A ferramenta de desenvolvimento do Azure IoT Edge simplifica o desenvolvimento do IoT Edge com habilidades de linha de comando. Esta ferramenta fornece comandos CLI para desenvolver, depurar e testar módulos. A ferramenta de desenvolvimento do IoT Edge funciona com seu sistema de desenvolvimento, quer você tenha instalado manualmente as dependências em sua máquina ou esteja usando o Contêiner de Desenvolvimento do IoT Edge pré-criado para executar a ferramenta iotedgedev em um contêiner.
Para obter mais informações e começar, consulte Wiki da ferramenta de desenvolvimento do IoT Edge.
Extensão do Visual Studio Code
A extensão do Azure IoT Edge para Visual Studio Code fornece modelos de módulo IoT Edge criados em linguagens de programação, incluindo 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 Azure IoT Edge Visual Studio Code está no modo de manutenção. A ferramenta iotedgedev é a ferramenta recomendada para o desenvolvimento de módulos IoT Edge.
Para obter mais informações e baixar, consulte Azure IoT Edge para Visual Studio Code.
Além das extensões do IoT Edge, você pode achar útil instalar extensões adicionais para desenvolvimento. Por exemplo, você pode usar o Suporte do Docker para Visual Studio Code para gerenciar suas imagens, contêineres e registros. Além disso, todas as principais linguagens suportadas 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 um complemento para a 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 Azure IoT Edge Visual Studio estão no modo de manutenção. A ferramenta iotedgedev é a ferramenta recomendada para o desenvolvimento de módulos IoT Edge.
Para obter mais informações e baixar, consulte Ferramentas do Azure IoT Edge para Visual Studio 2017 ou Ferramentas do Azure IoT Edge para Visual Studio 2019.
Ferramentas de teste
Existem várias ferramentas de teste para ajudá-lo a simular dispositivos IoT Edge ou depurar módulos de forma mais eficiente. 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.
Somente o tempo de execução do IoT Edge é suportado para implantações de produção, mas as ferramentas a seguir permitem simular ou criar facilmente dispositivos IoT Edge para fins de desenvolvimento e teste. Essas ferramentas não são mutuamente exclusivas, mas podem trabalhar juntas para uma experiência de desenvolvimento completa.
Ferramenta | Também conhecido como | Plataformas suportadas | Melhor para |
---|---|---|---|
Ferramenta de desenvolvimento IoT EdgeHub | iotedgehubdev | Windows, Linux, macOS | Simulando um dispositivo para depurar módulos. |
Contêiner de desenvolvimento do IoT Edge | iotedgedev | Windows, Linux, macOS | Desenvolvimento sem instalar dependências. |
Ferramenta de desenvolvimento 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 tempo de execução do IoT Edge para que você possa criar, desenvolver, testar, executar e depurar módulos e soluções do IoT Edge localmente. Não é necessário enviar imagens por push para um registro de contêiner e implantá-las em um dispositivo para teste.
A ferramenta de desenvolvimento IoT EdgeHub foi projetada para funcionar em conjunto com as extensões Visual Studio e Visual Studio Code, bem como com a ferramenta de desenvolvimento IoT Edge. A ferramenta de desenvolvimento suporta o desenvolvimento de loop interno, bem como testes de loop externo, por isso também se integra com outras ferramentas de DevOps.
Importante
A ferramenta de desenvolvimento IoT EdgeHub está no modo de manutenção. Considere o uso de uma máquina virtual Linux com o tempo de execução do IoT Edge instalado, dispositivo físico ou EFLOW.
Para obter mais informações e instalar, consulte Ferramenta de desenvolvimento do Azure IoT EdgeHub.
Contêiner de desenvolvimento do IoT Edge
O contêiner de desenvolvimento do Azure IoT Edge é um contêiner do Docker que tem todas as dependências necessárias para o desenvolvimento do IoT Edge. Esse contêiner facilita a introdução com qualquer linguagem em que você queira desenvolver, incluindo C#, Python, Node.js e Java. Tudo o que você precisa instalar é um mecanismo de contêiner, como Docker ou Moby, para puxar o contêiner para sua máquina 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 abrangentes, aproveite os princípios modernos de DevOps, incluindo automação, monitoramento e processos simplificados de engenharia de software. O IoT Edge tem extensões para dar suporte a ferramentas de DevOps, incluindo Azure DevOps, Azure DevOps Projects e Jenkins. Se você quiser personalizar um pipeline existente ou usar uma ferramenta de DevOps diferente, como CircleCI ou TravisCI, poderá fazê-lo com os recursos da CLI incluídos na ferramenta de desenvolvimento do IoT Edge.
Para obter mais informações, orientações e exemplos, consulte as seguintes páginas: