2010-11-26 3 views
19

Ich frage mich: anders als GPS-Standort, gibt es einen Weg zu finden, wenn zwei Telefone in einem bestimmten Abstand voneinander ist? Zum Beispiel, wenn ein Telefon unter 3 Fuß von einem anderen entfernt ist, da GPS nicht so genau ist.Entfernung zwischen zwei Android-Handys

Ich entwickle ein interaktives Multiplayer-Spiel für mein letztes Jahr Projekt auf der Android-Plattform und es würde erfordern, dass ein Spieler innerhalb von 3 Fuß oder weniger von einem anderen ist.

Alles ist sehr hilfreich, aber wenn man sich umsieht, scheint es, dass es nicht wirklich möglich ist. Die meisten Telefondaten können geteilt werden und ich werde sowohl Bluetooth- als auch Multicast-Sockets verwenden.

Vielen Dank für Ihre Zeit.


Vielen Dank an alle bis jetzt für Ihre Antworten. Ich schaue immer noch darauf und werde aktualisieren, wenn ich etwas etwas leichter zu tun finde; aber bisher scheint es mit Bluetooth-RSSI-Wert den Weg zu gehen.

+1

+1 für interessante Frage. Aber ich bin neugierig, ist GPS so weit fortgeschritten, um genau zu sein? (zumindest in Droid-Geräten sowieso). – Jimmy

+0

Nein, es ist nicht so genau, soweit ich weiß.3 bis 5 Fuß vielleicht im Freien. Auch GPS-Genauigkeit ist variabel, so dass es nicht zuverlässig genug wäre. – Keith

+0

Erstens möchte ich meine eigene Frage nicht beantworten, weil die von mir gewählte Lösung nicht genau mein Ziel erreicht. Ich habe beschlossen, einen Kommentar zu hinterlassen, nur um zu sagen, dass ich diese Frage überprüfe, aber bis jetzt gibt es keine endgültige Lösung. – Keith

Antwort

3

Nein, Android-Geräte enthalten solche Funktionen nicht. Das Beste, was Sie wahrscheinlich tun können, ist die Bluetooth-Signalstärke zu messen. Es wird Ihnen nicht automatisch eine genaue Antwort geben, aber Sie könnten vielleicht zuerst eine Baseline in Ihrer Anwendung erstellen. Das heißt, klicken Sie auf eine Schaltfläche, wenn die Android-Geräte, die Sie interessieren, etwa 1 Meter voneinander entfernt sind.

die folgende Frage Siehe: Android 2.1: How do I poll the RSSI value of an existing Bluetooth connection?

+0

Danke für Ihre Antwort – Keith

0

Könnten Sie nicht etwas Audio haben dann ein Gerät spielt die andere die Verzögerung bei der Anhörung, dass die Audio-Berechnung? Gelingt das nicht, Vibration und Beschleunigungsmesser mit der gleichen Art von Prinzip, aber suchen Sie nach Stärke, basierend auf einigen bekannten Grundlinien.

+0

Die Verwendung von Audio ist die einzige Lösung, auf die ich bisher gestoßen bin. Ich werde eine Frequenz auf einem Gerät spielen, während das andere Gerät eine Nulldurchgangs-Methode verwendet (die immer noch verfeinert werden muss), um die Daten des Mikrofons in Echtzeit zu überwachen. Wenn ich es richtig funktioniere, werde ich eine vollständige Antwort auf meine Frage posten. – Keith

1

Ich habe auch die gleiche Notwendigkeit, und GPS kann nicht für eine solche Genauigkeit verwendet werden. Meine Lösung ist praktischer und erfordert weniger Rechenaufwand. Im Moment des Beginns des Spiels können Sie die Geräte, mit denen Sie interagieren möchten, "kalibrieren".

Zum Beispiel, bringen Sie die beiden Android-Geräte zusammen und drücken Sie einige Kalibrierung Werkzeug zur gleichen Zeit. Dann betrachten Sie diesen Punkt im Raum die (0,0,0) -Koordinate für beide Geräte.

Mit Beschleunigungsmesser und Gyroskop, im Grunde, und vielleicht andere Sensoren, können Sie den Trick tun. Ich hoffe, es hilft, denn es ist die Lösung, die ich gerade implementieren werde. Ich werde einen Blick auf das Bluetooth-RSSI-Zeug werfen.

+0

Wie ist das für dich Pedro? Haben Sie einen Dead-Reckoning-Ansatz verwendet? – Keith