View a markdown version of this page

Conecte dispositivos a AWS IoT - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conecte dispositivos a AWS IoT

Os dispositivos se conectam AWS IoT e outros serviços por meio de AWS IoT Core. Por meio deles AWS IoT Core, os dispositivos enviam e recebem mensagens usando endpoints específicos da sua conta. Os AWS IoT SDKs de dispositivos permitem comunicações de dispositivos usando os protocolos MQTT e WSS. Para obter mais informações sobre protocolos que os dispositivos podem usar, consulte Protocolos de comunicação do dispositivo.

O agente de mensagens

AWS IoT gerencia a comunicação do dispositivo por meio de um agente de mensagens. Dispositivos e clientes publicam mensagens no agente de mensagens e também assinam mensagens que o agente de mensagens publica. As mensagens são identificadas por um tópico definido pelo aplicativo. Quando o agente de mensagens recebe uma mensagem publicada por um dispositivo ou cliente, ele republica essa mensagem para os dispositivos e clientes que assinaram o tópico da mensagem. O agente de mensagens também encaminha mensagens para o mecanismo de AWS IoT regras, que pode agir sobre o conteúdo da mensagem.

AWS IoT segurança de mensagens

Conexões de dispositivos para AWS IoT usar X.509 certificados de cliente e AWS assinatura V4 para autenticação. As comunicações entre dispositivos são protegidas pelo TLS versão 1.3 e AWS IoT exigem que os dispositivos enviem a extensão SNI (Server Name Indication) ao se conectarem. Para obter mais informações, consulte Segurança de transporte em AWS IoT.

AWS IoT dados do dispositivo e endpoints de serviço

Importante

Você pode armazenar em cache ou armazenar os endpoints em seu dispositivo. Assim, você não precisará consultar a API DescribeEndpoint toda vez que um novo dispositivo for conectado. Os endpoints não mudarão depois de AWS IoT Core criá-los para sua conta.

Cada conta tem vários endpoints de dispositivo que são exclusivos da conta e são compatíveis com funções específicas de IoT. Os endpoints de dados do AWS IoT dispositivo suportam um publish/subscribe protocolo projetado para as necessidades de comunicação dos dispositivos de IoT; no entanto, outros clientes, como aplicativos e serviços, também podem usar essa interface se seus aplicativos exigirem os recursos especializados que esses endpoints fornecem. Os endpoints de serviço de AWS IoT dispositivos oferecem suporte ao acesso centrado no dispositivo aos serviços de segurança e gerenciamento.

Para saber o endpoint de dados do dispositivo da sua conta, você pode encontrá-lo na página Configurações do seu AWS IoT Core console.

Para conhecer o endpoint do dispositivo da sua conta para uma finalidade específica, incluindo o endpoint de dados do dispositivo, use o comando describe-endpoint da CLI mostrado aqui ou a API REST DescribeEndpoint e insira o valor do parâmetro endpointType na tabela a seguir.

aws iot describe-endpoint --endpoint-type endpointType

Esse comando retorna um iot-endpoint no seguinte formato:account-specific-prefix.iot.aws-region.amazonaws.com.

Cada cliente tem um endpoint iot:Data-ATS e iot:Data. Cada endpoint usa um X.509 certificado para autenticar o cliente. É altamente recomendável que os clientes usem o tipo de endpoint iot:Data-ATS mais recente a fim de evitar problemas relacionados ao próximo cancelamento de confiança difundido pelas autoridades de certificação do Symantec. Fornecemos o iot:Data endpoint para que os dispositivos recuperem dados de endpoints antigos que usam VeriSign certificados para compatibilidade com versões anteriores. Para obter mais informações, consulte Autenticação do servidor.

AWS IoT endpoints para dispositivos

Propósito do endpoint

Valor do endpointType

Description

AWS IoT Core - Operações do plano de dados

iot:Data-ATS

Usado para enviar e receber dados dos componentes do agente de mensagens, da sombra do dispositivo e do mecanismo de regras da AWS IoT.

iot:Data-ATS retorna um endpoint de dados assinados pela ATS.

AWS IoT Core - Operações do plano de dados (legado)

iot:Data

iot:Dataretorna um endpoint de dados VeriSign assinado fornecido para compatibilidade com versões anteriores. O MQTT 5 não é compatível com endpoints Symantec (iot:Data).

AWS IoT Core acesso credencial

iot:CredentialProvider

Usado para trocar o X.509 certificado incorporado de um dispositivo por credenciais temporárias para se conectar diretamente a outros AWS serviços. Para obter mais informações sobre como se conectar a outros AWS serviços, consulte Autorizando chamadas diretas para AWS serviços.

AWS IoT Device Management- operações de dados de trabalhos

iot:Jobs

Usado para permitir que dispositivos interajam com o serviço AWS IoT Jobs usando as APIs HTTPS do dispositivo Jobs.

iot:Jobs só pode ser usado para IPv4. Se você estiver usando endpoints de pilha dupla (IPv4 e IPv6), utilize o tipo de endpoint iot:Data-ATS.

AWS IoT Operações do Device Advisor

iot:DeviceAdvisor

Um tipo de endpoint de teste usado para testar dispositivos com o Device Advisor. Para obter mais informações, consulte Device Advisor.

AWS IoT Core dados beta (versão prévia)

iot:Data-Beta

Um tipo de endpoint reservado para versões beta. Para obter mais informações sobre seu uso atual, consulte Configurações do domínio.

Você também pode usar seu próprio nome de domínio totalmente qualificado (FQDN), comoexample.com, e o certificado de servidor associado, para conectar dispositivos usando. AWS IoT Configurações do domínio

AWS IoT SDKs de dispositivos

Os AWS IoT Device SDKs ajudam você a conectar seus dispositivos de IoT AWS IoT Core e oferecem suporte aos protocolos MQTT e MQTT via WSS.

Os SDKs de AWS IoT dispositivos diferem dos AWS SDKs porque os SDKs de AWS IoT dispositivos atendem às necessidades de comunicação especializada dos dispositivos de IoT, mas não oferecem suporte a todos os serviços suportados pelos SDKs. AWS Os SDKs de AWS IoT dispositivos são compatíveis com os AWS SDKs que oferecem suporte a todos os AWS serviços; no entanto, eles usam métodos de autenticação diferentes e se conectam a endpoints diferentes, o que pode tornar o uso dos AWS SDKs impraticável em um dispositivo de IoT.

Dispositivos móveis

Eles AWS SDKs móveis suportam as comunicações de dispositivos MQTT, algumas das APIs de AWS IoT serviço e as APIs de outros serviços. AWS Se estiver desenvolvendo em um dispositivo móvel compatível, analise o SDK dele para ver se é a melhor opção para desenvolver sua solução de IoT.

C++

AWS IoT SDK para dispositivos C++

O AWS IoT C++ Device SDK permite que os desenvolvedores criem aplicativos conectados usando AWS e as APIs dos serviços. AWS IoT Core Esse SDK foi especificamente projetado para dispositivos que não têm restrições de recursos e exigem recursos avançados, como enfileiramento de mensagens, suporte a vários threads e os mais recentes recursos de linguagem. Para mais informações, consulte:

Python

AWS IoT SDK de dispositivo para Python

O AWS IoT Device SDK para Python possibilita que os desenvolvedores escrevam scripts em Python para usar seus dispositivos para acessar a AWS IoT plataforma por meio de MQTT ou MQTT pelo protocolo WebSocket Secure (WSS). Ao conectar seus dispositivos às APIs dos AWS IoT Core serviços, os usuários podem trabalhar com segurança com o agente de mensagens, as regras e o serviço Device Shadow que AWS IoT Core fornece e com outros AWS serviços AWS Lambda, como Amazon Kinesis e Amazon S3, entre outros.

JavaScript

AWS IoT SDK de dispositivo para JavaScript

O AWS IoT Device SDK for JavaScript possibilita que os desenvolvedores escrevam JavaScript aplicativos que acessam APIs do AWS IoT Core usando MQTT ou MQTT pelo protocolo. WebSocket Ele pode ser usado em Node.js ambientes e aplicativos de navegador. Para saber mais, consulte:

Java

AWS IoT SDK do dispositivo para Java

O AWS IoT Device SDK para Java possibilita que os desenvolvedores de Java acessem as APIs do por meio de MQTT ou MQTT AWS IoT Core por meio do protocolo. WebSocket O SDK é compatível com o serviço de sombra do dispositivo. Você pode acessar as sombras usando métodos HTTP, inclusive GET, UPDATE e DELETE. O SDK também oferece suporte a um modelo simplificado de acesso a sombras, o que permite que os desenvolvedores troquem dados com as sombras usando os métodos getter e setter, sem necessidade de serializar ou desserializar nenhum documento JSON. Para saber mais, consulte:

Embedded C

AWS IoT SDK de dispositivo para C incorporado

Importante

Esse SDK é destinado ao uso por desenvolvedores de software incorporados experientes.

O AWS IoT Device SDK para C incorporado (C-SDK) é uma coleção de arquivos de origem C sob a licença de código aberto do MIT que podem ser usados em aplicativos incorporados para conectar com segurança dispositivos de IoT ao AWS IoT Core. Inclui as bibliotecas MQTT, JSON Parser e AWS IoT Device Shadow, entre outras. Ele é distribuído na forma de código-fonte e deve ser incorporado ao firmware do cliente juntamente com o código do aplicativo, outras bibliotecas e, opcionalmente, um RTOS (Sistema Operacional em Tempo Real).

Geralmente, AWS IoT Device SDK para C incorporado é direcionado a dispositivos com recursos limitados que exigem um tempo de execução otimizado da linguagem C. É possível usar o SDK em qualquer sistema operacional e hospedá-lo em qualquer tipo de processador (p. ex., MCUs e MPUs). Se seu dispositivo tiver memória e recursos de processamento suficientes disponíveis, recomendamos que você use um dos outros SDKs para AWS IoT dispositivos móveis e dispositivos, como o SDK do AWS IoT dispositivo para C++ JavaScript, Java ou Python.

Para saber mais, consulte: