Configuração da posição de dispositivos LoRaWAN - AWS IoT Wireless

Configuração da posição de dispositivos LoRaWAN

Ao adicionar o dispositivo ao AWS IoT Core for LoRaWAN, é possível especificar as informações de posição estática, opcionalmente ativar o posicionamento e especificar um destino. O destino descreve a regra de IoT que processa as informações de posição do dispositivo e encaminha a posição atualizada para o Amazon Location Service. Após configurar a posição do dispositivo, os dados de posição são exibidos em um mapa de localização da Amazon com as informações de precisão e o destino especificado.

É possível configurar a posição do dispositivo utilizando o AWS Management Console, a API do AWS IoT Wireless ou a AWS CLI.

Se você ativar o posicionamento, será necessário especificar a porta do quadro de geolocalização para transmitir os dados de verificação de Wi-Fi e GNSS do dispositivo para o AWS IoT Core for LoRaWAN. As informações de posição são transmitidas ao AWS IoT Core for LoRaWAN utilizando essa porta de quadro.

A especificação LoRaWAN fornece um campo de entrega de dados (FRMPayload) e um campo Porta (FPort) para distinguir entre diferentes tipos de mensagens. Para comunicar as informações de posição, é possível especificar um valor entre 1 e 223 para a porta do quadro. A FPort 0 é reservada para mensagens MAC, a FPort 224 é reservada para testes de conformidade MAC e as portas 225-255 são reservadas para futuras extensões padronizadas de aplicativos.

Quando você adiciona um destino, ele cria uma regra do AWS IoT para rotear os dados para o Amazon Location Service com o mecanismo de regras. As informações de posição atualizadas são, então, exibidas em um mapa de localização da Amazon. Se você não tiver ativado o posicionamento, o destino direcionará os dados de posição quando você atualizar as coordenadas de posição estática do dispositivo.

O código a seguir mostra o formato da mensagem de uplink enviada do AWS IoT Core for LoRaWAN com as informações de posição, precisão, configuração do solucionador e metadados sem fio. Os campos que aparecem destacados abaixo são opcionais. Caso não haja informações de precisão vertical, o valor será null.

{ // Position configuration parameters for given wireless device "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", // Position information for a device in GeoJSON format. Altitude // is optional. If no vertical accuracy information is available // or positioning isn't activated, the value is set to null. // The position information coordinates are listed in the order // [longitude, latitude, altitude]. "coordinates": [33.33000183105469, -22.219999313354492, 99.0], "type": "Point", "properties": { "horizontalAccuracy": number, "verticalAccuracy": number", "timestamp": "2022-08-19T03:08:35.061Z" }, //Parameters controlled by AWS IoT Core for LoRaWAN "WirelessMetadata": { "LoRaWAN": { "ADR": false, "Bandwidth": 125, "ClassB": false, "CodeRate": "4/5", "DataRate": "0", "DevAddr": "00b96cd4", "DevEui": "58a0cb000202c99", "FOptLen": 2, "FCnt": 1, "Fport": 136, "Frequency": "868100000", "Gateways": [ { "GatewayEui": "80029cfffe5cf1cc", "Snr": -29, "Rssi": 9.75 } ], "MIC": "7255cb07", "MType": "UnconfirmedDataUp", "Major": "LoRaWANR1", "Modulation": "LORA", "PolarizationInversion": false, "SpreadingFactor": 12, "Timestamp": "2021-05-03T03:24:29Z" } } }

Configuração da posição de dispositivos com o console

Para configurar e gerenciar a posição de dispositivos usando o AWS Management Console, faça login no console e, depois, acesse a página do hub Dispositivos do console do AWS IoT.

Adicionar informações de posição

Para adicionar informações de posição do dispositivo:

  1. Na página do hub Dispositivos, selecione Adicionar dispositivo sem fio.

  2. Informe a especificação do dispositivo sem fio, os perfis do dispositivo e do serviço e o destino que define a regra de IoT para roteamento dos dados para outros AWS service (Serviço da AWS). Para ter mais informações, consulte Integrar os dispositivos ao AWS IoT Core for LoRaWAN.

  3. Insira as informações de posição, opcionalmente ative a geolocalização e especifique um destino de dados de posição que deseje usar para rotear mensagens.

    • Informações de posição

      Especifique os dados de posição do dispositivo usando as coordenadas de latitude e longitude e uma coordenada de altitude opcional. As informações de posição se baseiam no sistema de coordenadas WGS84.

    • Geolocalização

      Ative o posicionamento se quiser que o AWS IoT Core for LoRaWAN utilize a geolocalização para calcular a posição do dispositivo. Ele usa solucionadores GNSS e Wi-Fi de terceiros para identificar a posição do dispositivo em tempo real.

      Para inserir as informações de geolocalização, selecione Ativar posicionamento e insira a porta do quadro de geolocalização para transmitir os dados de verificação de GNSS e Wi-Fi ao AWS IoT Core for LoRaWAN. Você verá as FPorts padrão preenchidas para sua referência. Entretanto, é possível escolher um valor diferente entre 1 e 223.

    • Destino dos dados de posição

      Escolha um destino para descrever a regra do AWS IoT que processa os dados de posição do dispositivo e os encaminha ao AWS IoT Core for LoRaWAN. Use esse destino apenas para rotear dados de posição. Ele deve ser diferente do destino usado para rotear dados do dispositivo para outros AWS service (Serviço da AWS).

Visualize a configuração de posição do dispositivo

Depois de configurar a posição do dispositivo, o AWS IoT Core for LoRaWAN cria um mapa do Amazon Location chamado iotwireless.map. É possível visualizar esse mapa na página de detalhes do dispositivo na guia Posição. Com base nas coordenadas de posição especificadas ou na posição calculada pelos solucionadores de terceiros, a posição do dispositivo será exibida como um marcador no mapa. É possível ampliar ou reduzir o zoom para visualizar a posição do dispositivo no mapa com clareza. Na página de detalhes do dispositivo, na guia Posição, também é possível ver as informações de precisão, o registro de data/hora em que a posição do seu dispositivo foi determinada e o destino dos dados de posição especificados.

nota

Se não tiver ativado os mapas do Amazon Location Service, será exibida uma mensagem indicando que você precisará usar o Amazon Location Service para acessar o mapa e visualizar a posição. Usar mapas do Amazon Location Service pode incorrer em cobranças adicionais na sua Conta da AWS. Para obter mais informações, consulte Definição de preços do AWS IoT Core.

O mapa iotwireless.map atua como uma fonte de dados de mapa que é acessada usando operações de API Get, como GetMapTile. Para acessar mais informações sobre as APIs Get usadas com mapas, consulte Referência de API do Amazon Location Service.

Para obter detalhes adicionais sobre esse mapa, vá para o console do Amazon Location Service, selecione mapas e, depois, selecione iotwireless.map. Para acessar mais informações, consulte Mapas no Guia do desenvolvedor do Amazon Location Service.

Atualize a configuração de posição do dispositivo

Para alterar a configuração da posição do dispositivo, na página de detalhes do dispositivo, selecione Editar e, em seguida, atualize as informações de posição, configurações de geolocalização e o destino.

nota

As informações de dados históricos de posição não estão disponíveis. Quando você atualiza as coordenadas de posição do dispositivo, os dados de posição relatados anteriormente são substituídos. Depois de atualizar a posição, na guia Posição dos detalhes do dispositivo, as informações da nova posição serão exibidas. A alteração no registro de data/hora indica que ela corresponde à última posição conhecida do dispositivo.

Configurar a posição do dispositivo usando a API

É possível especificar as informações de posição, configurar a posição do dispositivo e ativar a geolocalização opcional utilizando a API do AWS IoT Wireless ou a AWS CLI.

Importante

As ações de API UpdatePosition, GetPosition, PutPositionConfiguration, GetPositionConfiguration e ListPositionConfigurations não são mais compatíveis. Ao invés disso, as chamadas para atualizar e recuperar as informações de posição devem usar as operações de API GetResourcePosition e UpdateResourcePosition.

Adicionar informações de posição e configuração

Para adicionar as informações de posição de um dispositivo sem fio determinado, especifique as coordenadas usando a operação de API UpdateResourcePosition ou o comando update-resource-position da CLI. Especifique WirelessDevice como o ResourceType, o ID do dispositivo sem fio a ser atualizado como o ResourceIdentifier e as informações de posição.

aws iotwireless update-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f" \ --position [33.33, -33.33, 10.0]

O exemplo a seguir mostra o conteúdo do arquivo deviceposition.json. Para especificar os valores de FPort para enviar os dados de geolocalização, use o objeto Posicionamento com as operações de API CreateWirelessDevice e UpdateWirelessDevice.

Conteúdo do deviceposition.json

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": "timestamp": "2018-11-30T18:35:24Z" } }

A execução desse comando não retorna nenhuma saída. Para acessar as informações de posição especificadas, use a operação de API GetResourcePosition.

Obtenha informações de posição e configuração

Para acessar as informações de posição de um dispositivo sem fio determinado, use a API GetResourcePosition ou o comando get-resource-position da CLI. Especifique WirelessDevice como o resourceType e forneça o ID do dispositivo sem fio como o resourceIdentifier.

aws iotwireless get-resource-position \ --resource-type WirelessDevice \ --resource-id "1ffd32c8-8130-4194-96df-622f072a315f"

Executar esse comando exibe as informações de posição do dispositivo sem fio como uma carga GeoJSON. Você verá informações sobre coordenadas de posição, tipo de localização e propriedades que podem incluir informações de precisão e o registro de data/hora correspondente à última posição conhecida do dispositivo.

{ "type": "Point", "coordinates": [33.3318, -22.2155, 13.123], "properties": { "verticalAccuracy": 707, "horizontalAccuracy": 389, "horizontalConfidenceLevel": 0.68, "verticalConfidenceLevel": 0.68, "timestamp": "2018-11-30T18:35:24Z" } }