Começa aqui
Três passos. Não precisas de saber nada sobre Docker: copias umas linhas, colas, e carregas em Enter.
Antes de começar
- ⏰ O computador tem de estar ligado à hora do teste, com o Docker a correr. Um Raspberry Pi é o ideal, porque fica sempre ligado. Um portátil em suspensão perde o teste.
- 📡 O teu rádio está configurado na app Meshtastic, com o canal de testes já adicionado. O bot não configura o rádio.
- 📵 Fecha a app Meshtastic durante um teste. O rádio só fala com um programa de cada vez.
1. Instala o Docker
O Docker é uma aplicação gratuita que corre o bot por ti, para não teres de instalar mais nada.
- Windows ou Mac: instala o Docker Desktop e abre-o. Se pedir para reiniciar ou instalar o WSL, aceita. Espera até indicar Engine running, e deixa-o aberto. Nas definições, ativa o arranque ao iniciar sessão.
- Raspberry Pi ou Linux: cola estas linhas no terminal, e depois
termina a sessão e volta a entrar:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER
2. Escolhe a tua situação
📁 Primeiro, escolhe onde o bot vai ficar. Os comandos abaixo criam
uma pasta mesh-test-bot dentro da pasta onde o terminal está. Quando abres
um terminal novo, essa é a tua pasta pessoal, e é um bom sítio. Para usar outra pasta,
vai primeiro até lá com cd e o nome da pasta. Evita as Transferências e
pastas sincronizadas com a nuvem, como o OneDrive ou o iCloud.
Não apagues nem movas esta pasta. Guarda as tuas definições e os teus relatórios, e vais precisar dela sempre que quiseres ver, alterar ou parar o bot.
Um rádio sem WiFi é normalmente um RAK4631 ou um T-Echo. Abre a opção que te serve.
📶 Rádio com WiFi · Mac, Raspberry Pi ou Linux
- Liga o rádio ao teu WiFi na app Meshtastic, e aponta o endereço IP
(algo como
192.168.1.50). Costuma aparecer no ecrã do rádio, ou na lista de dispositivos do teu router. - Aponta o nome e o número do canal de testes: o primeiro canal na app é o 0, o seguinte é o 1, e assim por diante.
- Abre o Terminal e cola esta linha:
curl -fsSL https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/install.sh | sh - Responde às perguntas. Carrega em Enter para aceitar a sugestão entre [parênteses retos]; só precisas de escrever o IP do rádio, o número e o nome do canal, e a tua cidade. As perguntas aparecem em inglês.
- Arranca o bot colando estas linhas. Podes ignorar o texto que o instalador
mostrou no fim:
Se escolheste configurar o MeshMonitor, segue antes o texto do instalador.cd mesh-test-bot docker compose pull docker compose up -d
📶 Rádio com WiFi · Windows
- Liga o rádio ao teu WiFi na app Meshtastic, e aponta o endereço IP
(algo como
192.168.1.50). Costuma aparecer no ecrã do rádio, ou na lista de dispositivos do teu router. - Aponta o nome e o número do canal de testes: o primeiro canal na app é o 0, o seguinte é o 1, e assim por diante.
- Abre o PowerShell a partir do menu Iniciar e cola estas linhas. A
última abre um ficheiro no Bloco de Notas:
Faz isto uma vez. Se a pasta já existir, corremkdir -Force mesh-test-bot\data cd mesh-test-bot curl.exe -fsSLO https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/docker-compose.yml if (!(Test-Path .env)) { curl.exe -fsSL https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/env.example -o .env } notepad .envcd mesh-test-bote depois sónotepad .env. - No Bloco de Notas, muda o texto depois do
=nestas quatro linhas:MTBOT_HOST(o IP),MTBOT_CHANNEL(o número),MTBOT_CHANNEL_NAMEeMTBOT_PLACE(a tua cidade). Guarda e fecha. - De volta ao PowerShell, cola:
docker compose up -d
🔵 Rádio só com Bluetooth · Raspberry Pi ou Linux
Isto arranca três coisas em conjunto: uma ponte Bluetooth, o MeshMonitor e o bot. Mantém o rádio a cerca de 10 m do computador, no máximo.
Primeiro, desliga o telemóvel do rádio, ou desativa o Bluetooth do telemóvel. O rádio aceita uma ligação Bluetooth de cada vez: enquanto o telemóvel a ocupar, o computador não encontra o rádio, e o telemóvel não o pode usar durante os testes.
- Emparelha o rádio, uma vez. Cola estas linhas uma a uma:
Espera porbluetoothctl agent on default-agent scan onMeshtastic_XXXXe aponta o endereço; depois, com o teu endereço:
O PIN está no ecrã do rádio. Um rádio sem ecrã usapair AA:BB:CC:DD:EE:FF trust AA:BB:CC:DD:EE:FF exit123456, a não ser que o tenhas mudado. - Descobre o endereço IP deste computador. É o primeiro número que isto mostra,
algo como
192.168.1.60:hostname -I - Descarrega os ficheiros e abre as definições:
Faz isto uma vez. Se a pasta já existir, corremkdir -p mesh-test-bot/data && cd mesh-test-bot curl -fsSL https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/with-ble.yml -o docker-compose.yml [ -e .env ] || curl -fsSL https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/ble.env.example -o .env nano .envcd mesh-test-bote depois sónano .env. - Muda os cinco valores. Em
BLE_ADDRESS, usa o endereço do rádio. EmALLOWED_ORIGINS, escrevehttp://, o IP deste computador e:8080, por exemplohttp://192.168.1.60:8080. Depois define o número do canal, o nome do canal e a tua cidade. Para guardar e sair do nano: Ctrl+O, Enter, Ctrl+X. - Arranca tudo:
docker compose up -d - Num navegador, abre exatamente o endereço que escreveste em
ALLOWED_ORIGINS. Entra comadmin/changemee muda a palavra-passe. - Vai a Dashboard → Sources, edita a fonte do rádio e ativa Enable
Virtual Node, com a porta
4404e Admin commands desligado. - Espera alguns minutos. No passo 3 abaixo, as linhas
Startup check FAILEDanteriores a este momento são normais. O bot continua a tentar até veresStartup check OK.
Ninguém testou ainda esta configuração com o bot num rádio real. Se experimentares, conta-nos como correu. Mais detalhes (em inglês).
🔵 Rádio só com Bluetooth · Windows
O Docker Desktop não chega ao Bluetooth, por isso uma pequena aplicação do Windows trata dessa parte. Essa aplicação também tem de estar a correr à hora do teste.
Primeiro, desliga o telemóvel do rádio, ou desativa o Bluetooth do telemóvel. O rádio aceita uma ligação Bluetooth de cada vez.
- Emparelha o rádio em Definições → Bluetooth e dispositivos → Adicionar
dispositivo. O PIN está no ecrã do rádio. Um rádio sem ecrã usa
123456, a não ser que o tenhas mudado. Depois abre o rádio nessa lista e aponta o endereço Bluetooth. - Descarrega o
meshtastic-ble-bridge.exeda página BLE Bridge do MeshMonitor (em inglês) e corre-o. Aparece como um ícone junto ao relógio. - Clica no ícone com o botão direito e abre Settings. Indica o endereço Bluetooth, deixa a porta em 4403, ativa Auto-start e clica em Connect. Depois de reiniciar o computador, abre a aplicação outra vez. Se o Windows perguntar pela firewall, não autorizes outros computadores.
- Abre o PowerShell a partir do menu Iniciar e cola estas linhas. A
última abre um ficheiro no Bloco de Notas:
Faz isto uma vez. Se a pasta já existir, corremkdir -Force mesh-test-bot\data cd mesh-test-bot curl.exe -fsSLO https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/docker-compose.yml if (!(Test-Path .env)) { curl.exe -fsSL https://raw.githubusercontent.com/cunhaax/mesh-test-bot/master/install/env.example -o .env } notepad .envcd mesh-test-bote depois sónotepad .env. - No Bloco de Notas, muda a linha
MTBOT_HOSTparaMTBOT_HOST=host.docker.internal. Depois muda o texto depois do=emMTBOT_CHANNEL(o número),MTBOT_CHANNEL_NAMEeMTBOT_PLACE(a tua cidade). Guarda e fecha. - De volta ao PowerShell, cola:
docker compose up -d
Ninguém testou ainda esta configuração com o bot. Se experimentares, conta-nos como correu.
🔵 Rádio só com Bluetooth · Mac
O Bluetooth não funciona aqui: o Docker num Mac não lhe chega, e não há aplicação de ponte para Mac. Usa um Raspberry Pi se tiveres um, ou liga o rádio por cabo USB:
- Segue estes
passos (em inglês) para arrancar o
socat. Precisas do Homebrew para o instalar. Deixa essa janela do Terminal aberta, também à hora do teste. - Numa nova janela do Terminal, segue os passos de WiFi para Mac acima. Quando o
instalador pedir o IP do rádio, escreve
host.docker.internal.
Ninguém testou ainda esta configuração com o bot. Se experimentares, conta-nos como correu.
3. Confirma que funciona
A partir da pasta mesh-test-bot, cola a linha abaixo. Se abriste um
terminal novo, volta primeiro à pasta com cd mesh-test-bot (a partir do sítio
onde a criaste). Todos os comandos docker compose desta página têm de correr
nessa pasta.
docker compose logs -f --no-log-prefix bot
Em cerca de um minuto deves ver Startup check OK. A primeira linha diz
quando é a próxima sessão. Carrega em Ctrl+C para deixar de ver: o bot continua a
correr.
Se escolheste on-demand no instalador, não há verificação inicial: vais ver
Sending at:, e o bot para quando a sessão acaba.
Depois de cada sessão, o relatório fica na pasta data, em
report.txt.
Se algo correr mal
- Um erro fala no Docker daemon, ou "docker" não é reconhecido: abre o Docker Desktop e espera até estar a correr, ou reinicia o computador. Num Raspberry Pi ou em Linux, termina a sessão e volta a entrar.
- O log diz
Channel 1 is called 'X', expected 'Y': é uma verificação de segurança, por isso o bot não emite. Corrige o número ou o nome do canal no.env(ver abaixo). - Qualquer outro
Startup check FAILED: confirma o endereço IP, vê se o rádio está ligado e fecha a app Meshtastic. O bot continua a tentar sozinho. Com MeshMonitor, confirma que o Virtual Node está ativo. - O MeshMonitor não abre ou não deixa entrar: o endereço no navegador
tem de ser exatamente igual ao
ALLOWED_ORIGINSno.env. - Queres mudar uma definição: a partir da pasta
mesh-test-bot, abre as definições comnano .env(Mac, Raspberry Pi, Linux) ounotepad .env(Windows). Depois coladocker compose up -d. - Queres parar o bot: cola
docker compose down. - Continuas com problemas? Abre um issue e cola o que a verificação do passo 3 mostra.