2016-04-08 24 views
0

Ich kaufte ein Raspberry Pi 3 Model B, ein Microstack Baseboard und ein Microstack GPS.Pi 3 + Microstack GPS-Kommunikation

Ich folgte den Anweisungen in der offiziellen Dokumentation geschrieben, aber ich kann keine Verbindung zum GPS herstellen.

Grundsätzlich blinkt die GPS-LED, so dass es eine GPS-Korrektur gefunden hat, aber ich kann keine Daten von der PI sehen.

Zum Beispiel, wenn ich versuche,

cat /dev/ttyAMA0 

Ich bekomme immer nichts. Ich habe bereits raspi-config verwendet, um Kernel-Serial zu deaktivieren und i2c und spi zu aktivieren.

Auch wenn ich versuche,

stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0" 

ich einen Fehler.

Hat jemand einen Rat, bitte?

Oder sind diese Module nicht kompatibel mit Pi 3?

Vielen Dank!

+0

Wenn gpsd ausgeführt wurde Wenn Sie das Gerät unter '/ dev/ttyAMA0' suchen, wird Ihnen Folgendes mitgeteilt: cat:/dev/ttyAMA0: Gerät oder Ressource beschäftigt. Es scheint, dass einer oder beide Fälle eine Untersuchung rechtfertigen. – Nodak

+0

Entschuldigung, ich habe nicht verstanden – GavynSykes

Antwort

0

ich endlich eine Lösung gefunden:

Auf dem Pi 3, gibt es mehr Schritte sind seriell zu verwenden, müssen Sie die BT deaktivieren.

Konfigurationsdatei bearbeiten:

sudo nano /boot/config.txt 

diese hinzufügen unten:

dtoverlay=pi3-disable-bt-overlay 

Dann folgt ausführen:

sudo systemctl disable hciuart 
1

Es ist schwer zu sagen, was getan wurde oder nicht. Die 'official' documentation from Microstack bietet zwei Methoden zum Einrichten der seriellen Schnittstelle. Weiter geht es dann mit

automatisch gpsd starten automatisch an den GPS-Dienst zu starten, wenn die Raspberry Pi® Stiefel, die Daemon GPS rekonfigurieren von
sudo dpkg-­reconfigure gpsd

<yes> wählen, wenn sie in ein Terminal eingeben gefragt, ob Sie möchten gpsd automatisch starten.
● Wählen Sie <no>, wenn Sie gefragt werden, ob gpsd mit angeschlossenen USB GPS Empfängern automatisch umgehen soll.
● Wenn gefragt wird, an welches "Gerät der GPS-Empfänger angeschlossen ist", geben Sie /dev/ttyAMA0 ein.
● Übernehmen Sie die Standardeinstellungen für andere Optionen.

Wenn Sie Ihre serielle Schnittstelle gemäß den Anweisungen und konfiguriert gpsd automatisch konfiguriert haben, zu starten und das Gerät, das Sie gerade eingerichtet haben abholen, ... dann, da die gpsd das Gerät ist der Umgang mit (oder?) , das Gerät ist beschäftigt und der Befehl sollte zurückgeben cat: /dev/ttyAMA0: Device or resource busy ... aber es tat es nicht.

Entweder die serielle Schnittstelle ist nicht konfiguriert gemäß den Anweisungen, oder der GPS wird nicht ausgeführt und nimmt das Gerät oder beides auf.

Das Ziel ist nicht Ihre GPS-Daten cat, aber die cat nicht Zurücksenden eines Fehler zeigt etwas nicht stimmt.

Normalerweise ist es nur ein Tippfehler. Es kann aber auch sein, einen Schritt im Prozess zu überspringen oder Anweisungen aus verschiedenen Quellen zu mischen, so dass die linke Hand nicht weiß, was die rechte Hand getan hat.

Versuchen Sie: sudo killall gpsd, wenn es gpsd: no process found zurückgibt, die eine Frage beantwortet.

Wenn es ohne Fehler zurückkehrt, folgen Sie ihm mit cat /dev/ttyAMA0. Wenn es nichts zurückgibt, sollte die Richtung, in die Sie schauen sollten, Ihre Konfiguration der seriellen Schnittstelle sein.

Wenn sudo dpkg-reconfigure gpsd ist nicht so dass Sie neu konfigurieren (ich dachte, es war mir nur) die Konfiguration von gpsd ändern können Ihren bevorzugten Editor indem man zum Beispiel etwas sudo nano /etc/default/gpsd und Eingabe wie:

# 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="false" 

# Devices gpsd should collect to at boot time. 
# They need to be read/writeable, either by user gpsd or the group dialout. 
DEVICES="/dev/ttyAMA0" 

# Other options you want to pass to gpsd 
GPSD_OPTIONS="-n -G" 

Sie können die -n finden und - G nützlich. Speichern und neu starten.

+0

vielen Dank. Das Problem ist, dass, wenn ich sudo dpkg-reconfigure gpsd versuche, wird es mich keine Option fragen, nur einige Informationen über ein gpsd Konto drucken und starten Sie den Dienst erneut – GavynSykes

+0

, wenn ich versuche Sudo-rekonfigurieren gpsd bekomme ich: Warnung: Stoppen gpsd. Service, aber es kann immer noch aktiviert werden von: gpsd.socket Erstellen/Aktualisieren von gpsd Benutzerkonto ... – GavynSykes

+0

@GavynSykes Ich habe die Antwort GPS-Konfiguration hinzugefügt – Nodak

0

Dieser Artikel war sehr nützlich für mich

http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/#comment-67160

und ich empfehlen Sie es

nun auf RPI3 den seriellen Port

ttyAMA0 von BlueTooth verwendet wird, lesen ttySo zum GPIO Der Alias ​​Serial0 bezieht bezieht sich auf die GPIO sowohl auf RPI2 und RPI3 . Also:

nach einer Neuinstallation von Jessie mit einer aktuellen Version, um sicherzustellen, alles sauber ist

wie üblich

$ sudo apt-get update 
$ sudo apt-get upgrade 

$ sudo raspi-config 

Erweiterte Optionen gehen: Möchten Sie ein Login-Shell gerne zugänglich sein über Seriell?Antwort "ja" (nicht wie im Mikrostapel Datenblatt)

$ sudo apt-­get install python3-­microstacknode 

die gpsd Standard-Tools

$ sudo apt­-get install gpsd gpsd-­clients python­-gps 

bearbeiten RLAP So installieren Sie von

$ sudo nano /etc/default/gpsd 

und legen Sie die Optionen:

START_DAEMON="true" 
USBAUTO="false" 
DEVICES="/dev/serial0" 
GPSD_OPTIONS="-n -G" 

gleichermaßen

$ sudo nano /boot/cmdline.txt 

entfernen

console = serial0,115200 und

$ sudo nano /boot/config.txt 

sparen Sie am Ende

enable_uart=1 

Deaktivieren Sie die Konsole, indem

$ sudo systemctl stop [email protected] 
$ sudo systemctl disable [email protected] 
haben muss

ich habe gleich getan $ sudo chmod 775 ../../dev/ttySO (ich weiß nicht, ob es wirklich notwendig ist)

und offensichtlich ein Neustart

und Wunder der

cgps -s 

NB GPS arbeitet mit

: Sie ein Update haben müssen auf dem GPS (die rote LED blinkt)

jpherrenknecht