2tes GPS per SPort an Taranis

Status
Nicht offen für weitere Antworten.

Knuspel

Erfahrener Benutzer
#1
Hallo,

Ich möchte über ein GPS an der Taranis die Position der Funke mit der Position des Fliegers vergleichen und ggf. beim Absturz den Flieger so finden (LUA Script).

Wenn ich im Modulschacht meiner Taranis einen OpenXSensor anschließe kann ich die Telemetriedaten vom Sensor auslesen. Soweit so gut. Allerdings kommen nur Daten vom OpenXSensor an, wenn eine Funkverbindung zum Modell besteht.

Da fängt mein Problem an: Wenn ich ein abgestürztes Modell finden möchte, dann habe ich vermutlich keine Verbindung zu diesem. Das heisst, ich kann aber auch nicht die aktuelle Position der Taranis im Telemetrie-Screen sehen.

Woran liegt das? Ich hatte gehofft, dass ich alles, was ich direkt an die Taranis anschließe, immer dort sehe?! Ideen?

Grüße
Knuspel
 

QuadCrash

Erfahrener Benutzer
#2
Was soll ein GPS in der Taranis für einen Vorteil bringen? Diese hast Du doch in der Hand, Position der Funke ist also bekannt. Was Du brauchst, ist die Position des Fliegers. Diese wird ggfs. über Telemetrie übertragen. Wenn die Funk-Verbindung abbreißt, steht die letzte bekannte GPS-Position im Telemetrie-Screen bzw. Du kannst die Daten auf SD-Karte mitloggen.

Letzte bekannte Position heißt nun leider nicht, dass der Flieger sich auch dort befindet. Das Problem kannst Du, wenn überhaupt, nur mit zusätzlicher Hardware lösen (tBeacon u.ä.). Ein zweites GPS an der Funke macht aber eher weniger Sinn (eigentlich nur, wenn der Sender sich bewegt, bspw. auf einem Boot und der Flieger dem Sender folgen oder ihn wiederfinden soll).
 

Knuspel

Erfahrener Benutzer
#3
Hi, danke für deinen Einwand. Meine Idee ist aber genau die, dass ich mit dem Sender in der Hand aktuelle Informationen zur Relativposition des Fliegers bekomme.

Der Sender bewegt sich aber mit mir, wenn ich damit zum abgestürzten Modell laufe. Daher brauche ich die aktuelle Position des Senders, und nicht die Position des Modells am Startort.
 

QuadCrash

Erfahrener Benutzer
#4
Meine Idee ist aber genau die, dass ich mit dem Sender in der Hand aktuelle Informationen zur Relativposition des Fliegers bekomme.
Ich glaub, ich hatte da mal ein Script für die Horus X12S, welches genau das macht (die X12S hat ein GPS an Board).

[...] und nicht die Position des Modells am Startort.
Diese hast Du nach dem Start doch eh nicht mehr, weil sich die Position des (fliegenden) Modells laufend ändert. Und diese geänderte Position steht in Deinem Telemetrie-Screen bzw. -Log. Smartphone raus, Position eintippen und hinlaufen. KISS halt ...
 

Knuspel

Erfahrener Benutzer
#5
Wir driften ab. Würde gerne vermeiden hier eine Diskussion zu führen ob das sinnvoll ist.

Konkret geht es mir um die Frage, wieso ich nur dann Daten vom oXs im Modulschacht bekomme, wenn Verbindung zu einem Modell besteht.
 

olex

Der Testpilot
#6
Habe dasselbe Problem schon mal erlebt, als ich simulierte Sensordaten über den S.Port der Taranis einspeisen wollte.

In Kürze zusammengefasst: S.Port Sensoren funktionieren mit Polling, das heißt ein Gerät auf dem Bus muss alle Sensoren nach Daten abfragen, erst dann senden sie diese. Dieses Gerät ist normalerweise der Empfänger auf dem Modell, die Taranis selbst macht das nicht. Man kann wohl das Polling "simulieren" mit einem Arduino o.Ä. was man auf der "Bodenseite" am S.Port der Taranis anhängt - ich weiß aber nicht ob das zuverlässig funktioniert, wenn es mehr als einen "Poller" auf dem Bus gibt. Den Code dafür habe ich ebenfalls nicht.
 
Erhaltene "Gefällt mir": Knuspel

Knuspel

Erfahrener Benutzer
#7
Danke, Olex!

Ich hatte angenommen die Taranis würde das Polling netterweise übernehmen, wenn kein RX verbunden ist. Die Info hat die Taranis ja, und könnte dann die Master-Rolle übernehmen. Vielleicht was für spätere openTX Versionen ...
 
#8
Dann müsste man oXs so ändern, dass die 2ten gps Daten ungepollt gesendet werden - nach einem gewissen timeout. Datenkollision ist in diesem Fall eher unwahrscheinlich und unkritisch.
 
#9
Genaugenommen pollt der Empfänger "oben" und das Modul im Sender. Das interne oder das externe, wenn beide pollen, gibt es den bekannten "Salat". Gepollt wird aber nur, wenn ein aktiver Uplink besteht. Insofern könnte der Vorschlag von Markus funktionieren, weil OpenTX letztlich nur am SPort lauscht und es egal ist, warum und woher Daten kommen.

Ich weiß aber nicht, wie man den oXs zum ungepollten Senden der Daten überredet.

Ich hab jetzt schon ein paar mal mit dem Smartphone gesucht, das klappt bestens. Nur die Koordinaten aus der Telemetrie bei Google eingeben und schon kommt Maps mit der Richtungsanzeige. Aber das wisst ihr wahrscheinlich .....
 
D

Deleted member 51580

Gast
#10
Dann werfe ich hier auch mal meine Erfahrung rein.

Mit der Horus X12 die ein internes GPS Modul besitzt und OpenTX 2.2.2 klappt das, im Modell werkelt ein OXS.

Wenn im Sender und im Modell ein GPS vorhanden ist und man sich die Entfernung von OpenTx berechnen lässt kann man auch mit dem Sender umherlaufen, die Entfernung ändert sich egal ob Modell oder Sender bewegt werden.
das habe ich aber nur durch Zufall mal herausgefunden, hat das Sender seitige GPS keinen Empfang wird die Entfernung vom Startpunkt berechnet, sobald das GPS im Sender auch einen Fix hat zählt der Startpunkt nicht mehr und die Entfernung ist abhängig von den beiden GPS Positionen und fließend.
Mit einem Lua Skript müsste so dein Wunsch funktionieren.

Ich denke da in der Horus das GPS angebunden ist müsste es auch in jeder anderen FRsky Anlage funktionieren, habe ich aber nicht getestet.
 
D

Deleted member 51580

Gast
#12
Ja die sieht man ganz normal,
man muss/kann in aber nicht in der Telemetrie suchen er ist einfach da, taucht aber unter Telemetrie nicht auf.
Er ist unter Widgets zu finden und lässt sich dort auch anzeigen.

Auch bei der Entfernungsberechnung taucht er nicht auf, er wird aber automatisch verwendet wenn das GPS Modul einen Fix hat.
 
D

Deleted member 51580

Gast
#14
Das sollte das Passende Skript sein um es auf der X9 darzustellen:


Code:
---- #########################################################################
---- #                                                                       #
---- # Copyright (C) OpenTX                                                  #
-----#                                                                       #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html               #
---- #                                                                       #
---- # This program is free software; you can redistribute it and/or modify  #
---- # it under the terms of the GNU General Public License version 2 as     #
---- # published by the Free Software Foundation.                            #
---- #                                                                       #
---- # This program is distributed in the hope that it will be useful        #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of        #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
---- # GNU General Public License for more details.                          #
---- #                                                                       #
---- #########################################################################
local options = {
}

local function create(zone, options)
  local pie = { zone=zone, options=options, counter=0 }
  print(options.Option2)
  return pie
end

local function update(pie, options)
  pie.options = options
end

local function background(pie)

end

function refresh(pie)
  GPSTable = getTxGPS()
  lcd.drawNumber(pie.zone.x, pie.zone.y, GPSTable.numsat, LEFT + TEXT_COLOR + SHADOWED);
  if (GPSTable.fix==true) then
    lcd.drawText(pie.zone.x, pie.zone.y+15, string.format("%f",GPSTable.lat), LEFT + TEXT_COLOR + SHADOWED);
    lcd.drawText(pie.zone.x, pie.zone.y+30, string.format("%f",GPSTable.lon), LEFT + TEXT_COLOR + SHADOWED);
  end
end

return { name="GPS", options=options, create=create, update=update, refresh=refresh, background=background }
 
D

Deleted member 51580

Gast
#16
richtig!

Aber ein Lua läuft auf der Taranis und
3djc hat es im OpenTX nur möglich gemacht es per getValue darzustellen / auszulesen
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten