2016-04-10 14 views
1

Adafruit'dan bir GPS şapkası kullanıyorum.Yeniden yükleme sırasında gpsd hizmetini başlat

belgenin

Başlat gpsd göre ve HW UART kullanmak yöneltmek. Basitçe aşağıdaki komutu girerek:

sudo gpsd/dev/ttyAMA0 -F

bu gerçeği çalışmalarında yok iken

/var/run/gpsd.sock, ben otomatik aramak için bir yol bulmaya çalışıyorum Bu yeniden başlatma. Bir .py dosyasına koymayı denedim ve makine bir cronjob içinde yeniden başladığında, ama bu işe yaramadı. (Geçersiz Sözdizimi). Umarım bunu başarmada yardımcı olabilirdim.

cevap

0

en hızlı ve en kolay yolu /etc/rc.local dosyasında yukarıdaki komutu koymaktır teşekkür ederiz (sudo olmadan!). Bu, önyükleme sırasında çağrılan bir kabuk betiğidir.

Bunu yapmanın daha doğru bir yolu, /etc/init.d dizinine bir hizmet dosyası oluşturmaktır. Bu dizine herhangi bir basit dosyayı görmeye başlamak için kopyalayın ve değiştirin ve çalıştırılabilir olduğundan emin olun. Temel (denenmemiş) örnek:

#!/bin/sh -e 
### BEGIN INIT INFO 
# Provides:   gpsd 
# Required-Start:  
# Required-Stop: 
# Default-Start:  1 2 3 4 5 
# Default-Stop: 
# Short-Description: Run my GPSd 
### END INIT INFO 
# 

case "$1" in 
    start) 
    gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock 
    ;; 
    stop) 
    killall -KILL gpsd 
    ;; 
    restart|force-reload) 
    killall -KILL gpsd 
    sleep 3 
    gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock 
    ;; 
    *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2; exit 1 ;; 
esac 

bunun senin sistem otomatik service gpsd start arayacak yüzden, açılışta etkin olduğundan emin olun sahip olduktan sonra. Bu, Debian-base distros'ta update-rc.d komutu ve RHEL üzerindeki systemctl ile yapılır.

Eğer linux dağıtımınızı bize bildirirseniz, daha spesifik olabiliriz.

+0

bu bir ahududu pi yani, bu rasberrian jessie. – Niana

+0

İlgili olup olmadığından emin değil, ancak GPS Şapkasını kurma hakkındaki talimatlar bu gpsd serv.ce'nin öldürülmesini istedi. Burada alıntı "Eğer Raspbian Jessie veya daha sonraki sürümü kullanıyorsanız, gpsd yükler bir systemd hizmetini devre dışı bırakmanız gerekir. Bu hizmet, yerel bir soket üzerinde systemd dinler ve istemciler ona bağlandığında gpsd'yi çalıştırır. (Bu kılavuzda olduğu gibi) elle çalıştırılan diğer gpsd örneklerini engelleyin. Aşağıdaki komutları çalıştırarak gpsd systemd hizmetini devre dışı bırakmanız gerekir: " – Niana

+0

"/etc/init dosyasında zaten bir gpsd dosyası var demektir. .d' devre dışı ve sadece farklı çalışan yeni bir tane oluşturmak ister misiniz? Belki sonra '/ etc/rc.local' daha iyi bir çözüm ... emin değil! – urban

İlgili konular