

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

# Conectar um Raspberry Pi ou outro dispositivo
<a name="connecting-to-existing-device"></a>

Nesta seção, configuraremos um Raspberry Pi para uso com AWS IoT. Caso tenha outro dispositivo que gostaria de conectar, as instruções do Raspberry Pi incluem referências para ajudá-lo a adaptar essas instruções ao seu dispositivo.

Em geral, isso leva cerca de 20 minutos, mas pode levar mais tempo se você tiver muitas atualizações de software do sistema a serem instaladas.

**Topics**
+ [Configure seu dispositivo](#gs-device-prereqs)
+ [Instale as ferramentas e bibliotecas necessárias para o AWS IoT Device SDK](#gs-device-sdk-tools)
+ [Instale o AWS IoT Device SDK](#gs-device-install-sdk)
+ [Instalar e executar o aplicativo de exemplo](#gs-device-node-app-run)
+ [Exibir mensagens do aplicativo de amostra no AWS IoT console](#gs-device-view-msg)

**Importante**  
Adaptar estas instruções a outros dispositivos e sistemas operacionais pode ser um desafio. Você precisará conhecer seu dispositivo o bastante para interpretar estas instruções e aplicá-las ao seu dispositivo.  
Se você encontrar dificuldades ao configurar seu dispositivo para AWS IoT, tente uma das outras opções do dispositivo como alternativa, como [Criar um dispositivo virtual com o Amazon EC2](creating-a-virtual-thing.md) ou[Use seu PC Windows ou Linux ou Mac como um AWS IoT dispositivo](using-laptop-as-device.md).

## Configure seu dispositivo
<a name="gs-device-prereqs"></a>

O objetivo desta etapa é coletar o que é preciso para configurar seu dispositivo para que ele possa iniciar o sistema operacional (SO), conectar-se à Internet e permitir que você interaja com ele em uma interface de linha de comando.

Para concluir este tutorial, você precisará do seguinte:
+ Um Conta da AWS. Se você não possuir uma, conclua as etapas descritas em [Configurar Conta da AWS](setting-up.md) antes de continuar.
+ Um [Modelo B do Raspberry Pi 3](https://www.raspberrypi.com/products/) ou modelo mais recente. Pode ser que isso funcione em versões anteriores do Raspberry Pi, mas elas não foram testadas.
+ [Raspberry Pi OS (32 bits)](https://www.raspberrypi.com/software/operating-systems/) ou uma versão posterior. Recomendamos usar a versão mais recente do SO do Raspberry Pi. Versões anteriores do SO podem funcionar, mas não foram testadas.

  Para executar este exemplo, não é preciso instalar a área de trabalho com a interface gráfica do usuário (GUI); entretanto, se você é novo ao Raspberry Pi e seu hardware do Raspberry Pi for compatível, usar a área de trabalho com a GUI pode ser mais fácil.
+ Uma Ethernet ou WiFi conexão.
+ Teclado, mouse, monitor, cabos, fontes de alimentação e outros itens de hardware necessários ao seu dispositivo.

**Importante**  
Antes de avançar para a próxima etapa, seu dispositivo deve ter o sistema operacional instalado, configurado e em execução. O dispositivo deve estar conectado à Internet e você precisa ser capaz de acessá-lo usando sua interface de linha de comando. O acesso à linha de comando pode ser realizado através de um teclado, mouse e monitor conectados diretamente ou usando uma interface remota do terminal SSH.

 Se estiver executando um sistema operacional em seu Raspberry Pi que possua uma interface gráfica de usuário (GUI), abra uma janela de terminal no dispositivo e conclua as instruções a seguir nessa janela. Caso contrário, se estiver se conectando ao seu dispositivo usando um terminal remoto, como o PuTTY, abra um terminal remoto no seu dispositivo e use-o.

## Instale as ferramentas e bibliotecas necessárias para o AWS IoT Device SDK
<a name="gs-device-sdk-tools"></a>

Antes de instalar o AWS IoT Device SDK e o código de amostra, verifique se o sistema está atualizado e tem as ferramentas e bibliotecas necessárias para instalar o. SDKs

1. 

**Atualize o sistema operacional e instale as bibliotecas necessárias**  
Antes de instalar um AWS IoT Device SDK, execute esses comandos em uma janela de terminal em seu dispositivo para atualizar o sistema operacional e instalar as bibliotecas necessárias.

   ```
   sudo apt-get update
   ```

   ```
   sudo apt-get upgrade
   ```

   ```
   sudo apt-get install cmake
   ```

   ```
   sudo apt-get install libssl-dev
   ```

1. 

**Instale o Git**  
Se o sistema operacional do seu dispositivo não vem com o Git instalado, você deve instalá-lo para instalar o AWS IoT Device SDK for. JavaScript 

   1. Teste para verificar se o Git já está instalado executando o seguinte comando.

      ```
      git --version
      ```

   1. Se o comando anterior retornar a versão do Git, então o Git já está instalado e você pode avançar para a Etapa 3.

   1. Se for exibido um erro ao executar o comando **git**, instale o Git executando o seguinte comando.

      ```
      sudo apt-get install git
      ```

   1. Teste novamente para verificar se o Git está instalado executando o seguinte comando.

      ```
      git --version
      ```

   1. Se o Git estiver instalado, avance para a próxima seção. Caso contrário, solucione o problema e corrija o erro antes de prosseguir. Você precisa do Git para instalar o AWS IoT Device SDK para. JavaScript

## Instale o AWS IoT Device SDK
<a name="gs-device-install-sdk"></a>

Instale o AWS IoT Device SDK.

------
#### [ Python ]

Nesta seção, você instalará o Python, suas ferramentas de desenvolvimento e o AWS IoT Device SDK for Python em seu dispositivo. Estas instruções são para um Raspberry Pi executando o sistema operacional mais recente do Raspberry Pi. Caso tenha outro dispositivo ou esteja usando outro sistema operacional, pode ser preciso adaptar estas instruções para o dispositivo.

1. 

**Instale o Python e suas ferramentas de desenvolvimento**  
O AWS IoT Device SDK para Python exige que o Python v3.5 ou posterior esteja instalado no seu Raspberry Pi.

   Em uma janela de terminal do seu dispositivo, execute os comandos a seguir.

   1. Execute o seguinte comando para determinar a versão do Python que está instalada no dispositivo.

      ```
      python3 --version
      ```

      Se o Python estiver instalado, ele exibirá a versão.

   1. Se a versão exibida for `Python 3.5` ou superior, você pode avançar para a Etapa 2.

   1. Se a versão exibida for inferior a `Python 3.5`, você pode instalar a versão correta executando o comando a seguir.

      ```
      sudo apt install python3
      ```

   1. Execute o seguinte comando para confirmar que a versão correta do Python foi instalada.

      ```
      python3 --version
      ```

1. 

**Teste para pip3**  
Em uma janela de terminal do seu dispositivo, execute os comandos a seguir.

   1. Execute o seguinte comando para verificar se **pip3** está instalado.

      ```
      pip3 --version
      ```

   1. Se o comando retornar um número de versão, então o **pip3** está instalado e você pode avançar para a Etapa 3.

   1. Se o comando anterior retornar um erro, execute o seguinte comando para instalar o **pip3**.

      ```
      sudo apt install python3-pip
      ```

   1. Execute o seguinte comando para verificar se **pip3** está instalado.

      ```
      pip3 --version
      ```

1. 

**Instale o AWS IoT Device SDK atual para Python**  
Instale o AWS IoT Device SDK para Python e baixe os aplicativos de amostra em seu dispositivo.

   No seu dispositivo, execute os comandos a seguir.

   ```
   cd ~
   python3 -m pip install awsiotsdk
   ```

   ```
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
#### [ JavaScript ]

Nesta seção, você instalará o Node.js, o gerenciador de pacotes npm e o AWS IoT Device SDK for JavaScript em seu dispositivo. Estas instruções são para um Raspberry Pi executando o sistema operacional do Raspberry Pi. Caso tenha outro dispositivo ou esteja usando outro sistema operacional, pode ser preciso adaptar estas instruções para o dispositivo.

1. 

**Instalar a versão mais recente do Node.js**  
O AWS IoT Device SDK for JavaScript requer que o Node.js e o gerenciador de pacotes npm estejam instalados no seu Raspberry Pi.

   1. Baixe a versão mais recente do repositório do Node digitando o seguinte comando.

      ```
      cd ~
      curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
      ```

   1. Instale o Node e o npm.

      ```
      sudo apt-get install -y nodejs
      ```

   1. Verifique a instalação do Node.

      ```
      node -v
      ```

      Confirme se o comando exibe a versão do Node. Este tutorial requer o Node v10.0 ou uma versão posterior. Se a versão do Node não for exibida, tente baixar o repositório do Node mais uma vez.

   1. Verifique a instalação do npm.

      ```
      npm -v
      ```

      Confirme se o comando exibe a versão do npm. Se a versão do npm não for exibida, tente instalar o Node e o npm mais uma vez.

   1. Reinicie o dispositivo.

      ```
      sudo shutdown -r 0
      ```

      Continue depois que o dispositivo for reiniciado.

1. 

**Instale o AWS IoT Device SDK para JavaScript**  
Instale o AWS IoT Device SDK para JavaScript em seu Raspberry Pi.

   1. Clone o AWS IoT Device SDK for JavaScript repository no `aws-iot-device-sdk-js-v2` diretório do seu diretório. {{home}} No Raspberry Pi, o {{home}} diretório é`~/`, que é usado como {{home}} diretório nos comandos a seguir. Se o seu dispositivo usa um caminho diferente para o {{home}} diretório, você deve `~/` substituir pelo caminho correto para o seu dispositivo nos comandos a seguir.

      Estes comandos criam o diretório `~/aws-iot-device-sdk-js-v2` e copiam o código do SDK para ele.

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
      ```

   1. Vá para o diretório `aws-iot-device-sdk-js-v2` criado na etapa anterior e execute `npm install` para instalar o SDK. O comando `npm install` invocará a criação da biblioteca `aws-crt`, que pode levar alguns minutos para ser concluída.

      ```
      cd ~/aws-iot-device-sdk-js-v2
      npm install
      ```

------

## Instalar e executar o aplicativo de exemplo
<a name="gs-device-node-app-run"></a>

Nesta seção, você instalará e executará o aplicativo de `pubsub` amostra encontrado no AWS IoT Device SDK. Este aplicativo mostra a maneira como seu dispositivo usa a biblioteca MQTT para publicar e assinar mensagens MQTT. O aplicativo de exemplo assina um tópico, `topic_1`, publica 10 mensagens no tópico e exibe as mensagens à medida que elas são recebidas do agente de mensagens.

**Instale os arquivos de certificado**  
O aplicativo de exemplo exige que os arquivos de certificado que autenticam o dispositivo estejam instalados no dispositivo.

**Para instalar os arquivos de certificado do dispositivo para o aplicativo de exemplo**

1. Crie um `certs` subdiretório em seu {{home}} diretório executando esses comandos.

   ```
   cd ~
   mkdir certs
   ```

1. No diretório `~/certs`, copie a chave privada, certificado do dispositivo e certificado CA raiz criados anteriormente em [Crie AWS IoT recursos](create-iot-resources.md).

   A forma de copiar os arquivos do certificado para o dispositivo depende do dispositivo e do sistema operacional e não está descrita aqui. Entretanto, se o dispositivo for compatível com uma interface gráfica de usuário (GUI) e tiver um navegador da Web, será possível executar o procedimento descrito em [Crie AWS IoT recursos](create-iot-resources.md) a partir do navegador da Web do dispositivo para baixar os arquivos resultantes diretamente no dispositivo.

   Os comandos na próxima seção pressupõem que seus arquivos de chave e certificado estão armazenados no dispositivo, conforme mostrado nesta tabela.  
**Nomes de arquivos de certificado**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/connecting-to-existing-device.html)

Para executar o aplicativo de exemplo, você precisa das seguintes informações:


**Valores de parâmetros de aplicação**  

|  Parâmetro  |  Onde encontrar o valor  | 
| --- | --- | 
| {{your-iot-endpoint}} | No [console do AWS IoT](https://console.aws.amazon.com/iot/home), selecione **Todos os dispositivos** e, depois, selecione **Objetos**.<br />Na página **Configurações** no menu AWS IoT . Seu endpoint é exibido na seção **Endpoint de dados do dispositivo**. | 

O {{your-iot-endpoint}} valor tem um formato de:`{{endpoint_id}}-ats.iot.{{region}}.amazonaws.com`, por exemplo,`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

------
#### [ Python ]

**Para instalar e executar o aplicativo de exemplo**

1. Navegue até o diretório do aplicativo de exemplo.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. Na janela da linha de comando, substitua {{your-iot-endpoint}} conforme indicado e execute esse comando.

   ```
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint {{your-iot-endpoint}}
   ```

1. Observe que o aplicativo de exemplo:

   1. Conecta-se ao AWS IoT serviço da sua conta.

   1. Assina o tópico de mensagens **topic\_1** e exibe as mensagens recebidas sobre esse tópico.

   1. Publica 10 mensagens no tópico **topic\_1**.

   1. Exibe uma saída semelhante à seguinte:

   ```
   Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'...
   Connected!
   Subscribing to topic 'topic_1'...
   Subscribed with QoS.AT_LEAST_ONCE
   Sending 10 message(s)
   Publishing message to topic 'topic_1': Hello World! [1]
   Received message from topic 'topic_1': b'Hello World! [1]'
   Publishing message to topic 'topic_1': Hello World! [2]
   Received message from topic 'topic_1': b'Hello World! [2]'
   Publishing message to topic 'topic_1': Hello World! [3]
   Received message from topic 'topic_1': b'Hello World! [3]'
   Publishing message to topic 'topic_1': Hello World! [4]
   Received message from topic 'topic_1': b'Hello World! [4]'
   Publishing message to topic 'topic_1': Hello World! [5]
   Received message from topic 'topic_1': b'Hello World! [5]'
   Publishing message to topic 'topic_1': Hello World! [6]
   Received message from topic 'topic_1': b'Hello World! [6]'
   Publishing message to topic 'topic_1': Hello World! [7]
   Received message from topic 'topic_1': b'Hello World! [7]'
   Publishing message to topic 'topic_1': Hello World! [8]
   Received message from topic 'topic_1': b'Hello World! [8]'
   Publishing message to topic 'topic_1': Hello World! [9]
   Received message from topic 'topic_1': b'Hello World! [9]'
   Publishing message to topic 'topic_1': Hello World! [10]
   Received message from topic 'topic_1': b'Hello World! [10]'
   10 message(s) received.
   Disconnecting...
   Disconnected!
   ```

   Se você estiver com problemas para executar a aplicação de exemplo, examine [Solucionar problemas com a aplicação de amostra](gs-device-troubleshoot.md).

   Também é possível adicionar o parâmetro `--verbosity Debug` à linha de comando para que o aplicativo de exemplo exiba mensagens detalhadas sobre sua operação. Essas informações podem fornecer a ajuda necessária para você corrigir o problema.

------
#### [ JavaScript ]

**Para instalar e executar o aplicativo de exemplo**

1. Na janela de linha de comando, navegue até o diretório `~/aws-iot-device-sdk-js-v2/samples/node/pub_sub` criado pelo SDK e instale o aplicativo de exemplo usando os seguintes comandos. O comando `npm install` invocará a criação da biblioteca `aws-crt`, que pode levar alguns minutos para ser concluída.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Na janela da linha de comando, substitua {{your-iot-endpoint}} conforme indicado e execute esse comando.

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint {{your-iot-endpoint}}
   ```

1. Observe que o aplicativo de exemplo:

   1. Conecta-se ao AWS IoT serviço da sua conta.

   1. Assina o tópico de mensagens **topic\_1** e exibe as mensagens recebidas sobre esse tópico.

   1. Publica 10 mensagens no tópico **topic\_1**.

   1. Exibe uma saída semelhante à seguinte:

   ```
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":1}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":2}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":3}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":4}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":5}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":6}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":7}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":8}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":9}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":10}
   ```

   Se você estiver com problemas para executar a aplicação de exemplo, examine [Solucionar problemas com a aplicação de amostra](gs-device-troubleshoot.md).

   Também é possível adicionar o parâmetro `--verbosity Debug` à linha de comando para que o aplicativo de exemplo exiba mensagens detalhadas sobre sua operação. Essas informações podem fornecer a ajuda necessária para você corrigir o problema.

------

## Exibir mensagens do aplicativo de amostra no AWS IoT console
<a name="gs-device-view-msg"></a>

É possível ver as mensagens do aplicativo de exemplo à medida que elas passam pelo agente de mensagens usando o **cliente de teste MQTT** no **console do AWS IoT **.

**Para visualizar as mensagens MQTT publicadas pelo aplicativo de exemplo**

1. Consulte [Exibir mensagens MQTT com o cliente AWS IoT MQTT](view-mqtt-messages.md). Isso ajudará você a aprender a usar o **cliente de teste MQTT** no **console do AWS IoT ** para visualizar as mensagens MQTT à medida que elas passam pelo agente de mensagens.

1. Abra o **cliente de teste MQTT** no **console do AWS IoT **.

1. Assine o tópico **topic\_1**.

1. Na janela de linha de comando, execute o aplicativo de exemplo novamente e observe as mensagens no **cliente MQTT** no **console do AWS IoT **.

------
#### [ Python ]

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint {{your-iot-endpoint}}
   ```

------
#### [ JavaScript ]

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint {{your-iot-endpoint}}
   ```

------