Conectar um Raspberry Pi ou outro dispositivo - 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á.

Conectar um Raspberry Pi ou outro dispositivo

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.

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 Crie um dispositivo virtual com a Amazon EC2 ouUse seu PC Windows ou Linux ou Mac como um AWS IoT dispositivo.

Configure seu dispositivo

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 antes de continuar.

  • Um Modelo B do Raspberry Pi 3 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) 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, você não precisa instalar a área de trabalho com a interface gráfica do usuário (GUI); no entanto, se você é novato no Raspberry Pi e seu hardware Raspberry Pi é compatível, usar a área de trabalho com o 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 feito por meio de um teclado, mouse e monitor conectados diretamente ou usando uma interface remota do SSH terminal.

Se você estiver executando um sistema operacional em seu Raspberry Pi que tenha uma interface gráfica de usuário (GUI), abra uma janela de terminal no dispositivo e execute as instruções a seguir nessa janela. Caso contrário, se você 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 dispositivo SDK

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

  1. Atualize o sistema operacional e instale as bibliotecas necessárias

    Antes de instalar um AWS IoT dispositivoSDK, 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
  2. 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 dispositivo SDK para. JavaScript

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

      git --version
    2. 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.

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

      sudo apt-get install git
    4. Teste novamente para verificar se o Git está instalado executando o seguinte comando.

      git --version
    5. 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 dispositivoSDK. JavaScript

Instalar AWS IoT dispositivo SDK

Instale o AWS IoT dispositivoSDK.

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 dispositivo SDK para Python requer que o Python v3.5 ou posterior seja 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.

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

    3. 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
    4. Execute o seguinte comando para confirmar que a versão correta do Python foi instalada.

      python3 --version
  2. 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
    2. 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.

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

      sudo apt install python3-pip
    4. Execute o seguinte comando para verificar se pip3 está instalado.

      pip3 --version
  3. Instale o AWS IoT dispositivo atual SDK para Python

    Instale o AWS IoT dispositivo 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 dispositivo SDK para 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 -
    2. Instale o Node e o npm.

      sudo apt-get install -y nodejs
    3. 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.

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

    5. Reinicie o dispositivo.

      sudo shutdown -r 0

      Continue depois que o dispositivo for reiniciado.

  2. Instale o AWS IoT dispositivo SDK para JavaScript

    Instale o AWS IoT dispositivo SDK JavaScript em seu Raspberry Pi.

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

      Esses comandos criam o ~/aws-iot-device-sdk-js-v2 diretório e copiam o SDK código nele.

      cd ~ git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
    2. Vá para o aws-iot-device-sdk-js-v2 diretório que você criou 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

Nesta seção, você instalará e executará o aplicativo de pubsub amostra encontrado no AWS IoT dispositivoSDK. Este aplicativo mostra como seu dispositivo usa a MQTT biblioteca para publicar e assinar MQTT mensagens. 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 no seu home diretório executando esses comandos.

    cd ~ mkdir certs
  2. No diretório ~/certs, copie a chave privada, certificado do dispositivo e certificado CA raiz criados anteriormente em Crie AWS IoT recursos.

    A forma de copiar os arquivos do certificado para o dispositivo depende do dispositivo e do sistema operacional e não está descrita aqui. No entanto, se o seu dispositivo suportar uma interface gráfica de usuário (GUI) e tiver um navegador da Web, você poderá executar o procedimento descrito no Crie AWS IoT recursos navegador da Web do seu dispositivo para baixar os arquivos resultantes diretamente no seu 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

    Arquivo

    Caminho do arquivo

    Certificado CA raiz

    ~/certs/Amazon-root-CA-1.pem

    Certificado de dispositivo

    ~/certs/device.pem.crt

    Chave privada

    ~/certs/private.pem.key

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, selecione Todos os dispositivos e, depois, selecione Objetos.

Na página Configurações no AWS IoT menu. Seu endpoint é exibido na seção Endpoint de dados do dispositivo.

A ferramenta your-iot-endpoint o 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
  2. Na janela da linha de comando, substitua your-iot-endpoint conforme indicado e execute este 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
  3. Observe que o aplicativo de exemplo:

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

    2. Assina o tópico de mensagens topic_1 e exibe as mensagens recebidas sobre esse tópico.

    3. Publica 10 mensagens no tópico topic_1.

    4. 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 o aplicativo de amostra.

    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 da linha de comando, navegue até o ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub diretório que SDK criou e instale o aplicativo de amostra usando esses 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
  2. Na janela da linha de comando, substitua your-iot-endpoint conforme indicado e execute este 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
  3. Observe que o aplicativo de exemplo:

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

    2. Assina o tópico de mensagens topic_1 e exibe as mensagens recebidas sobre esse tópico.

    3. Publica 10 mensagens no tópico topic_1.

    4. 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 o aplicativo de amostra.

    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

Você pode ver as mensagens do aplicativo de amostra à medida que elas passam pelo agente de mensagens usando o cliente de MQTT teste no AWS IoT console.

Para ver as MQTT mensagens publicadas pelo aplicativo de amostra
  1. Consulte Exibir MQTT mensagens com o AWS IoT MQTT cliente. Isso ajuda você a aprender como usar o cliente de MQTT teste no AWS IoT console para visualizar MQTT as mensagens à medida que elas passam pelo agente de mensagens.

  2. Abra o cliente de MQTT teste no AWS IoT console.

  3. Assine o tópico topic_1.

  4. Na janela da linha de comando, execute o aplicativo de amostra novamente e observe as mensagens no MQTTcliente no AWS IoT console.

    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