Um BU-353 deve funcionar imediatamente com o gpsd. Mas você tem algumas coisas acontecendo,
- o primeiro item systemd é responsável pelo lançamento de uma instância do gpsd. Até que seja desligado (
sudo service gpsd stop
) você estará perseguindo o seu rabo. -
-F
Cria um soquete de controle para comandos de adição e remoção de dispositivo. Deve ser um nome de caminho válido em seu sistema de arquivos local. É duvidoso que seu soquete de controle seja possivelmente o gps USB que você está tentando ler. Normalmente, o soquete de controle é/var/run/gpsd.sock
, mas pode ser/tmp/anything
- você precisa ter permissões de gravação para abrir o soquete de controle.
sudo gpsd -N -D3 -F /var/run/gpsd.sock
funciona, enquantogpsd -N -D3 -F /var/run/gpsd.sock
falhará porque o usuário não privilegiado não pode gravar no soquete de controle. Da mesma forma,gpsd -N -D3 -F /tmp/when_pigs_fly
deve funcionar. (Mas, nenhum funcionará se um gpsd já estiver sendo executado).
Além disso, você deve considerar instruções adicionais em /etc/default/gpsd
Por exemplo,
# Default settings for the gpsd init script and the hotplug wrapper.
# Start the gpsd daemon automatically at boot time
START_DAEMON="true"
# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="true"
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyACM0"
# Other options you want to pass to gpsd
GPSD_OPTIONS=""
Estes são introduzidos em /lib/systemd/system/gpsd.service
como EnvironmentFile
A primeira linha é inútil. systemd
é responsável e não sai do processo. Ele é executado com o sinalizador -N
.
Eu configurei USBAUTO="true" porque o uso do udev
e do hotplug pelo gpsd é bastante transparente. Conecte algo que é um GPS e funciona. Se não é gps, importa o seu próprio negócio.
Mas eu código na localização de um GPS que estou trabalhando no momento. Como, parando / reiniciando o gpsd sem reinicializar, o gpsd não "saberá" sobre o gps em /dev/ttyACM0
(ou onde quer que esteja) sem um evento hotplug. Eu codifico no local para não ter que desassociar / conectar o GPS toda vez que eu reiniciar o gpsd sem reiniciar.
Outro GPSD_OPTIONS=
poderia incluir -n
-G
ou -b
a seu critério.
Além disso, há outros clientes de teste ( xgps
) que são mais robustos para verificar a saída do gps, mas isso deve levá-lo à direção correta.