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. -
-FCria 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.sockfunciona, enquantogpsd -N -D3 -F /var/run/gpsd.sockfalhará 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_flydeve 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.