Introdução à integração de seus dispositivos do Sidewalk - AWS IoT Wireless

Introdução à integração de seus dispositivos do Sidewalk

Esta seção mostra como integrar os dispositivos finais do Sidewalk ao AWS IoT Core para Amazon Sidewalk. Para integrar seus dispositivos, primeiro adicione seu dispositivo do Sidewalk, depois provisione e registre seu dispositivo e, em seguida, conecte seu hardware ao aplicativo em nuvem. Antes de executar este tutorial, revise e conclua Instalar o Python e a AWS CLI.

As etapas a seguir mostram como integrar e conectar os dispositivos finais do Sidewalk ao AWS IoT Core para Amazon Sidewalk. Se você quiser integrar dispositivos usando a AWS CLI, consulte os exemplos de comandos fornecidos nesta seção. Para obter informações sobre a integração de dispositivos usando o console de AWS IoT, consulte Conectar-se ao AWS IoT Core para Amazon Sidewalk.

Importante

Para realizar todo o fluxo de trabalho de integração, você também provisiona e registra seu dispositivo final e conecta seu kit de desenvolvimento de hardware (HDK). Para obter mais informações, consulte Provisionamento e registro do seu dispositivo final na documentação do Amazon Sidewalk.

Etapa 1: Adicionar o dispositivo Sidewalk ao AWS IoT Core para Amazon Sidewalk

Veja a seguir uma visão geral das etapas que você executará para adicionar o dispositivo final do Sidewalk ao AWS IoT Core para Amazon Sidewalk. Armazene as informações obtidas sobre o perfil do dispositivo e o dispositivo sem fio que você cria. Você usará essas informações para provisionar e registrar o dispositivo final. Para mais informações sobre essas etapas, consulte Adicionar o dispositivo ao AWS IoT Core para Amazon Sidewalk.

  1. Criar um perfil do dispositivo

    Crie um perfil de dispositivo que contenha as configurações compartilhadas para seus dispositivos do Sidewalk. Ao criar o perfil, especifique um name para o perfil como uma sequência alfanumérica. Para criar um perfil, vá até a guia Sidewalk do hub Perfis no console de AWS IoT e escolha Criar perfil, ou use a operação da API CreateDeviceProfile ou o comando da CLI create-device-profile, conforme mostrado neste exemplo.

    // Add your device profile using a name and the sidewalk object. aws iotwireless create-device-profile --name sidewalk_profile --sidewalk {}
  2. Crie seu dispositivo final do Sidewalk

    Crie o dispositivo final do Sidewalk com o AWS IoT Core para Amazon Sidewalk. Especifique um nome de destino e a ID do perfil do dispositivo obtido na etapa anterior. Para adicionar um dispositivo, vá até a guia Sidewalk do hub Dispositivos no console de AWS IoT e escolha Provisionar dispositivo, ou use a operação da API CreateWirelessDevice ou o comando da CLI create-wireless-device, conforme mostrado neste exemplo.

    nota

    Especifique um nome para seu destino que seja exclusivo para sua Conta da AWS e Região da AWS. Você utilizará o mesmo nome de destino ao adicionar seu destino ao AWS IoT Core para Amazon Sidewalk.

    // Add your Sidewalk device by using the device profile ID. aws iotwireless create-wireless-device --type "Sidewalk" --name sidewalk_device \ --destination-name SidewalkDestination \ --sidewalk DeviceProfileId="12345678-234a-45bc-67de-e8901234f0a1"
  3. Obtenha informações sobre o perfil do dispositivo e o dispositivo sem fio

    Obtenha as informações sobre o perfil do dispositivo e o dispositivo sem fio como um JSON. O JSON conterá informações sobre os detalhes do dispositivo, certificados do dispositivo, chaves privadas DeviceTypeId e o número de série de fabricação do Sidewalk (SMSN).

    • Se estiver usando o console de AWS IoT, você pode usar a guia Sidewalk do hub de dispositivos para baixar um arquivo JSON combinado para seu dispositivo final do Sidewalk.

    • Se você estiver usando as operações da API, armazene as respostas obtidas das operações da API GetDeviceProfile e GetWirelessDevice como arquivos JSON separados, como device_profile.json e wireless_device.json.

      // Store device profile information as a JSON file. aws iotwireless get-device-profile \ --id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" > device_profile.json // Store wireless device information as a JSON file. aws iotwireless get-wireless-device --identifier-type WirelessDeviceId \ --identifier "23456789-abcd-0123-bcde-fabc012345678" > wireless_device.json

Etapa 2: Criar um destino para seu dispositivo final do Sidewalk

Veja a seguir uma visão geral das etapas que você executará para adicionar o destino ao AWS IoT Core para Amazon Sidewalk. Utilizando o AWS Management Console ou as operações de API do AWS IoT Wireless ou a AWS CLI, execute as etapas a seguir para criar uma regra e um destino do AWS IoT. Em seguida, você pode se conectar à plataforma de hardware e visualizar e trocar mensagens. Para ver um exemplo de perfil do IAM e regra de AWS IoT usado nos exemplos da AWS CLI desta seção, consulte Criar um perfil do IAM e regra de IoT para o destino.

  1. Crie o perfil do IAM

    Crie um perfil do IAM que conceda permissão ao AWS IoT Core para Amazon Sidewalk para enviar dados à regra do AWS IoT. Para criar o perfil, use a operação de API CreateRole ou o comando de CLI create-role. Você pode nomear o perfil como SidewalkRole.

    aws iam create-role --role-name lambda-ex \ --assume-role-policy-document file://lambda-trust-policy.json
  2. Crie uma regra para o destino

    Crie uma regra de AWS IoT que processe os dados do dispositivo e especifique o tópico no qual as mensagens são publicadas. Você observará mensagens sobre esse tópico depois de se conectar à plataforma de hardware. Use a operação da API AWS IoT Core, CreateTopicRule, ou o comando da AWS CLI, create-topic-rule, para criar uma regra para o destino.

    aws iot create-topic-rule --rule-name Sidewalkrule \ --topic-rule-payload file://myrule.json
  3. Crie um destino

    Crie um destino que associe seu dispositivo Sidewalk à regra de IoT que o processa para uso com outros Serviços da AWS. Você pode adicionar um destino usando o hub Destinos do console de AWS IoT, a operação da API CreateDestination ou o comando da CLI create-destination.

    aws iotwireless create-destination --name SidewalkDestination \ --expression-type RuleName --expression SidewalkRule \ --role-arn arn:aws:iam::123456789012:role/SidewalkRole

Etapa 3: Provisionar e registrar o dispositivo final

Usando comandos do Python, você pode provisionar e registrar seu dispositivo final. O script de provisionamento usa os dados JSON do dispositivo que você obteve para gerar uma imagem binária de fabricação, que é então instalada na placa de hardware. Em seguida, você registra seu dispositivo final para se conectar à plataforma de hardware. Para obter mais informações, consulte Provisionamento e registro do seu dispositivo final na documentação do Amazon Sidewalk.

nota

Ao registrar seu dispositivo final do Sidewalk, seu gateway deve estar conectado ao Amazon Sidewalk, e o gateway e o dispositivo devem estar ao alcance um do outro.

Etapa 4: Conectar-se ao dispositivo final do Sidewalk e trocar mensagens

Depois de registrar seu dispositivo final, você poderá conectá-lo e começar a trocar mensagens e dados do dispositivo.

  1. Conecte seu dispositivo final do Sidewalk

    Conecte o HDK ao seu computador e siga as instruções fornecidas pela documentação do fornecedor para conectar-se ao seu HDK. Para obter mais informações, consulte Provisionamento e registro do seu dispositivo final na documentação do Amazon Sidewalk.

  2. Ver e trocar mensagens

    Use o cliente MQTT para assinar o tópico especificado na regra e visualizar a mensagem recebida. Você também pode usar a operação da API SendDataToWirelessDevice ou o comando da CLI send-data-to-wireless-device para enviar uma mensagem de downlink para o seu dispositivo e verificar o status da conectividade.

    (Opcional) Você pode ativar o evento de status de entrega da mensagem para verificar se a mensagem de downlink foi recebida com sucesso.

    aws iotwireless send-data-to-wireless-device \ --id "<Wireless_Device_ID>" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}