Conectando 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á.

Conectando dispositivos a AWS IoT

Os dispositivos se conectam AWS IoT e outros serviços por meio de AWS IoT Core. Por meio AWS IoT Core disso, os dispositivos enviam e recebem mensagens usando endpoints de dispositivos 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 a serem AWS IoT usadas Certificados do cliente X.509 e AWS assinatura V4 para autenticação. As comunicações do dispositivo são protegidas pelo TLS versão 1.3 e AWS IoT exigem que os dispositivos enviem a extensão de Indicação de Nome do Servidor (SNI) quando se conectam. 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 oferecem suporte a um protocolo de publicação/assinatura 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 o aplicativo exigir os recursos especializados que esses endpoints fornecem. Os endpoints de serviço do AWS IoT dispositivo oferecem suporte ao acesso centrado no dispositivo aos serviços de segurança e gerenciamento.

Para conhecer 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 certificado X.509 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 dispositivos recuperarem 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

Descrição

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 um certificado X.509 integrado do dispositivo por credenciais temporárias a fim de se conectar diretamente a outros serviços da AWS . Para obter mais informações sobre como se conectar a outros AWS serviços, consulte Autorização de 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 Jobs Device.

AWS IoT Operações do Device Advisor

iot:DeviceAdvisor

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

AWS IoT Core data beta (pré-visualização)

iot:Data-Beta

Um tipo de endpoint reservado para versões beta. Para obter mais informações sobre seu uso atual, consulte Endpoints configuráveis.

Você também pode usar seu próprio nome de domínio totalmente qualificado (FQDN), como exemplo.com, e o certificado de servidor associado aos quais conectar dispositivos usando. AWS IoT Endpoints configuráveis

AWS IoT SDKs de dispositivos

Os AWS IoT Device SDKs ajudam você a conectar seus dispositivos de IoT e são compatíveis AWS IoT Core com os protocolos MQTT e MQTT via WSS.

Os SDKs de AWS IoT dispositivos diferem dos AWS SDKs porque os SDKs de AWS IoT dispositivos oferecem suporte às necessidades de comunicação especializadas dos dispositivos de IoT, mas não oferecem suporte a todos os serviços suportados pelos SDKs. AWS Os SDKs do AWS IoT dispositivo 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 diferentes endpoints, 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 comunicações de dispositivos MQTT, algumas das APIs de AWS IoT serviço e 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 de dispositivos C++

O AWS IoT C++ Device SDK permite que os desenvolvedores criem aplicativos conectados usando AWS 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 for Python possibilita que os desenvolvedores escrevam scripts em Python para usar seus dispositivos para acessar a plataforma por meio do MQTT ou AWS IoT do MQTT pelo protocolo Secure (WSS). WebSocket 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, como Amazon AWS Lambda Kinesis, Amazon S3 e muito mais.

JavaScript

AWS IoT SDK do dispositivo para JavaScript

O AWS IoT Device SDK for JavaScript possibilita que os desenvolvedores criem JavaScript aplicativos que acessam APIs AWS IoT Core usando MQTT ou MQTT por meio do protocolo. WebSocket Ele pode ser usado em ambientes Node.js e aplicações de navegador. Para mais informações, consulte:

Java

AWS IoT SDK de dispositivo para Java

O AWS IoT Device SDK for Java possibilita que os desenvolvedores Java acessem as APIs do por meio do MQTT ou AWS IoT Core do MQTT 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 mais informações, consulte:

Embedded C

AWS IoT SDK de dispositivo para C incorporado

Importante

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

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 IoT Core. AWS 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 recursos suficientes de memória e processamento disponíveis, recomendamos que você use um dos outros SDKs para AWS IoT dispositivos e dispositivos móveis, como o SDK do AWS IoT dispositivo para C++, JavaScript Java ou Python.

Para mais informações, consulte: