Valores de referência do MeshCore no Brasil

Esta página detalha os parâmetros adotados pela rede MeshCore no Brasil. Adotar esse padrão é um gesto de colaboração que fortalece a malha para todos dispositivos.

Configuração Geral

ParâmetroValor
Predefinição SelecionadaAustralia: SA, WA, Brazil
Frequência (MHz)923.125
Largura de Banda62.5 kHz
Fator de Espalhamento8
Taxa de Codificação8
Potência de transmissão (dBm)22
Tamanho do Hash do Caminho2 bytes

Explicação

Largura de banda: 62.5 kHz

A largura de banda de 62.5 kHz é mais estreita do que a convenção australiana, sendo a largura que melhor se saiu em nossos testes preliminares durante o estabelecimento da rede MeshCore no Brasil.

Fator de espalhamento: 8

O fator de espalhamento (spreading factor ou SF) define a duração da transmissão. Transmissões mais longas resultam em enlaces mais fortes e distâncias maiores, porém acaba congestionando mais a rede. O valor de SF 8 foi escolhido de modo que fosse longo o suficiente sem prejudicar a malha.

Potência de transmissão: 22 dBm

Este valor equivale a 0,3 W para dispositivos sem amplificadores (Heltec V3, RAK4631, Seeed Xiao) e 1 W para dispositivos como o Heltec V4. Esta é a potência máxima liberada pela ANATEL para a banda de radiação restrita.

Tamanho do hash: 2 bytes

Identificar-se com um hash de 2 bytes (primeiros 4 caracteres da chave pública do dispositivo) previne a colisão de pacotes na nossa rede, que cresceu ao ponto de já observar algumas colisões com 1 byte (onde apenas 255 identificações de dispositivos são possíveis). Em repetidores, você pode acessar e configurar o hash de 2 bytes através da aba Gerenciamento Remoto com esses comandos get path.hash.mode e set path.hash.mode 1

Repetidores

ParâmetroValor
Intervalo de anúncio (zero hop) em minutos0 (set advert.interval 0)
Intervalo de anúncio por inundação23 (flood.advert.interval 23)
Fator de atraso de TX0.5 – Telhados, postes, nível do solo. Poucos vizinhos, alcance local

1.0 – Prédios, torres baixas, morros

2.0 – Montanhas, picos, torres altas com visada de 360°

(set txdelay valor)
Fator de atraso de RX3 (set rxdelay 3)
Nível de detecção de loopmoderate (set loop.detect moderate)
Múltiplos avisos de recebimentoligado (set multi.acks 1)
Intervalo de reset do AGC300 segundos (set agc.reset.interval 300)
Modo do hash de caminho2 bytes (set path.hash.mode 1)
RegiõesTrês regiões seguindo o padrão br, br-estado e br-estado-ddd

region def br br-sp br-sp-15
region save

Explicação

Intervalo de anúncio (zero hop): 0 minutos

O anúncio zero hop é transmitido apenas para os vizinhos diretos do repetidor, sem ser repetido pelo restante da malha. Porém, o anúncio por inundação (ver próximo item) já é um anúncio de toda forma. Caso você esteja fazendo algum experimento, um valor de 240 minutos é tolerável. O valor é configurado em minutos com o comando set advert.interval 0

Intervalo de anúncio por inundação: 23 horas

O anúncio por inundação (flood advert) é transmitido e então repetido por todos os repetidores que o escutam, propagando a existência do nó por toda a rede. Numa malha em crescimento como a do Brasil, o intervalo de anúncios por inundação deve ser de no mínimo 23 horas, mas idealmente 47 horas. Por não ser múltiplo de 24, evita que o anúncio caia sempre no mesmo horário do dia. Configure com set flood.advert.interval 23.

Fator de atraso de TX: 0.5 / 1.0 / 2.0

O fator de atraso de TX controla quanto tempo o repetidor espera antes de retransmitir um pacote recebido. O atraso é sorteado dentro de uma janela proporcional ao tempo de transmissão do pacote multiplicado pelo fator: valores maiores criam uma janela mais ampla, fazendo o repetidor “ceder a vez” para outros nós que possam retransmitir primeiro. Por isso, a recomendação escala com a posição do repetidor: quanto mais vizinhos ele escuta, mais ele deve esperar, deixando os repetidores locais atenderem suas áreas primeiro e reduzindo colisões e aliviando o trabalho dos repetidores que unem grandes regiões (como Taipas e Japi). Use 0.5 para instalações em telhados, postes e nível do solo (poucos vizinhos, alcance local); 1.0 para prédios, torres baixas e morros; e 2.0 para montanhas, picos e torres altas com visada de 360°. Configure com set txdelay valor.

Fator de atraso de RX: 3

O atraso de RX é um recurso experimental que aplica um pequeno atraso ao processamento de pacotes recebidos com base na força do sinal. Sinais fracos esperam mais, favorecendo naturalmente os caminhos mais limpos da malha. Útil para aumentar a probabilidade de que caminhos com enlaces mais robustos sejam formados, já que nós com maior SNR tenderão a responder primeiro. Configure com set rxdelay 3.

Nível de detecção de loop: moderate

Em malhas densas, um pacote pode acabar em loop, principalmente se houver mais de um dispositivo com o mesmo ID. Com a detecção de loop habilitada, os repetidores rejeitam pacotes de inundação que aparentam estar em loop. O firmware oferece os níveis off, minimal, moderate e strict; o nível moderate equilibra a filtragem de loops sem descartar retransmissões legítimas. Configure com set loop.detect moderate.

Múltiplos avisos de recebimento: 1

Este parâmetro habilita o recurso de “ACKs duplos”: o repetidor envia mais de uma confirmação de recebimento para o mesmo pacote, aumentando a chance de que ao menos uma chegue ao remetente em enlaces com perdas — o que melhora bastante a experiência de administração remota dos repetidores. O valor 1 habilita o recurso (set multi.acks 1).

Intervalo de reset do AGC: 300

Os rádios SX1262 sofrem de um problema conhecido em que o controle automático de ganho (AGC) pode travar ao ouvir um sinal demasiadamente forte, deixando o repetidor “surdo” até ser reiniciado. O reset periódico do AGC cura essa surdez. O valor é em segundos arredondado para baixo em múltiplos de 4; com 300, o rádio zera seu AGC a cada 5 minutos. Configure com set agc.reset.interval 300.

Modo do hash de caminho: 1 (2 bytes)

Como detalhado na seção de rádio, o hash de caminho de 2 bytes expande o espaço de identificação dos repetidores de 255 para 65.535 valores possíveis, prevenindo as colisões de identificação que começamos a observar com o crescimento da rede. O valor 1 ativa o modo de 2 bytes (set path.hash.mode 1).

Regiões definidas: br, br-estado e br-estado-ddd

Definir regiões nos repetidores é o que permite conter o tráfego de flood dentro de fronteiras geográficas coerentes: sem elas, todo advert, mensagem de canal e pacotes de wardriving se propagam indefinidamente por toda a malha interconectada, saturando o tempo de ar até tornar a rede inutilizável. Como o repetidor é o único elemento que decide encaminhar ou descartar um pacote (comparando o transport code do cabeçalho com as regiões que tem configuradas), é nele que a filtragem acontece de fato; o usuário pode escolher o escopo no aplicativo, mas essa escolha só produz efeito se os repetidores do caminho reconhecerem aquele código. Por isso, é importante ter as regiões definidas no seu repetidor, mesmo que você não utilize âmbitos regionais; outros usuários podem utilizá-los. Leia mais sobre âmbitos regionais no artigo Como funcionam as regiões no MeshCore.

Está gostando do conteúdo? Compartilhe clicando abaixo

Participe da nossa Comunidade Meshcore no Telegram