Formar uma fila de mensagens de downlink para enviar para dispositivos LoRaWAN
Aplicações hospedadas na nuvem e outros AWS service (Serviço da AWS)s podem enviar mensagens de downlink para os seus dispositivos sem fio. Mensagens de downlink são mensagens enviadas a partir do AWS IoT Core for LoRaWAN para o seu dispositivo sem fio. É possível agendar e enviar mensagens de downlink para cada dispositivo que você integrou ao AWS IoT Core for LoRaWAN.
Se tiver múltiplos dispositivos para os quais deseja enviar uma mensagem de downlink, é possível usar um grupo de multicast. Os dispositivos de um grupo de multicast compartilham o mesmo endereço multicast, que é, então, distribuído para um todo um grupo de dispositivos destinatários. Para ter mais informações, consulte Crie grupos de multicast para enviar uma carga de downlink para vários dispositivos.
Como uma fila de mensagens de downlink funciona
A classe de dispositivo de um dispositivo LoRaWAN determina como as mensagens da fila são enviadas para o dispositivo. Dispositivos de classe A enviam uma mensagem de uplink ao AWS IoT Core for LoRaWAN para indicar que o dispositivo está disponível para recebimento de mensagens de downlink. Os dispositivos de classe B podem receber mensagens em slots de downlink regulares. Os dispositivos de classe C podem receber mensagens de downlink a qualquer momento. Para acessar mais informações sobre classes de dispositivos, consulte Classes de dispositivos.
O seguinte mostra como as mensagens são colocadas em fila e enviadas para seus dispositivos de classe A.
-
O AWS IoT Core for LoRaWAN armazena em buffer a mensagem de downlink que você adicionou à fila com a porta do quadro, os dados da carga e os parâmetros do modo de reconhecimento especificados com o console do AWS IoTou a API do AWS IoT Wireless.
-
O dispositivo LoRaWAN envia uma mensagem de uplink indicando que ele está on-line e pode começar a receber mensagens de downlink.
-
Caso você tenha adicionado mais de uma mensagem de downlink à fila, o AWS IoT Core for LoRaWAN envia a primeira mensagem de downlink na fila para o seu dispositivo com o sinalizador de reconhecimento (ACK) definido.
-
Seu dispositivo envia uma mensagem de uplink para o AWS IoT Core for LoRaWAN imediatamente ou permanece inativo até a próxima mensagem de uplink e inclui o sinalizador ACK na mensagem.
-
Quando o AWS IoT Core for LoRaWAN recebe a mensagem de uplink com o sinalizador ACK, ele retira a mensagem de downlink da fila, indicando que o seu dispositivo recebeu a mensagem de downlink com êxito. Se o sinalizador ACK estiver ausente da mensagem de uplink após três verificações, a mensagem será descartada.
Executar operações de fila de downlink com o console
É possível usar o AWS Management Console para enfileirar mensagens de downlink e retirar mensagens individuais, ou toda a fila, conforme necessário. Com dispositivos de classe A, após um uplink ser recebido do dispositivo para indicar que ele está on-line, as mensagens em fila são enviadas para o dispositivo. Depois que a mensagem for enviada, ela será automaticamente removida da fila.
Colocar mensagens de downlink em fila
Para criar uma fila de mensagens de downlink
-
Acesse o hub Dispositivos do console do AWS IoT
e selecione o dispositivo para o qual deseja enfileirar mensagens de downlink. -
Na seção Mensagens de downlink da página de detalhes do dispositivo, selecione Enfileirar mensagens de downlink.
-
Especifique os parâmetros a seguir para configurar sua mensagem de downlink:
-
FPort: selecione a porta do quadro usada pelo dispositivo para comunicação como o AWS IoT Core for LoRaWAN.
-
Carga: especifique a mensagem de carga que deseja enviar para o seu dispositivo. O tamanho máximo da carga é de 242 bytes. Se a taxa de dados adaptativa (ADR) estiver ativada, o AWS IoT Core for LoRaWAN a utiliza para escolher a taxa de dados ideal para o tamanho da carga. É possível otimizar ainda mais a taxa de dados conforme necessário.
-
Modo de reconhecimento: confirme se o dispositivo recebeu a mensagem de downlink. Se uma mensagem exigir esse modo, você verá uma mensagem de uplink com o sinalizador ACK no seu fluxo de dados e a mensagem será retirada da fila.
-
-
Para adicionar sua mensagem de downlink à fila, selecione Enviar.
Sua mensagem de downlink foi adicionada à fila. Caso não veja sua mensagem, ou se receber uma mensagem de erro, você pode solucionar o erro conforme descrito em Solucionar erros na fila de mensagens de downlink.
nota
Depois que sua mensagem de downlink for adicionada à fila, não será mais possível editar os parâmetros FPort, Carga e Modo de reconhecimento. Para enviar uma mensagem de downlink com valores diferentes para esses parâmetros, é possível excluir essa mensagem e enfileirar uma nova mensagem de downlink com os valores de parâmetros atualizados.
A fila lista as mensagens de downlink adicionadas. Para visualizar a carga das mensagens de uplink e downlink trocadas entre seus dispositivos e o AWS IoT Core for LoRaWAN, use o analisador de rede. Para ter mais informações, consulte Monitorar sua frota de recursos sem fio em tempo real usando o analisador de rede.
Listar fila de mensagens de downlink
A mensagem de downlink criada por você será adicionada à fila. Cada mensagem de downlink subsequente será adicionada à fila após essa mensagem. Você pode visualizar uma lista de mensagens de downlink na seção Mensagens de downlink da página de detalhes do dispositivo. Depois que um uplink for recebido, as mensagens serão enviadas para o dispositivo. Depois que uma mensagem de downlink for recebida pelo dispositivo, ela será removida da fila. A mensagem seguinte, então, sobe na fila para ser enviada ao seu dispositivo.
Excluir mensagens de downlink individuais ou limpar toda a fila
Cada mensagem de downlink é retirada da fila automaticamente depois de ser enviada ao seu dispositivo. Também é possível excluir mensagens individuais ou remover toda a fila de downlink. Essas ações são irreversíveis.
-
Caso localize mensagens na fila que não deseje enviar, selecione as mensagens e selecione Excluir.
-
Se não quiser enviar nenhuma mensagem da fila para o dispositivo, é possível remover toda a fila selecionando Limpar fila de downlink.
Executar operações de fila de downlink com a API
É possível usar a API do AWS IoT Wireless para enfileirar mensagens de downlink e retirar mensagens individuais, ou toda a fila, conforme necessário.
Colocar mensagens de downlink em fila
Para criar uma fila de mensagens de downlink, use a operação de API SendDataToWirelessDevice
ou o comando send-data-to-wireless-device
da CLI.
aws iotwireless send-data-to-wireless-device \ --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \ --transmit-mode "1" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata LoRaWAN={FPort=1}
Executando o comando, a saída gera um MessageId
para a mensagem de downlink. Em alguns casos, mesmo que você receba o MessageId
, os pacotes podem ser descartados. Para obter mais informações sobre como resolver o erro, consulte Solucionar erros na fila de mensagens de downlink.
{ MessageId: "6011dd36-0043d6eb-0072-0008" }
Listar mensagens de downlink na fila
Para listas todas as mensagens de downlink da fila, use a operação de API ListQueuedMessages
ou o comando list-queued-messages
da CLI.
aws iotwireless list-queued-messages
Por padrão, um máximo de 10 mensagens de downlink são exibidas ao executar esse comando.
Remover mensagens de downlink individuais ou limpar toda a fila
Para remover mensagens individuais da fila ou limpar a fila inteira, use a operação de API DeleteQueuedMessages
ou o comando delete-queued-messages
da CLI.
-
Para remover mensagens individuais, forneça o
messageID
das mensagens que deseja remover para um dispositivo sem fio, especificado pelowirelessDeviceId
. -
Para limpar a fila de downlinks inteira, especifique o
messageID
como*
para um dispositivo sem fio, especificado pelowirelessDeviceId
.
Solucionar erros na fila de mensagens de downlink
Aqui estão algumas objetos para verificar, se não estiver obtendo os resultados esperados:
-
As mensagens de downlink não aparecem no console do AWS IoT
Se não estiver vendo sua mensagem de downlink na fila depois de adicioná-la conforme descrito em Executar operações de fila de downlink com o console, seu dispositivo talvez não tenha concluído um processo chamado procedimento de ativação ou adesão. Esse procedimento é realizado quando seu dispositivo é integrado ao AWS IoT Core for LoRaWAN. Para ter mais informações, consulte Adicione a especificação do dispositivo sem fio ao AWS IoT Core for LoRaWAN usando o console.
Após integrar seu dispositivo ao AWS IoT Core for LoRaWAN, é possível monitorá-lo para verificar se a adesão e a readesão foram bem-sucedidas usando o analisador de rede ou o Amazon CloudWatch. Para ter mais informações, consulte Ferramentas de monitoramento.
-
Pacotes de mensagens de downlink ausentes ao usar a API
Quando você usa a operação da API
SendDataToWirelessDevice
, a API retorna um únicoMessageId
. Entretanto, não é possível confirmar se o dispositivo LoRaWAN recebeu a mensagem de downlink. Os pacotes de downlink podem ser descartados em casos como quando o dispositivo não concluiu o procedimento de adesão. Para acessar mais informações sobre como solucionar esse erro, consulte a seção anterior. -
Erro de ARN ausente ao enviar mensagem de downlink
Quando enviar uma mensagem de downlink para seu dispositivo a partir da fila, você pode receber um erro de nome do recurso da Amazon (ARN) ausente. Esse erro pode ocorrer porque o destino não foi especificado da maneira correta para o dispositivo que está recebendo a mensagem de downlink. Para solucionar esse erro, verifique os detalhes do destino do dispositivo.