1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Odys Loox - Navigation mit Bluetooth-GPS-Empfänger

Dieses Thema im Forum "Zubehör für Odys Loox" wurde erstellt von fluxflux, 23.01.2012.

  1. fluxflux, 23.01.2012 #1
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Da ja das Loox kein Bluetooth integriert hat, braucht man für die hier vorgestellte Lösung zunächst einen Bluetooth-USB-Dongle. Bei mir verrichten ein Hama und ein Sitecom problemlos ihren Dienst, es dürften also die meisten Dongles funktionieren, für Spezialdongles wie den von AVM habe ich auch Kernelmodule hier.

    Als Bluetooth-GPS-Empfänger dient mir ein BT-GPS-8U Jentro Activepilot.

    Hinweis: Diese hier vorgestellte Lösung läuft nur auf gerooteten RW-Systemen!!!

    Nun zur Vorgehensweise:

    • Loox booten, Bluetooth-Dongle anstecken, Bluetooth-GPS einschalten.
    • UsbGPS installieren: https://github.com/HvB/UsbGps4Droid/UsbGPS4Droid_alpha3.apk/qr_code
    • Auf die externe SD-Karte des Loox das anhängende ZIP entpacken.
    • Terminal oder besser ScriptManager öffnen (der hat auch eine Konsole und ist wesentlich vielseitiger).
    • Das Skript btgps mit dem Scriptmanager ausführen, "su" als Option wählen.
    • Das Skript laufen lassen, zwischenzeitlich UsbGPS öffnen und dort als "Current device" "/dev/rfcomm0" eintragen, dann starten.
    • UsbGPS übernimmt nun den Stream vom Bluetooth-Dongle, das Skript im Scriptmanager kann beendet werden.
    • Navigationssoftware starten, GPS sollte sofort erkannt werden, sobald ein Fix erfolgt ist.
    • Nach Beendigung der Navigation UsbGPS beenden.
    Ich lege alles was nötig ist in das Verzeichnis auf die externe SD-Karte, damit hat man automatisch eine Sicherung und kann nichts verlieren, muss aber die SD-Karte immer eingesteckt haben.

    Danke nochmals an Wusel, der das nötige Binary rfcomm beigesteuert hat, sonst wäre diese Lösung so nicht möglich gewesen.

    Anleitung fürs beiliegende btgps.zip:

    • Herunteladen ... :thumbup:
    • Auf die externe SD-Karte des Loox im Loox oder via USB-Anschluss oder im Kartenlesegerät entpacken (also /sdcard).
    • Es entsteht ein Verzeichnis 1-GPS-Skript, bitte nicht umbenennen, wird so im ScriptManager ganz oben gefunden.
    • Im ScriptManager als su starten und bitte berichten, ob ein Stream vom GPS-Empfänger ankommt.
    Thomas.
     

    Anhänge:

    • btgps.zip
      Dateigröße:
      1.1 MB
      Aufrufe:
      626
    Zuletzt bearbeitet: 23.01.2012
  2. fluxflux, 23.01.2012 #2
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    @ wusel

    Du könntest dein Skript so erweitern, dass bei Vorhandensein mehrerer Bluetooth-Geräte in Reichweite des Loox (Handies, Headsets etc.) mit "sdptool browse" die Handies ausgefiltert und ausgeschlossen werden und dann letztlich die korrekte Bluetooth-Adresse für das Bluetooth-GPS im Skript übrig bleibt und verwendet wird. Oder mit "sdptool" nach einem Dienst suchen, der auf Handies und Headsets verwendet wird, nicht aber auf GPS-Empfängern. So hätten wir zu 100% das korrekte Device im Skript ...

    Mein Headset und mein Handy antworten z. B. auf "sdptool search AVRCT" und könnten damit ausgeschlossen werden ... wie man das macht, dafür bist du der Fachmann ...

    Danke,

    Thomas.
     
    Zuletzt bearbeitet: 23.01.2012
  3. wusel, 23.01.2012 #3
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    versuch mal bitte sdptool search SP - gibt bei mir:
    Code:
    Inquiring ...
    Searching for SP on 00:BA:BE:FA:CE:07 ...
    Service Name: GPS OUTPUT
    Service RecHandle: 0x10000
    Service Class ID List:
      "Serial Port" (0x1101)
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 1
    
    wenn Du da auch Service Name: GPS OUTPUT bekommst dann haben wir was sauberes was nur dann noch zicken kann wenn jemand mehr als ein GPS Device aktiviert ...
     
  4. fluxflux, 23.01.2012 #4
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Da antwortet mein Handy auch ... haben wir also wieder kein Alleinstellungsmerkmal.

    Thomas.
     
  5. fluxflux, 23.01.2012 #5
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    So nach langem Abgleichen zwischen Slackware und Loox-Linux hier eine Version, die auf dem Loox den GPS-Empfänger aus 5 Bluetoothgeräten herausfindet:

    Code:
    #!/bin/sh
    hciconfig hci0 up
    sdptool search AVRCT > ausg
    cat ausg | busybox grep AVRCT -A 1 > ausg1
    busybox tac ausg1 | busybox sed -n '/Service/{N;d};p' > ausg2
    bdaddr=`cat ausg2 | busybox grep : | busybox cut -d" " -f5`
    busybox mknod -m 666 /dev/rfcomm0 c 216 0
    rfcomm release /dev/rfcomm0 ${bdaddr} 1
    rfcomm bind /dev/rfcomm0 ${bdaddr} 1
    cat /dev/rfcomm0
    rm /ausg*
    exit 0
    wusel, it's your turn ... dieser Part sollte ins Hauptskript, das auch alle Kernelmodule lädt, die Reihenfolge hier noch einmal:

    Code:
    insmod bluetooth.ko
    insmod l2cap.ko
    insmod btusb.ko
    insmod rfcomm.ko
    insmod bnep.ko
    insmod sco.ko
    insmod hidp.ko
    Wenn das alles fertig ist, dann können wir hier ein komplettes Paket anbieten, das von SD-Karte lauffähig sein sollte, damit es auf allen Systemen (rw, ro) genutzt werden kann und nach einem evtl. Flashen gleich wieder verfügbar ist.

    Das Anlegen der jetzt erstellten tmp-Dateien ausg* kann ja auch auf /mnt/asec/ verlagert werden, das ist êin tmpfs und die SD-Karte und der Flashspeicher werden nicht unnötig beschrieben.

    Thomas.
     
  6. fluxflux, 23.01.2012 #6
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Habe jetzt ein btgps.zip im ersten Post als Anhang bereitgestellt. Anweisungen im ersten Post ...

    Thomas.
     
  7. jukay69, 24.01.2012 #7
    jukay69

    jukay69 Neuer Benutzer

    Beiträge:
    4
    Erhaltene Danke:
    0
    Registriert seit:
    11.05.2011
    Hallo,

    hätte eine Frage. Geht das hier auch mit dem Xpress ?

    Danke.

    gruß

    jukay69
     
  8. fluxflux, 24.01.2012 #8
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Einfach testen, der Kernel sollte identisch sein, soweit ich weiß.

    Thomas.
     
  9. pjuppes, 25.01.2012 #9
    pjuppes

    pjuppes Android-Hilfe.de Mitglied

    Beiträge:
    133
    Erhaltene Danke:
    15
    Registriert seit:
    26.09.2011
    Hallo,
    wenn ich das Script laufen lasse, bekomme ich die Fehlermeldung:Can't init device hci0. Worauf deutet der Fehler hin, wird der Dongle nicht erkannt oder läuft sonst etwas falsch?
     
  10. fluxflux, 25.01.2012 #10
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Einfach mal den Dongle rausziehen und wieder anstecken, das Script noch einmal laufen lassen.

    In der Konsole stehen vielleicht noch Hinweise, ansonsten das Script zeilenweise eingeben und die Ausgabe lesen oder hierher posten.

    Thomas.
     
  11. pjuppes, 25.01.2012 #11
    pjuppes

    pjuppes Android-Hilfe.de Mitglied

    Beiträge:
    133
    Erhaltene Danke:
    15
    Registriert seit:
    26.09.2011
    Bei der Eingabe von hciconfig hci0 kommt auch nach wieederholtem Einstecken can't init hci0. Muss ich das Device vorher anlegen, wenn ja wie?
     
  12. wusel, 26.01.2012 #12
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    nein; aber wie müssen mal wissen was für ein Teil Du hast --> ID; für manche braucht man nämlich andere Kernel-Module - ich habe hier so ein Teil mit Broadcom-Chip (ID 0a5c:4500), da rührt sich auch gar nix - trotz schon geladenem bcm203x.ko ...
    bitte check mal die ID von dem Teil mit lsmod, und dann poste auch mal den Auszug von dmesg wenn Du das Dongle ansteckst ...
     
  13. fjhomberg, 06.02.2012 #13
    fjhomberg

    fjhomberg Neuer Benutzer

    Beiträge:
    22
    Erhaltene Danke:
    0
    Registriert seit:
    01.11.2011
    Hallo,fluxflux, hallo Odys- und Androidgemeinde,

    wie, bitte, bekomme ich ein gerootetes RW-System
    für das Loox mit neuestem OdysUpdate :(:confused:

    Mit freundlichen Grüßen fjhomberg
     
  14. RainerWP, 06.02.2012 #14
    RainerWP

    RainerWP Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    Hi fjhomberg,

    guckst du hier

    Bis dann und viel Erfolg..............

    Rainer
     
  15. hävksitol, 06.02.2012 #15
    hävksitol

    hävksitol Ehrenmitglied

    Beiträge:
    12,605
    Erhaltene Danke:
    8,873
    Registriert seit:
    11.01.2011
    Tablet:
    Lenovo Ideapad A2109A
    Hallo fjhomberg,
    den o.a. Link findest Du nebst weiteren hunderten auch in meinem Dokument zu Odys-Tablets, dessen Existenz Dir möglicherweise bis dato unbekannt ist.

    MfG
     
  16. KDO70, 08.02.2012 #16
    KDO70

    KDO70 Android-Hilfe.de Mitglied

    Beiträge:
    99
    Erhaltene Danke:
    15
    Registriert seit:
    03.02.2012
    Hallo, heute kam mein Bluetooth GPS-Empfänger, den ich natür gleich testen möchte ;-)
    Vorgehensweise wie im 1. Betrag beschrieben.
    Script gestartet, Empfänger wird erkannt und es kommt ein Signal vom GPS-Empfänger.
    Dann UsbGPs gestartet und hier 'Current device: /dev/rfcomm0' eingetragen.
    Beim starten von UsbGps kommt dann folgender Fehler: ' Mock locations disabled' ?
    Was muß ich noch einstellen?
     
  17. fluxflux, 08.02.2012 #17
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Einstellungen --> Anwendungen --> Entwicklung --> Falsche Standorte mit Häkchen aktivieren

    Thomas.
     
    KDO70 bedankt sich.
  18. KDO70, 08.02.2012 #18
    KDO70

    KDO70 Android-Hilfe.de Mitglied

    Beiträge:
    99
    Erhaltene Danke:
    15
    Registriert seit:
    03.02.2012
    Es klappt :flapper:
    Bluetooth-Stick wird erkannt.
    Ich verwende hier einen Belkin BFT017 Class 1 Stick.
    Als GPS Recevier hab ich mir von KEOMO einen Solar Bluetooth GPS Receiver bei eBay besorgt.

    SOLAR GPS BLUETOOTH EMPFÄNGER für TOMTOM + Route 66 usw | eBay

    Das Teil kommt mit 12V Autoadapter und USB-Kabel zum laden.

    Bei der Standortanzeige in Navit habe ich allerdings eine Abweichung von ca. 100m. Woran kann das liegen?

    Klaus
     
  19. fluxflux, 08.02.2012 #19
    fluxflux

    fluxflux Threadstarter Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    Kann daran liegen, dass Navit den WLAN-Standort übernimmt und keinen GPS-Fix hat ... schalte WLAN/UMTS ab und teste dann mit dem BT-GPS, am besten mit dem Programm/App Gpsfix aus dem Market, dann siehst du sehr schnell, wann du einen Fix hast und wann nicht.

    Thomas.
     
  20. KDO70, 08.02.2012 #20
    KDO70

    KDO70 Android-Hilfe.de Mitglied

    Beiträge:
    99
    Erhaltene Danke:
    15
    Registriert seit:
    03.02.2012
    mit BT-GPS meinst du das Script?
    Muß ich immer starten, um die Stick zu aktivieren und die Verbindung zum Receiver herzustellen? Muß ich USBGPS dann auch noch starten?

    im Moment findet der Receiver keine Satelliten. Werde das morgen mal an einem andern Platz testen. (Status LED am Receiver müßte blicken, wenn die Position 'fixed' ist, und das tut sie nicht:-( )

    Klaus
     
    Zuletzt bearbeitet: 08.02.2012

Diese Seite empfehlen