MeshCore — boas práticas
Para lembrar
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.
Definições
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). Assim evitas perder a rota das mensagens e não poderes responder.
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
- 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 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.
- Regiões hierárquicas listadas uma a uma;
region save. - Anúncios sóbrios, multi-ACK, duty cycle legal, relógio certo,
repeat on. set path.hash.mode 1(1.14+) eset cad on(1.17+).- 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.