Lorawan-stack: Considere Rx1 e Rx2 separadamente para o tamanho máximo da carga útil

Criado em 27 jun. 2019  ·  10Comentários  ·  Fonte: TheThingsNetwork/lorawan-stack

Resumo

Não consigo enviar downlink com tamanho de carga útil de dados maior que 54B (binário) / codificado em base 64 (72B)Com a mensagem de retorno do servidor de tamanho maior:WARN Application downlink presente, mas a carga útil é muito longa, Inform Application Server ack = true ........

Estou no módulo Telit re866 que é certificado 1.0.2 ClassA / C e verifique o LoRaWAN 1.0.2 para os parâmetros regionais.
Estou usando classe A

Configurações padrão datarate (sf12 / 125kHz) - rx2datarate (padrão para especificação lora 1.0.2)
Condições de teste: -90dBm

Eu também defino outros datarates, por exemplo. (sf7 / 125) => Kerlink femtocell GW mostra em logs (sf7bw125)
Como eu entendi de acordo com as especificações de lora max. o tamanho da carga útil é 230/222. Testei outros valores com o mesmo tamanho de carga útil e sf12 os mesmos resultados.

...

Passos para reproduzir

  1. ... curl http: // localhost : 1885 / api / v3 / as / applications / ap2 / webhooks / fwup / devices / dv1 / down / push -X POST -H 'Autorização: Bearer NNSXS.CLCIYOYY * * ' - data '{"downlinks": [{"frm_payload": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0 +" P0BUEST "," HIGHER "," 15UEST "porta-P0BUEST" 15 "," HIGHER "," 15UEST "porta": "15UEST", "15UEST}" FDEyMzQ1Njc4Njc4Njc4Njc4Njc4 "," Prioridade "15UEST}" 15UEST "," HDEyMzQ1Njc4Njc4Njc4 "

  2. Dados 71B (binário) ... Status do webhook (200) - OK

  3. ... Mensagem do console do servidor após algum tempo: AVISO downlink do aplicativo presente, mas a carga útil é muito longa, Informar servidor de aplicativos ack = true ........
  4. Os dados não são recebidos pelo Node

O que você vê agora?


WARN Application downlink presente, mas a carga útil é muito longa, Inform Application Server ack = true ........
...

O que você quer ver em vez disso?

...

Ambiente


Ubuntu 16.4 / FF / Kerlink Femtocell / Telit RE866
...

Como você pretende implementar isso?

...

Você pode fazer isso sozinho e enviar uma solicitação pull?

...

bug network server in progress

Comentários muito úteis

Existe alguma solução alternativa rápida? Podemos impor a taxa de dados na configuração json de downlink?

Você pode alterar os parâmetros Rx2 para o dispositivo final, consulte ttn-lw-cli dev set --help , com o qual você pode definir a taxa de dados Rx2 para um valor alto, ou seja, 5 (SF7BW125 em EU868).

Todos 10 comentários

  • Em qual PHY você está?
  • Qual taxa de dados você está usando para uplink quando vê esse erro?

Nó Telit Re866 + uC (EU863-870 - lorawan 1.0.2 Classe A)
informações pkt de femtocell kerlink + spf (tx): para dados limitados a 52B (binário)
Rede local (Kerlink Ethernet <=> PC Etnernet)
Modulação: LORA
codr: 4/5
imme: falso
rfch: 0
powe: 14
ipol: true
ncrc: true
tamanho: 65
datr: sf7bw125

RSSI (rx): -80dBm

As mesmas configurações para comprimento de carga útil: 62B (binário)
Eu examino todas as possibilidades para DataRate (todas as falhas).
Datarates de uplink testados (dados não recebidos no nó + WARN "carga útil muito longa" no servidor):
SF7bw125 ---
SF12bw125 ---
SF11bw125 -
SF10bw125 -
SF9bw125 -
SF8bw125 -
SF7bw250 --- junção por erro
FSK - erro de junção

Isso acontece porque a taxa de dados Rx2 configurada é SF12BW125 (DR0). Na classe A, o NS atualmente programa o downlink de modo que esteja em conformidade com os parâmetros Rx1 e Rx2. De acordo com a tabela da especificação de parâmetros regionais, o tamanho máximo de FRMPayload em DR0 que pode ser usado para Rx2 (no caso de FOpts estarem ausentes) é 51, que é menos do que você está tentando fazer.
2019-06-27-21:18:41-screenshot

@johanstokking Acho que devemos mudar esse comportamento e o NS deve, de fato, separar as solicitações de agendamento Rx1 e Rx2 para o GS se a carga útil não se encaixar em nenhum deles.

@rvolosatovs sim, definitivamente deveria fazer isso.

Você pode registrar um problema?

Existe alguma solução alternativa rápida? Podemos impor a taxa de dados na configuração json de downlink?

Precisamos enviar centenas de pacotes de downlink para atualização do FW:

  • cerca de 200 bilhões cada (melhor caso)
  • cerca de 70 bilhões cada (pior caso)

Consideramos adicionar gateway LoRaWAN adicional apenas para atualização de firmware para estabelecer "bom alcance" e diferentes servidores de rede / aplicativos (para ambiente de produção).

Existe alguma solução alternativa rápida? Podemos impor a taxa de dados na configuração json de downlink?

Você pode alterar os parâmetros Rx2 para o dispositivo final, consulte ttn-lw-cli dev set --help , com o qual você pode definir a taxa de dados Rx2 para um valor alto, ou seja, 5 (SF7BW125 em EU868).

Obrigado @johanstokking esta solução corrige o problema.

Atualmente eu atualizo o firmware para o módulo LoRaWAN e tenho a Classe C disponível.

@ecities isso chega na próxima versão, por favor,

Oi
agora temos problemas para seguir:
"ERROR Generated downlink payload size não se encaixa RX1, nem RX2, ignorar slot de downlink classe A band_id = AS_923 dev_addr = FC005138 device_class = CLASS_A ..."
usamos sf10 como padrão, não entendo porque

Oi @ viethoa14
As informações fornecidas não são suficientes para depurar esse problema. Se você for cliente da TTI, entre em contato com nossa equipe de suporte por meio do sistema de tíquetes.
Se você for um usuário de código aberto, forneça o seguinte, reproduzindo claramente o problema:

  • Registro de pilha
  • Registro de eventos do dispositivo
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

adamsondelacruz picture adamsondelacruz  ·  7Comentários

MatteMoveSRL picture MatteMoveSRL  ·  7Comentários

ZeroSum24 picture ZeroSum24  ·  3Comentários

adriansmares picture adriansmares  ·  9Comentários

htdvisser picture htdvisser  ·  9Comentários