MeshCore — boas práticas

Para lembrar

  1. Juntar-se aos grupos locais

    Antes de mais, aproxima-te dos grupos MeshCore da tua cidade, da tua região ou do teu país. São eles que farão viver a rede contigo.

  2. Definições

    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). Assim evitas perder a rota das mensagens e não poderes responder.

  4. Precisas de conselho?

    Pede ajuda no canal do teu país, no pior dos casos em Public, e para os utilizadores Meshloom no canal #Meshloom!

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 rede 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 usa as mesmas definições. 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 parece melhor».

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 oferecidos pela app oficial MeshCore (consultados em outubro 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,432 MHz 7 62,5 kHz 5
Hungria Hungary 869,618 MHz 7 62,5 kHz 5
Países Baixos Netherlands 869,618 MHz 7 62,5 kHz 5
Países Baixos (Limburgo) Netherlands (Limburg) 869,618 MHz 8 62,5 kHz 8
Portugal 868 Portugal 868 869,618 MHz 7 62,5 kHz 6
Eslováquia Slovakia 869,618 MHz 7 62,5 kHz 5
EUA USA 910,525 MHz 7 62,5 kHz 5
Canadá Canada 910,525 MHz 7 62,5 kHz 5
Austrália Australia 915,800 MHz 10 250 kHz 5
Austrália (Narrow) Australia (Narrow) 916,575 MHz 7 62,5 kHz 7
Nova Zelândia New Zealand (Narrow) 917,375 MHz 7 62,5 kHz 5
Vietname Vietnam (Narrow) 920,250 MHz 8 62,5 kHz 5

Alguns presets sugerem saltos mais largos: 2 bytes para Chéquia, Hungria, Eslováquia, Países Baixos (Limburgo) e Nova Zelândia, 3 bytes para o Canadá. A app lista ainda outros presets que não constam desta tabela (433 MHz, Brasil, Costa Rica, outras regiões da Austrália, Nova Zelândia (Gisborne), sul da Califórnia). As entradas marcadas «Deprecated» (EU/UK, Vietname) são definições antigas abandonadas pelo MeshCore: usa-as só se a tua mesh local ainda as usar.

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 para ficares no limite. Nos Estados Unidos, a FCC 15.247 é outra: não há os 10 % europeus. Confirma a autoridade local (ANACOM, ANFR, Ofcom, BNetzA, FCC, ACMA…).

Hops de 2 bytes

O caminho de um pacote pode codificar o endereço dos repetidores em 1, 2 ou 3 bytes. Um byte basta aos firmwares antigos, mas as colisões de identificador são frequentes: a mensagem parte e chega aos destinatários, que depois já não te podem responder. 2 bytes (65 536 identificadores, 32 saltos no máximo) é o bom compromisso. Os repetidores com firmware anterior à 1.14 descartam em silêncio os pacotes de 2 ou 3 bytes: confirma que os da tua zona estão atualizados antes de mudar.

No companion: ⚙ Definições → Definições de rede → tamanho de cabeçalho predefinido 2 bytes.

Companion

Nomeia o nó em ⚙ Definições → Informação pública. O prefixo país ISO + distrito serve para todos os nós, companions incluídos: PT11-Ana, PT13-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 #pt, #emergency só para emergências, #info, #meteo, #test, mais o local). Depois, canal a canal, define o âmbito de região.

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 a rede. Uma região é uma etiqueta no pacote. O repetidor só reenvia se essa etiqueta estiver na sua lista.

Convenção habitual: minúsculas, a-z, 0-9, hífenes, 30 caracteres no máximo (limite do firmware; um nome mais longo é cortado).

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 peça a peça. 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, #nl) país
#emergência, #info, #meteo, #test zona
canal local (concelho, distrito) local

Uma mensagem #lisboa com âmbito pt-11 pára no primeiro repetidor que não tenha pt-11. É o objectivo. Usa nomes de concelho completos, com hífenes, para evitar duplicados (#vila-nova-de-gaia).

Repetidor

Nomeia-o PAÍS-DIST-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: PT11-LISBoa-Alfama-Ana. O firmware só guarda os primeiros 31 caracteres do nome de um nó: sê breve. 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, sem afogar o canal.
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, útil em ambiente ruidoso.
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 firmware atual deixa sempre o CAD desligado e não oferece nenhum ajuste: o gesto útil é set cad on no repetidor.

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

Fontes

Inspirado no guia dos Alpes Marítimos.
Comandos: CLI MeshCore.
Hops: FAQ MeshCore.
Rádio UE: MeshCore Europe.
Presets: presets de rádio MeshCore.
CAD: notas 1.17.0.
Projecto: meshcore.io.