2010-11-26 15 views
19

Je me demande: autre que la localisation GPS, y a-t-il un moyen de savoir si deux téléphones sont à une certaine distance les uns des autres? Par exemple, si un téléphone est à moins de 3 pieds d'un autre, car le GPS n'est pas aussi précis.Distance entre deux téléphones Android

Je développe un jeu interactif multijoueur pour mon projet de dernière année sur la plate-forme android et il faudrait qu'un joueur soit à moins de 3 pieds ou moins d'un autre. Tout est très utile, mais en regardant autour, il semblerait que ce n'est pas vraiment possible. La plupart des données téléphoniques peuvent être partagées et j'utiliserai à la fois des prises Bluetooth et Multicast.

Merci beaucoup pour votre temps.


Merci à tous pour vos réponses. Je suis toujours en train d'examiner cela et mettra à jour quand je trouverai quelque chose un peu plus facile à faire; mais jusqu'à présent, il semble que l'utilisation de la valeur RSSI bluetooth est la voie à suivre.

+1

+1 pour une question intéressante. Mais je suis curieux, le GPS est-il suffisamment avancé pour être aussi précis? (au moins dans les appareils droïdes de toute façon). – Jimmy

+0

Non, ce n'est pas si précis que je sache.3 à 5 pieds peut-être à l'extérieur. aussi la précision de gps est variable donc il ne serait pas assez fiable. – Keith

+0

Tout d'abord je ne veux pas répondre à ma propre question car la solution que je choisis n'atteint pas exactement mon objectif. J'ai décidé de laisser un commentaire, juste pour indiquer que je vérifie cette question, mais jusqu'à présent il n'y a pas de solution définitive. – Keith

Répondre

3

Non, les appareils Android ne contiennent pas de telles fonctionnalités. La meilleure chose que vous pouvez probablement faire est de mesurer la force du signal bluetooth. Cela ne vous donnera pas automatiquement une réponse précise, mais vous pourriez peut-être d'abord créer une base dans votre application. C'est-à-dire, cliquez sur un bouton lorsque les appareils Android qui vous intéressent sont à environ 1 mètre l'un de l'autre.

Voir la question suivante: Android 2.1: How do I poll the RSSI value of an existing Bluetooth connection?

+0

Merci pour votre réponse – Keith

0

Pourriez-vous pas un appareil audio jouer une puis l'autre calculer le retard dans l'audition que l'audio? A défaut, Vibration et Accéléromètre avec le même genre de principe, mais recherchent la force, basée sur quelques lignes de base connues.

+0

L'utilisation de l'audio est la seule solution que j'ai trouvé. Je vais jouer une fréquence sur un appareil pendant que l'autre appareil utilise une méthode de passage à zéro (qui nécessite encore un peu d'affinement) pour surveiller les données de micorophone en temps réel. Si je le fais fonctionner correctement, je posterai une réponse complète à ma question. – Keith

1

J'ai également le même besoin, et en effet GPS ne peut pas être utilisé pour une telle précision. Ma solution est plus pratique et implique beaucoup moins de calculs. Au moment du début du jeu, vous pouvez "calibrer" les appareils avec lesquels vous voulez interagir. Par exemple, rapprochez les deux appareils Android et appuyez sur un outil d'étalonnage en même temps. Ensuite, vous considérerez ce point dans l'espace la coordonnée (0,0,0) pour les deux appareils.

En utilisant un accéléromètre et un gyroscope, en principe, et peut-être d'autres capteurs, vous pouvez faire l'affaire. J'espère que cela aide, parce que c'est la solution que je suis sur le point de mettre en œuvre en ce moment. Je vais jeter un coup d'oeil à ce truc RSSI bluetooth.

+0

Comment cela s'est-il passé pour vous Pedro? Avez-vous utilisé une approche Dead Reckoning? – Keith

Questions connexes