MeshCore — boas práticas
Para lembrar
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.
O mesmo rádio que a mesh
Usa o preset da tua comunidade. Na Europa e no Reino Unido é em geral EU/UK (Narrow).
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
- Juntar-te aos grupos MeshCore da tua cidade, região ou país.
- Banda e preset iguais à mesh local (EU/UK Narrow na Europa / UK, salvo decisão local; em Portugal confirma o preset da comunidade).
- Firmware 1.17+ em todos os nós.
- 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.
- Regiões hierárquicas listadas uma a uma; canais ligados;
region save. - Anúncios sóbrios, multi-ACK, duty cycle legal, relógio certo,
repeat on. set cad on(1.17+).- 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.