MeshCore — boas práticas

Para lembrar

  1. Juntar-se aos grupos locais

    Antes de mais, procura os grupos MeshCore da tua cidade, da tua região ou do teu país. São eles que sustentam a mesh.

  2. O mesmo rádio que a mesh

    Usa o preset da tua comunidade. Na Europa e no Reino Unido é em geral EU/UK (Narrow).

  3. Hops de 2 bytes

    Na app, põe o cabeçalho do caminho em 2 bytes (32 saltos) quando a mesh à tua volta estiver em 1.14+.

Esta página foi feita para viajar pelo ar. Um URL curto, sem conta, e não está presa a um só concelho. A lei de rádio do teu país manda. Os nomes das regiões e o preset exacto são os da tua comunidade, não uma norma mundial única.

Firmware útil: 1.14+ para hops de vários bytes, 1.17+ para o CAD. Aplicação MeshCore recente (1.41+ para hops, 1.49+ para os menus de rede descritos aqui).

Comunidade

O conselho mais útil: aproxima-te dos grupos MeshCore da tua cidade, da tua região ou do teu país. O preset de rádio, os nomes das regiões, os canais e o sítio dos repetidores decidem-se lá. Um nó isolado, mesmo bem configurado, pode prejudicar a mesh se ignorar as escolhas locais.

Rádio

Todos os nós da mesma mesh devem partilhar a mesma frequência, largura de banda, spreading factor e coding rate. Um preset diferente e não ouves ninguém.

Escolhe o preset em Definições → Definições de rádio (ou no flash). Na Europa e no Reino Unido o preset recomendado é EU/UK (Narrow): 869,618 MHz, 62,5 kHz, SF8, CR8. A Suíça publica os mesmos números. Outros países têm a sua linha na app. Em Portugal, confirma se a comunidade usa EU/UK (Narrow) ou o preset Portugal 868 (SF7, CR6). Não copies um preset estrangeiro «porque chega mais longe».

O hardware tem de coincidir com a banda legal: 868 MHz na Europa e no Reino Unido, 915 MHz nos Estados Unidos, Canadá, Austrália e Nova Zelândia. Um rádio 868 não se torna legal nos EUA ao mudar um menu.

Presets vistos na app oficial (instantâneo da comunidade, janeiro de 2026; a app continua a ser a referência):

Zona Preset Frequência SF BW CR
UE / UK EU/UK (Narrow) 869,618 MHz 8 62,5 kHz 8
Suíça Switzerland 869,618 MHz 8 62,5 kHz 8
Chéquia Czech Republic (Narrow) 869,525 MHz 7 62,5 kHz 5
Portugal 868 Portugal 868 869,618 MHz 7 62,5 kHz 6
EUA / Canadá USA/Canada (Recommended) 910,525 MHz 7 62,5 kHz 5
Austrália Australia 915,800 MHz 10 250 kHz 5
Victoria (AU) Australia: Victoria 916,575 MHz 7 62,5 kHz 8
Nova Zelândia New Zealand (Narrow) 917,375 MHz 7 62,5 kHz 5
Vietname Vietnam 920,250 MHz 11 250 kHz 5

Sub-banda europeia 869,4–869,65 MHz: em geral 500 mW PRE e duty cycle de 10 %. Com uma antena de ganho, baixa a potência de emissão. Nos Estados Unidos, a FCC 15.247 é outra: não há os 10 % europeus. Confirma a autoridade local (ANACOM, ANFR, Ofcom, FCC…).

Hops de 2 bytes

O caminho de um pacote pode codificar repetidores em 1, 2 ou 3 bytes. Um byte ainda funciona em firmware antigo, mas as colisões de identificador são frequentes. 2 bytes (65 536 identificadores, 32 saltos no máximo) é o bom compromisso quando há repetidores suficientes em 1.14+. Os nós mais antigos descartam pacotes de vários bytes. Três bytes (21 saltos) servem a grandes implementações.

No companion: ⚙ Definições → Definições de rede → tamanho de cabeçalho predefinido 2 bytes, ou ⚙ Definições → Definições experimentais (consoante a versão).

Companion

Nomeia o nó em ⚙ Definições → Informação pública. O prefixo país ISO + subdivisão serve para todos os nós, companions incluídos: PT-11-Ana, PT-13-Rui.

Nas Definições de rede: cabeçalho 2 bytes, região predefinida = o teu país (pt, fr, gb…). Acrescenta os canais hashtag da comunidade (muitas vezes #país, #emergency só para emergências, #info, #meteo, #test, mais o local). Depois define o âmbito de região em cada canal.

Não inventes um preset de rádio «para ganhar alcance» se a mesh à tua volta já está fixa.

Lista de verificação

  1. Juntar-te aos grupos MeshCore da tua cidade, região ou país.
  2. Banda e preset iguais à mesh local (EU/UK Narrow na Europa / UK, salvo decisão local; em Portugal confirma o preset da comunidade).
  3. Firmware 1.17+ em todos os nós.
  4. Cabeçalho / hops a 2 bytes na app.
Tenho um repetidor

Regiões em hierarquia

Sem região, uma mensagem de vizinhos pode atravessar um país inteiro e saturar o canal. Uma região é uma etiqueta no pacote. O repetidor só reenvia se essa etiqueta estiver na sua lista. A correspondência é exacta: pt não é pt-11. Por isso a hierarquia, e por isso listas cada região útil.

Convenção habitual: minúsculas, a-z, 0-9, hífenes, 29 bytes no máximo.

continente → país → zona → local
eu         → pt   → pt-11 → pt-lis
eu         → fr   → fr-pac → fr-06
eu         → gb   → gb-eng → gb-nwk
us         → us-fl → us-fl-cfl
au         → au-nsw → au-nsw-syd

Os nomes exactos são os da tua comunidade. Descobre-os na app: abrir um canal → ⋮ → definir o âmbito → descobrir regiões.

Exemplo de cadeia num repetidor (adapta):

region def eu pt pt-11 pt-lis
region default pt
region home pt
region save

region def cria uma cadeia pai → filho e permite flood. region put filho pai faz o mesmo passo a passo. region default é o âmbito dos pacotes que este nó origina. region home diz onde está. region save grava na flash. Um repetidor que só tem * não filtra o local: muitas comunidades não confiam nisso.

No companion, liga cada canal a uma região. Um esquema, não uma lista obrigatória:

Canal Região típica
Público continente (eu, por vezes o país)
#país (#pt, #fr) país
#emergency, #info, #meteo, #test zona
canal local (concelho, distrito) local

Uma mensagem local com âmbito pt-lis pára no primeiro repetidor que não tenha pt-lis. É o objectivo. Usa nomes de lugar completos e hífenes para evitar duplicados.

Repetidor

Nomeia-o PAÍS-DPT-Cidade-Bairro-livre. As quatro primeiras letras da cidade são maiúsculas, o resto minúsculas. O bairro é facultativo; o último segmento é livre (sítio, dono). Exemplo: PT-11-LISBoa-Alfama-Ana. Coloca-o alto, com alimentação contínua, antena sintonizada e cabo curto. Acrescenta um contacto público. Deixa a telemetria aberta aos convidados: sem palavra-passe de convidado. Sincroniza o relógio (clock sync a partir do companion).

CLI típica, a adaptar (duty cycle 10 sobretudo na Europa em 869,4–869,65 MHz; noutros sítios a lei local). Algumas comunidades desligam o anúncio de 0 saltos (set advert.interval 0):

set advert.interval 240
set flood.advert.interval 24
set flood.max.advert 6
set flood.max.unscoped 5
set multi.acks 1
set path.hash.mode 1
set loop.detect minimal
set dutycycle 10
set agc.reset.interval 4
set cad on
set repeat on
region def eu pt pt-xx pt-yy
region default pt
region home pt
region save
reboot
clock sync
Comando Função
advert.interval 240 Anúncio de 0 saltos a cada 4 h, para vizinhos próximos.
flood.advert.interval 24 Descoberta de rede uma vez por dia.
flood.max.advert 6 Os anúncios flood não vão demasiado longe.
flood.max.unscoped 5 Mensagens sem região ficam locais.
multi.acks 1 Mais confirmações, mais fiável.
path.hash.mode 1 Anúncios do repetidor em 2 bytes.
loop.detect minimal Corta ciclos (limiares conforme 1, 2 ou 3 bytes).
dutycycle 10 Tecto de 10 % (UE típica). 100 = sem limite de software.
agc.reset.interval 4 Recalibra o ganho automático.
cad on Ouve o canal antes de emitir (firmware 1.17+).
repeat on Reenvio ligado.

Firmware 1.17+ recomendado para CAD + hops de 2 bytes + regiões.

CAD

CAD (Channel Activity Detection): o rádio ouve o canal antes de emitir e espera se estiver ocupado. Num repetidor ou room server 1.17+:

set cad on

Está desligado por omissão.

Num sítio muito ruidoso, o CAD pode atrasar uma emissão alguns segundos. Fala com a comunidade antes de o desligar. Nos companions, o CAD de hardware ainda não é um ajuste estável na app: o gesto útil é set cad on no repetidor.

  1. Regiões hierárquicas listadas uma a uma; canais ligados; region save.
  2. Anúncios sóbrios, multi-ACK, duty cycle legal, relógio certo, repeat on.
  3. set cad on (1.17+).
  4. Nome no formato PAÍS-DPT-Cidade… (4 letras da cidade em maiúsculas), contacto público, telemetria aberta aos convidados, antena e alimentação cuidadas.

Fontes

Adaptado do guia dos Alpes Marítimos para todos os países. Comandos: CLI MeshCore. Hops: FAQ MeshCore. Rádio UE: MeshCore Europe. Presets: LetsMesh. CAD: notas 1.17.0. Projecto: meshcore.io.