Azure IoT SDKs de dispositivo e serviço

Essa referência lista os Azure SDKs que você pode usar para criar soluções de IoT, incluindo SDKs de dispositivo, serviço e gerenciamento para IoT Hub e DPS (Serviço de Provisionamento de Dispositivos), SDKs de visualização para gerenciamento de certificados e links para apIs do plano de controle de Azure Digital Twins e do plano de dados.

SDKs de dispositivo

Os SDKs do dispositivo Azure IoT da Microsoft contêm código que facilita a criação de aplicativos que se conectam e são gerenciados por serviços de Azure IoT Hub. Esses SDKs podem ser executados em um dispositivo de computação baseado em MPU geral, como um pc, tablet, smartphone ou Raspberry Pi. Os SDKs dão suporte ao desenvolvimento em C e em linguagens gerenciadas modernas, incluindo em C#, Node.js, Python e Java.

Os SDKs estão disponíveis em vários idiomas, fornecendo a flexibilidade para escolher qual melhor se adapta à sua equipe e cenário.

Linguagem Package Fonte Quickstarts Samples Referência
.NET NuGet GitHub Conectar para IoT Hub Samples Referência
Python pip GitHub Conectar para IoT Hub Samples Referência
Node.js npm  GitHub Conectar para IoT Hub Samples Referência
Java Maven GitHub Conectar para IoT Hub Samples Referência
C packages GitHub Conectar para IoT Hub Samples Referência

O SDK do dispositivo Java inclui samplas para Android.

O SDK do dispositivo C inclui samplas para iOS que usam CocoaPods.

Aviso

O SDK Azure IoT C não é adequado para aplicativos inseridos devido ao seu modelo de threading e gerenciamento de memória. Para opções do SDK de dispositivos inseridos, veja os SDKs de dispositivos inseridos.

Use os SDKs do dispositivo para desenvolver código para execução em dispositivos IoT que se conectam a IoT Hub ou IoT Central.

SDKs de dispositivos inseridos

Esses SDKs foram projetados e criados para execução em dispositivos com recursos limitados de computação e memória e são implementados usando a linguagem C.

Os SDKs de dispositivos inseridos estão disponíveis para vários sistemas operacionais, fornecendo a flexibilidade para escolher qual melhor se adapta ao seu cenário.

RTOS SDK Fonte Samples Referência
Eclipse ThreadX Middleware Azure RTOS GitHub Inícios Rápidos Referência
FreeRTOS Middleware FreeRTOS GitHub Samples Referência
Bare-metal Azure SDK do Embedded C GitHub Samples Referência

Use os SDKs de dispositivo inserido para desenvolver código para execução em dispositivos IoT que se conectam a IoT Hub ou IoT Central.

Para saber mais sobre quando usar os SDKs do dispositivo inserido, consulte Cenários de uso do SDK do C e do SDK do C inserido.

Ciclo de vida e suporte de SDK do dispositivo

Esta seção resume o ciclo de vida e a política de suporte do SDK do Dispositivo Azure IoT. Para obter mais informações, consulte Azure SDK Ciclo de Vida e política de suporte.

Ciclo de vida do pacote

Os pacotes são lançados nas categorias a seguir. Cada categoria tem uma estrutura de suporte definida.

  1. Beta – Também conhecido como Versão Prévia ou Release Candidate. Disponível para fins de acesso antecipado e comentários e não é recomendado para uso em produção. O suporte à versão prévia é limitado a problemas de GitHub. As versões prévias normalmente ficam ativas por menos de seis meses. Após disso são preteridas ou lançadas como ativas.

  2. Ativa – Geralmente disponível e totalmente compatível, recebe novas atualizações de recursos, bem como correções de bugs e segurança. Use a versão mais recente porque essa versão recebe correções e atualizações.

  3. Preterida – substituído por uma versão mais recente. A substituição ocorre ao mesmo tempo em que a nova versão se torna ativa. As versões preteridas abordam as correções de bugs e correções de segurança mais críticas por mais 12 meses.

Obtenha suporte

Se você tiver problemas ao usar os SDKs do Azure IoT, procure suporte por meio das seguintes opções:

  • Reportando bugs - Todos os clientes podem relatar bugs na página de problemas do repositório GitHub associado ao SDK relevante.

  • Microsoft equipe de Suporte ao Cliente - Os usuários que têm um plano support podem envolver a equipe de Suporte ao Cliente Microsoft criando um tíquete de suporte diretamente do portal Azure.

SDKs do serviço IoT Hub

Os SDKs do serviço Azure IoT contêm código para facilitar a criação de aplicativos que interagem diretamente com IoT Hub para gerenciar dispositivos e segurança.

Plataforma Package Repositório de código Samples Referência
.NET NuGet GitHub Samples Referência
Java Maven GitHub Samples Referência
Node npm GitHub Samples Referência
Python pip GitHub Samples Referência

Para saber mais sobre como usar os SDKs de serviço para interagir com dispositivos por meio de um hub IoT, consulte IoT Plug and Play guia do desenvolvedor de serviços.

SDKs de gerenciamento de IoT Hub

Os SDKs de gerenciamento de IoT Hub ajudam você a criar aplicativos de back-end que gerenciam os hubs IoT em sua assinatura Azure.

Plataforma Package Repositório de código Referência
.NET NuGet GitHub Referência
Java Maven GitHub Referência
Node.js npm GitHub Referência
Python pip GitHub Referência

As alternativas aos SDKs de gerenciamento incluem o Azure CLI, PowerShell e REST API.

SDKs de dispositivo DPS

Os SDKs de dispositivo do DPS fornecem implementações da API de Registro e outras que os dispositivos chamam para provisionar por meio do DPS. Os SDKs de dispositivo podem ser executados em dispositivos de computação baseado em MPU gerais, como um pc, tablet, smartphone ou Raspberry Pi. Os SDKs dão suporte ao desenvolvimento em C e em linguagens gerenciadas modernas, incluindo em C#, Node.js, Python e Java.

A tabela a seguir lista os SDKs do dispositivo disponíveis para cada idioma com suporte.

Plataforma Package Repositório de código Samples Início Rápido Referência
.NET NuGet GitHub Samples Início rápido Referência
C apt-get, MBED, Arduino IDE ou iOS GitHub Samples Início rápido Referência
Java Maven GitHub Samples Início rápido Referência
Node.js npm GitHub Samples Início rápido Referência
Python pip GitHub Samples Início rápido Referência

Aviso

O SDK do C listado acima, devido ao modelo de threading e ao gerenciamento de memória dele, não é adequado para aplicativos inseridos. Para dispositivos inseridos, confira os SDKs de dispositivos inseridos.

SDKs de dispositivos incorporados DPS

Esses SDKs foram projetados e criados para execução em dispositivos com recursos limitados de computação e memória e são implementados usando a linguagem C.

RTOS SDK Fonte Samples Referência
Eclipse ThreadX Middleware Azure RTOS GitHub Inícios Rápidos Referência
FreeRTOS Middleware FreeRTOS GitHub Samples Referência
Bare-metal Azure SDK do Embedded C GitHub Samples Referência

Saiba mais sobre os SDKs do dispositivo e do dispositivo inserido em SDKs de IoT.

SDKs do serviço DPS

Os SDKs do serviço do DPS ajudam você a criar aplicativos de back-end para gerenciar registros e registros em instâncias do DPS.

Plataforma Package Repositório de código Samples Início Rápido Referência
.NET NuGet GitHub Samples Início rápido Referência
Java Maven GitHub Samples Início rápido Referência
Node.js npm GitHub Samples Início rápido Referência

SDKs de gerenciamento de DPS

Os SDKs de gerenciamento de DPS ajudam você a criar aplicativos de back-end que gerenciam as instâncias DPS e seus metadados em sua assinatura Azure.

Plataforma Package Repositório de código Referência
.NET NuGet GitHub Referência
Java Maven GitHub Referência
Node.js npm GitHub Referência
Python pip GitHub Referência

SDKs de gerenciamento de certificados (versão prévia)

Para SDKs que dão suporte ao gerenciamento de certificados X.509 com suporte Microsoft na versão prévia, use as instruções e os exemplos a seguir. Para usar SDKs de gerenciamento de certificados na versão prévia, você deve usar Azure IoT Hub com uma instância de DPS vinculada e os dispositivos devem provisionar por meio do DPS.

SDKs do dispositivo de gerenciamento de certificados (versão prévia)

A tabela a seguir lista os SDKs da plataforma que atualmente dão suporte ao gerenciamento de certificados X.509 com suporte Microsoft em versão prévia.

Linguagem Package Origem/Ramificação Samples
.NET NuGet Azure/azure-iot-sdk-csharp em feature/iot-csr-preview CertificateSigningRequestSample
Python pip Azure/azure-iot-sdk-python em feature/iot-csr-preview exemplos cert-mgmt
Node.js npm Não disponível Não disponível
Java Maven Azure/azure-iot-sdk-java em feature/csr certificate-signing-sample
C packages Azure/azure-iot-sdk-c em feature/dps-csr-preview iothub_ll_client_sample_certificate_signing_request

SDKs de dispositivo inserido de gerenciamento de certificados (versão prévia)

A tabela a seguir lista os SDKs inseridos que atualmente dão suporte ao gerenciamento de certificados X.509 com suporte Microsoft em versão prévia.

RTOS SDK Fonte Samples
FreeRTOS Middleware FreeRTOS Azure/azure-iot-middleware-freertos em feature/dps-csr-preview Não disponível
Bare-metal Azure SDK do Embedded C Azure/azure-sdk-for-c em feature/dps-csr-preview paho_iot_hub_csr_sample.c

APIs do painel de controle Azure Digital Twins

As APIs do plano de controle são ARM APIs usadas para gerenciar sua instância de Azure Digital Twins como um todo, para que elas cubram operações como criar ou excluir toda a instância. Você também usará essas APIs para criar e excluir pontos de extremidade.

Para chamar as APIs diretamente, faça referência à pasta swagger mais recente no repositório swagger do plano controle. Essa pasta também inclui outra pasta de exemplos de uso.

Aqui estão os SDKs disponíveis atualmente para as APIs do plano de controle Azure Digital Twins.

Linguagem do SDK Link de pacote Documentação de referência Código-fonte
.NET (C#) Azure. ResourceManager.DigitalTwins no NuGet Reference for Azure DigitalTwins SDK for .NET < biblioteca de clientes de gerenciamento de Azure Digital Twins >c0>Microsoft para .NET no GitHub
Java azure-resourcemanager-digitaltwins no Maven Referência para gerenciamento de recursos – Gêmeos Digitais do Azure Azure Resource Manager biblioteca de clientes do AzureDigitalTwins para Java no GitHub
JavaScript Biblioteca de clientes do AzureDigitalTwinsManagement para JavaScript no npm biblioteca de clientes AzureDigitalTwinsManagement para JavaScript em GitHub
Python azure-mgmt-digitaltwins no PyPI Microsoft Azure SDK para Python em GitHub
Go azure-sdk-for-go/services/digitaltwins/mgmt Azure SDK for Go no GitHub

APIs do plano de dados Azure Digital Twins

As APIs do plano de dados são as APIs de Azure Digital Twins usadas para gerenciar os elementos em sua instância de Azure Digital Twins. Elas incluem operações como criar rotas, carregar modelos, criar relações e gerenciar gêmeos e podem ser amplamente divididas nas seguintes categorias:

  • DigitalTwinModels - A categoria DigitalTwinModels contém APIs para gerenciar os models em uma instância de Azure Digital Twins. As atividades de gerenciamento incluem carregamento, validação, recuperação e exclusão de modelos criados na DTDL.
  • DigitalTwins - A categoria DigitalTwins contém as APIs que permitem que os desenvolvedores criem, modifiquem e excluam digital twins e suas relações em uma instância de Azure Digital Twins.
  • Query – a categoria Consulta permite que os desenvolvedores encontrem conjuntos de gêmeos digitais no grafo de gêmeos entre diferentes relações.
  • Event Routes – a categoria Rotas de Eventos contém APIs para rotear dados pelo sistema e para serviços downstream.
  • Import Jobs – A API de Importação de Trabalhos permite gerenciar uma ação assíncrona de execução prolongada para importar modelos, gêmeos e relações em massa.
  • Delete Jobs – A API de Exclusão de Trabalhos permite gerenciar uma ação assíncrona de execução prolongada para excluir todos os modelos, gêmeos e relações em uma instância.

Para chamar as APIs diretamente, faça referência à pasta swagger mais recente no repositório swagger do plano data. Essa pasta também inclui outra pasta de exemplos de uso. Você também pode exibir a documentação de referência da API do plano de dados.

Aqui estão os SDKs disponíveis atualmente para as APIs do plano de dados Azure Digital Twins.

Linguagem do SDK Link de pacote Documentação de referência Código-fonte
.NET (C#) Azure. DigitalTwins.Core no NuGet Referência para Azure IoT biblioteca de clientes dos Gêmeos Digitais para .NET Azure IoT biblioteca de clientes dos Gêmeos Digitais para .NET no GitHub
Java com.azure:azure-digitaltwins-core no Maven Referência para Azure Digital Twins SDK para Java Azure IoT biblioteca de clientes dos Gêmeos Digitais para Java no GitHub
JavaScript biblioteca de clientes Azure Azure Digital Twins Core para JavaScript no npm Reference for @azure/digital-twins-core biblioteca de clientes Azure Azure Digital Twins Core para JavaScript no GitHub
Python biblioteca de clientes Azure Azure Digital Twins Core para Python no PyPI Referência para azure-digitaltwins-core biblioteca de clientes do Azure Azure Digital Twins Core para Python no GitHub

Próximas Etapas 

As próximas etapas sugeridas incluem: