GPS Modul über GPIO ansteuern

  • Hallo Leute,

    ich habe ein großes Problem mit dem ansprechen eines GPS Modules über die GPIO-Schnittstelle.
    Ich habe diese Modul schon über einen Arduino erfolgreich angesprochen und auch (korrekte) Daten auf eine SD Karte aufzeichnen können. Nun möchte ich das Modul an meinem Raspberry verwenden (ohne Arduino). Ich habe VDD (3.3V) und GND sind hierbei kein Problem, auch das theoretische abgreifen der Daten sollte eigentlich kein Problem bescheren, da ich einfach einen GPIO-Pin als input deklarieren würde und dann das ankommende Signal (Stringkette) abgreifen würde. Nur wie spreche ich das Modul an, so dass ich überhaupt Signale bekomme, bzw. wie kann ich die Signale mit einem boud von 9600 abgreifen?

    Ich habe schon viel im Netz gesucht, aber eine direkte Anschlussmöglichkeit habe ich nicht gefunden, nur immer mal ein änliches GPS Modul, welches über einen Arduino angesteuert wird, welches dann per USB die Signale an des Raspberry weitergibt.

    Wäre echt super, wenn mir der ein oder Andere ein bisschen helfen könnte oder eine Idee hätte wie ich die Signale abgreifen kann.

    :danke_ATDE:


    Hier die Daten:
    Raspberry Pi B
    Raspbian “wheezy”

    GPS Hardware:
    Fastrax UP-501 GPS Receiver:


    Contact | Signal name | I/O | Signal description
    [font="Arial"]1 [/font][font="Arial"]RXD in[/font][font="Arial"] [/font][font="Arial"]UART Port 0 async. input. Internal pull high resistor 75kΩ.[/font]

    [font="Arial"]2[/font]            [font="Arial"]TXD out[/font][font="Arial"] [/font][font="Arial"]UART Port 0 async. output.[/font]

    [font="Arial"]3[/font]            [font="Arial"]GND [/font][font="Arial"] [/font][font="Arial"]Ground[/font]

    [font="Arial"]4[/font]            [font="Arial"]VDD in [/font][font="Arial"]Main power supply 3.0V to 4.2V[/font]

    [font="Arial"]5[/font]            [font="Arial"]VDD_B in [/font][font="Arial"]Backup supply 3.0V to 4.2V[/font]

    [font="Arial"]6[/font]            [font="Arial"]PPS out [/font][font="Arial"]Pulse per second output.[/font]


    -------------------------


    1. Port 0: NMEA 9600 baud
    2. NMEA output: GGA, RMC, GSV, GSA (all 1 sec interval)
    3. DGPS/SBAS: Disabled (Module supports WAAS/EGNOS)
    4. Datum:WGS84


    -----------------------------


    Serial port protocol Port 0: NMEA
    Serial data format 8 bits, no parity, 1 stop bit

    Serial data speed (default) NMEA: 9600 baud

    CMOS I/O signal levels (3) VIL: -0.3V...0.8V, VIH: 2.0V...3.6V,VOL:-0.3V...0.4V, VOH: 2.4V...3.2V

    I/O sink/source capability +/- 2 mA max.

    PPS output +/- 50 ns (RMS) accuracy


    ----------------------------------


    Datasheet: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/GPS/UP501.pdf


    https://www.sparkfun.com/products/retired/10702

    Anschluss am Arduino war:
    ID660bb_LRG.jpg
    die Resitoren waren nur wegen der 5V Betriebspannung, welche ja dank der 3.3V am Raspberry wegfallen würden.

    Einmal editiert, zuletzt von shorty (21. August 2013 um 13:38)

  • Das ist einfacher als Du denkst:
    Zusätzlich zu Spannung TX an GPIO15 (RxD) und RX an GPIO14 (TxD)
    Dann kannst Du die Daten einfach über die serielle Schnettstelle /dev/ttyAMA0 auslesen.
    Zum Testen kannst Du das Programm Minicom benutzen.

  • Werde es später gleich mal ausprobieren und dann berichten, ob alles geklappt hat

    Also ich habe das GPS-Modul wie folgt verkabelt:
    Pin 1 des GPS Modules an Pin 8 des Raspberry Pi
    Pin 2 des GPS Modules an Pin 10 des Raspberry Pi
    Pin 3 des GPS Modules an Pin 6 des Raspberry Pi
    Pin 4 des GPS Modules an Pin 1 des Raspberry Pi

    Danach habe ich den Raspberry eingeschaltet und die Befehle:
    sudo bash
    apt-get update && apt-get upgrade
    apt-get install minicom

    ausgeführt.
    Nach der Installation habe:
    sudo minicom -D /dev/ttyAMA0 -b 9600 -o

    und jetzt bekomme ich auch Werte, nur leider noch keine GEO Daten :(

    Hier die Ausgabe:

    Einmal editiert, zuletzt von shorty (21. August 2013 um 21:30)

  • Okay ist erledigt, ich weiss zwar nicht woran es lag, aber ich habe einfach einen reboot gemacht und jetzt scheint alles zu funktionieren, ich bekomme alle Daten rein (leider alle Daten GPGSV, GPGSV,GPRMC und GPGGA) aber ich denke dies wird eine Einstellungssache sein.

    Fall jemand weiss wie die funktioniert wäre ich sehr dankbar :thumbs1:

    Einmal editiert, zuletzt von shorty (22. August 2013 um 19:41)

  • Moin Moin,

    ich bin neu hier und möchte auch einen GPS Empfänger mit dem Raspberry auslesen.
    Ich stelle mir gerade die Frage GPIO oder USB. Macht das einen Unterschied? Oder kommt das auf die Schnittstelle des Moduls an.

    [font="Arial, Helvetica, sans-serif"]Bevorzugt möchte ich die Möglichkeit nutzen, den Empfänger auch mal ein Stück entfernt vom Raspberry zu positionieren.[/font]


    [font="Arial, Helvetica, sans-serif"]vielen dank[/font]

    [font="Arial, Helvetica, sans-serif"]Boris [/font]

  • hallo zusammen ich baue auch grade an einem Gps-empfänger

    ich hab ihn nach diesem plan von Adafruit aufgebaut allerdings über Usb

    https://learn.adafruit.com/adafruit-ultim…g-everything-up

    jetzt hab ich nurnoch folgendes problem wenn ich mein script direkt auf dem raspberry starte funktioniert es nicht ....
    wenn ich es jedoch über das adafruit-webIDE starte läuft es einwandfrei
    kann mir jemand sagen wieso?

    hier mal mein script hab den db-conektor rausgenommen (passwörter usw)


    ************
    cursor = db.cursor()
    cursor.execute("UPDATE `GPStest` SET `zustand`='Offline' WHERE 1 ")
    db.commit()
    cursor.close()


    so ich hoff ich hab nichts falsches aus dem Script gelöscht

    ich hoffe auch der Script ist auch ohne Kommentare gut verständlich
    im Prinzip prüfe ich immer ob ich die werte aus dem Gps-shild bekomme wenn nicht dan startet er das Gps neu
    falls doch dan darf er die Daten auf die Datenbank schrieben


    Ich hoffe das hilft euch weiter und ich hoffe auch das ihr mir weiterhelfen könnt

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!