Provisione seu Raspberry Pi em 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á.

Provisione seu Raspberry Pi em AWS IoT

Os procedimentos nesta seção começam com a imagem microSD salva que tem o AWS CLI e o AWS IoT Device Client instalado e criam os AWS IoT recursos e certificados de dispositivo que provisionam seu Raspberry Pi. AWS IoT

Instale o cartão microSD no Raspberry Pi

Este procedimento instala o cartão microSD com o software necessário carregado e configurado no Raspberry Pi e o configura para que Conta da AWS você possa continuar com os tutoriais neste caminho de aprendizado.

Use um cartão microSD de (Opcional) Salve a imagem do cartão microSD que tenha o software necessário para os exercícios e tutoriais deste percurso de aprendizado.

Para instalar o cartão microSD no Raspberry Pi
  1. Com a alimentação desconectada do Raspberry Pi, insira o cartão microSD no Raspberry Pi.

  2. Ligue o Raspberry Pi.

  3. Após cerca de um minuto, no computador host local, reinicie a sessão da janela do terminal e faça login no Raspberry Pi.

  4. No computador host local, na janela do terminal e com as credenciais de ID da chave de acesso de Chave de acesso secreta do Raspberry Pi:

    1. Execute o aplicativo de AWS configuração com este comando:

      aws configure
    2. Insira suas Conta da AWS credenciais e informações de configuração quando solicitado:

      AWS Access Key ID [****************YXYX]: your Access Key ID AWS Secret Access Key [****************YXYX]: your Secret Access Key Default region name [us-west-2]: your Região da AWS code Default output format [json]: json

Depois de restaurar suas Conta da AWS credenciais, você estará pronto para continuarProvisione seu dispositivo em AWS IoT Core.

Provisione seu dispositivo em AWS IoT Core

Os procedimentos nesta seção criam os AWS IoT recursos que provisionam seu Raspberry Pi em AWS IoT. Ao criar esses recursos, você deverá registrar várias informações. Essas informações são usadas pela configuração do AWS IoT Device Client no próximo procedimento.

Para que seu Raspberry Pi funcione AWS IoT, ele deve ser provisionado. O provisionamento é o processo de criar e configurar os AWS IoT recursos necessários para oferecer suporte ao seu Raspberry Pi como um dispositivo de IoT.

Com o Raspberry Pi ligado e reiniciado, conecte a janela do terminal no computador host local ao Raspberry Pi e conclua esses procedimentos.

Crie e baixe arquivos de certificado

Este procedimento cria os arquivos de certificado de dispositivo para esta demonstração.

Para criar e baixar os arquivos de certificado de dispositivo para o Raspberry Pi
  1. Na janela do terminal do computador host local, insira esses comandos para criar os arquivos de certificado de dispositivo para o dispositivo.

    mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"

    O comando retorna uma resposta como a seguinte. Registre o valor de certificateArn para uso posterior.

    { "certificateArn": "arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } }
  2. Insira os comandos a seguir para definir as permissões no diretório de certificados e arquivos.

    chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
  3. Execute este comando para examinar as permissões nos diretórios e arquivos do certificado.

    ls -l ~/certs/testconn

    A saída do comando deve ser a mesma vista aqui, com exceção das datas e horários do arquivo, que serão diferentes.

    -rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key

Neste ponto, você tem os arquivos de certificado do dispositivo instalados no Raspberry Pi e pode continuar em Crie AWS IoT recursos.

Crie AWS IoT recursos

Esse procedimento provisiona seu dispositivo AWS IoT criando os recursos necessários para acessar AWS IoT recursos e serviços.

Para provisionar seu dispositivo em AWS IoT
  1. Na janela do terminal do computador host local, insira o comando a seguir para obter o endereço do endpoint de dados do dispositivo da sua Conta da AWS.

    aws iot describe-endpoint --endpoint-type IoT:Data-ATS

    O comando das etapas anteriores retorna uma resposta como a seguir. Registre o valor de endpointAddress para uso posterior.

    { "endpointAddress": "a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com" }
  2. Digite este comando para criar um recurso para AWS IoT o seu Raspberry Pi.

    aws iot create-thing --thing-name "DevCliTestThing"

    Se seu recurso AWS IoT Thing foi criado, o comando retornará uma resposta como essa.

    { "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
  3. Na janela do terminal:

    1. Abra um editor de texto, como o nano.

    2. Copie esse documento JSON de política e cole-o em seu editor de texto aberto.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
      nota

      Este documento de política concede generosamente a cada recurso permissão para se conectar, receber, publicar e assinar. Normalmente, as políticas concedem permissão somente a recursos específicos para realizar ações específicas. No entanto, para o teste inicial de conectividade do dispositivo, essa política excessivamente geral e permissiva é usada para minimizar a chance de um problema de acesso durante esse teste. Nos tutoriais subsequentes, documentos de políticas com escopo mais restrito serão usados para demonstrar práticas recomendadas na elaboração de políticas.

    3. Salve o arquivo no editor de texto como ~/policies/dev_cli_test_thing_policy.json.

  4. Execute esse comando para usar o documento de política das etapas anteriores para criar uma AWS IoT política.

    aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"

    Se a política for criada, o comando retornará uma resposta como esta.

    { "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
  5. Execute este comando para anexar a política ao certificado do dispositivo. Substitua certificateArn pelo valor de certificateArn salvo anteriormente.

    aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "certificateArn"

    Se houver êxito, o comando não retornará nada.

  6. Execute esse comando para anexar o certificado do dispositivo ao recurso da AWS IoT coisa. Substitua certificateArn pelo valor de certificateArn salvo anteriormente.

    aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "certificateArn"

    Se houver êxito, o comando não retornará nada.

Depois de provisionar seu dispositivo com sucesso AWS IoT, você estará pronto para continuar. Configurar o cliente do AWS IoT dispositivo para testar a conectividade