Configuração Raspberry Pi 4B com Módulos GNSS Beitian

BT-800S + BT-980G2 para Mineração Onocoy

Introdução:

Sobre este tutorial

Guia completo para configuração do Raspberry Pi 4B com módulos GNSS da Beitian para mineração Onocoy.

Este conteúdo foi testado com o Raspberry Pi OS no modelo Raspberry Pi 4 Modelo B.

NTRIP Server (envio para a Onocoy)

1. Pacotes básicos

Instale os pacotes necessários para trabalhar com GNSS e NTRIP:

sudo apt update
sudo apt install -y git build-essential gpsd gpsd-clients minicom socat

Dica: Seu módulo Beitian BT-980G2 sai de fábrica com baud 115200 e NMEA ativo — portanto usaremos 115200 (troque apenas se você tiver mudado no receptor).

2. Descobrir a porta serial (estável)

Plugue o receptor e rode:

ls -l /dev/serial/by-id/

Anote o caminho completo (ex.: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_...). Vamos usar esse caminho estável (melhor que /dev/ttyUSB0).

3. Clonar e compilar o ntripserver

cd ~
git clone https://github.com/simeononsecurity/ntripserver.git
cd ntripserver
make

(É o mesmo projeto usado nos tutoriais DIY do Simeon; serve bem para empurrar RTCM via NTRIP.)

4. Teste "no terminal" (antes do serviço)

Substitua os placeholders:

  • <PORTA> = o caminho estável da serial (ex.: /dev/serial/by-id/...)
  • <MOUNT> = seu mountpoint da Onocoy
  • <USER> e <PASS> = as credenciais criadas no Console (em Reference Stations → NTRIP Credentials)

Comando de teste:

~/ntripserver/ntripserver \
  -M 1 \
  -i <PORTA> \
  -b 115200 \
  -O 1 \
  -a servers.onocoy.com \
  -p 2101 \
  -m <MOUNT> \
  -n <USER> \
  -c <PASS>

Se aparecer algo como serial input: device = ..., speed = 115200 e caster output: host = servers.onocoy.com, port = 2101, transfering data ..., está ok.

Observação: para miner (base empurrando dados), o caster é servers.onocoy.com:2101; essa configuração é consagrada em guias de parceiros (ArduSimple).

5. Criar serviço systemd

Crie a unidade:

sudo nano /etc/systemd/system/ntripserver.service

Cole (ajuste PORTA/MOUNT/USER/PASS e verifique o caminho do binário):

[Unit]
Description=NTRIP Server (Onocoy)
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/home/pi/ntripserver/ntripserver -M 1 -i <PORTA> -b 115200 -O 1 -a servers.onocoy.com -p 2101 -m <MOUNT> -n <USER> -c <PASS>
Restart=always
RestartSec=120
TimeoutStartSec=300
User=pi
Environment=PYTHONUNBUFFERED=1

[Install]
WantedBy=multi-user.target

Ative e inicie:

sudo systemctl daemon-reload
sudo systemctl enable --now ntripserver.service

Checar status/logs:

systemctl status ntripserver.service
journalctl -u ntripserver.service -f
Carregando...