

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
<a name="iot-connect-devices"></a>

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](#iot-connect-device-sdks) 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](protocols.md).

**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*](topics.md). 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](iot-rules.md), que pode agir sobre o conteúdo da mensagem.

**AWS IoT segurança de mensagens**  
Conexões de dispositivos a serem AWS IoT usadas [X.509 certificados de cliente](x509-client-certs.md) e [AWS assinatura V4](https://docs.aws.amazon.com//general/latest/gr/signing_aws_api_requests.html) 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)](https://tools.ietf.org/html/rfc3546#section-3.1) quando se conectam. Para obter mais informações, consulte [Segurança de transporte em AWS IoT](transport-security.html).

## AWS IoT dados do dispositivo e endpoints de serviço
<a name="iot-connect-device-endpoints"></a>

**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 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 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 [https://console.aws.amazon.com//iot/home#/settings](https://console.aws.amazon.com//iot/home#/settings) 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 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](server-authentication.html).


**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](iot-device-shadows.md) e do [mecanismo de regras](iot-rules.md) da AWS IoT.<br />`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 integrado 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 [Autorização de chamadas diretas para AWS serviços](authorizing-direct-aws.md). | 
| 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](jobs-mqtt-api.md).<br />`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](device-advisor.md). | 
| 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 [Configurações do domínio](iot-custom-endpoints-configurable.md). | 

Você também pode usar seu próprio nome de domínio totalmente qualificado (FQDN), como{{example.com}}, e o certificado de servidor associado para conectar dispositivos usando. AWS IoT [Configurações do domínio](iot-custom-endpoints-configurable.md)

## AWS IoT SDKs de dispositivos
<a name="iot-connect-device-sdks"></a>

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](iot-connect-service.md#iot-connect-mobile-sdks) 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:
+ [AWS IoT SDK do dispositivo C\+\+ v2 ativado GitHub](https://github.com/aws/aws-iot-device-sdk-cpp-v2)
+ [AWS IoT SDK do dispositivo C\+\+ v2 Readme](https://github.com/aws/aws-iot-device-sdk-cpp-v2#aws-iot-device-sdk-for-c-v2)
+ [AWS IoT Exemplos do Device SDK C\+\+ v2](https://github.com/aws/aws-iot-device-sdk-cpp-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-c-v2)
+ [AWS IoT Documentação da API C\+\+ v2 do Device SDK](https://aws.github.io/aws-iot-device-sdk-cpp-v2/)

------
#### [ 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.
+ [AWS IoT SDK de dispositivo para Python v2 ativado GitHub](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS IoT SDK de dispositivo para Python v2 Readme](https://github.com/aws/aws-iot-device-sdk-python-v2#aws-iot-device-sdk-v2-for-python)
+ [AWS IoT Exemplos de SDK de dispositivo para Python v2](https://github.com/aws/aws-iot-device-sdk-python-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-v2-for-python)
+ [AWS IoT Documentação da API Device SDK para Python v2](https://aws.github.io/aws-iot-device-sdk-python-v2/)

------
#### [ 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 Node.js ambientes e aplicativos de navegador. Para saber mais, consulte:
+ [AWS IoT SDK do dispositivo para JavaScript v2 ativado GitHub](https://github.com/aws/aws-iot-device-sdk-js-v2)
+ [AWS IoT SDK do dispositivo para Readme JavaScript v2](https://github.com/aws/aws-iot-device-sdk-js-v2#aws-iot-device-sdk-for-javascript-v2)
+ [AWS IoT SDK de dispositivo para amostras JavaScript v2](https://github.com/aws/aws-iot-device-sdk-js-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-javascript-v2)
+ [AWS IoT Documentação da API Device SDK for JavaScript v2](https://aws.github.io/aws-iot-device-sdk-js-v2/index.html)

------
#### [ 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 pelo 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:
+ [AWS IoT SDK de dispositivo para Java v2 ativado GitHub](https://github.com/aws/aws-iot-device-sdk-java-v2)
+ [AWS IoT SDK de dispositivo para Java v2 Readme](https://github.com/aws/aws-iot-device-sdk-java-v2#aws-iot-device-sdk-for-java-v2)
+ [AWS IoT Exemplos de SDK de dispositivo para Java v2](https://github.com/aws/aws-iot-device-sdk-java-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-java-v2)
+ [AWS IoT Documentação da API Device SDK for Java v2](https://aws.github.io/aws-iot-device-sdk-java-v2/)

------
#### [ 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 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 saber mais, consulte:
+ [AWS IoT SDK de dispositivo para C incorporado em GitHub](https://github.com/aws/aws-iot-device-sdk-embedded-C)
+ [AWS IoT SDK de dispositivo para Leiame C incorporado](https://github.com/aws/aws-iot-device-sdk-embedded-C#aws-iot-device-sdk-for-embedded-c)
+ [AWS IoT SDK de dispositivo para amostras C incorporadas](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/docs/doxygen/output/html/demos_main.html)

------