J’ai lu sur ce retour en 2009 et pensé que c’était une bonne idée, même d’acheter quelques pièces pour la géocache inverse, mais j’ai jamais eu le temps de faire.
Avance rapide pour 2013 et en voyant ces parties laissés seul dans une boîte de Sparkfun solitaire, j’ai décidé de relancer le projet.
Voici, en introduisant la Andycache inverse !
Mon module GPS était hors d’usage et je manquais d’un écran, mais je n’étais pas définitivement dépourvus du nombre de téléphones Android, que j’ai eu grâce à des amis qui doués gracieusement les anciens téléphones Android. Alors pourquoi ne pas réutiliser l’un de ces téléphones pour ce projet ? Après tout, un smartphone a GPS et un écran que je peux utiliser gratuitement !
Par conséquent, l’inverse Andycache (abréviation de renverser Android-géocache) est né. Mais voici ce qui distingue de tous les autres géocaches inverses : c’est une boîte polyvalente. Il est actuellement mis en place comme une géocache inverse, mais en raison de la façon dont il est contrôlé et exploité, il peut aussi servir à d’autres fins sans jamais toucher le firmware sur la boîte.
(Pour clarifier, vous devez uniquement un téléphone Android de rechange si la personne que vous donnez cela n’a pas un téléphone Android. Dans mon cas, le bénéficiaire a un iPhone.)
Le code source de mon application peut être trouvé ici.
Comme j’ai entrera dans le concours de jeunes à faire apprendre, voici mes réponses aux quatre questions :
Ce que tu l’as fait ?
J’ai fait une boîte de géocache inverse qui utilise un téléphone Android comme l’interface utilisateur ainsi que le GPS. La boîte elle-même a aucun écran ou le GPS, un départ de motifs traditionnels. Le téléphone et la boîte de communiquent via Bluetooth, et toute la logique de programmation se faite sur le téléphone (avec les données stockées de façon sécurisée sur une puce EEPROM à l’intérieur de la boîte). Dans le cas contraire, il agit actuellement comme une boîte standard inverse geocache.
La beauté de cette conception est que, parce que toute la logique de programmation se faite sur le téléphone, la boîte est modulaire et peut être réutilisée pour d’autres choses (par exemple, une zone de sécurité, ou peut-être un système d’alarme très bon qui masquerait un réveil ordinaire à l’intérieur de la boîte >: D) en écrivant tout simplement une autre application qui utilise les fonctionnalités de la boîte d’une manière différente.
Le Andycache inverse requise tout à fait une liste exhaustive des matériaux et des outils, tels que la menthe IOIO, quelques morceaux assortis électronique et pièces, un servo, un vieux téléphone et outils comme une perceuse, scie et fer à souder.
Comment tu l’as fait il ?
J’ai a été inspiré par le design original de retour en 2009 mais n’avait jamais vraiment fois de travailler sur une boîte de moi-même. Alors, quand je pensais à des façons créatives de demander à quelqu'un de mon bal senior (comme c’est ma dernière année de lycée), j’ai finalement pensé faire l’un d'entre eux.
L’électronique et la programmation ont été 100 % conçu, construit et codé par moi (avec un peu d’aide programmation de Ytai Ben-Tsvi, créateur de IOIO). Le montage, perçage et autres tâches physiques requis une aide de ma mère et mon oncle, qui ont un garage rempli d’outils et de fournitures.
Où tu l’as fait il ?
J’ai travaillé sur la boîte pour la plupart à la maison, avec un peu de travaux dans ma chambre d’hôtel à San Diego. Plus de 100 heures ont été mises en écrivant le code (qui est certes plutôt rugueuse en qualité, mais qui est prévu pour écrire du code tellement en si peu de temps), et environ 20 heures ont été mis dans la planification de l’électronique, câblage eux vers le haut et la boîte de construction.
J’ai pensé que parce que j’allais demander au bal un membre d’une autre équipe de robotique FIRST, un projet comme celui-ci irait parfaitement.
Qu’avez-vous appris ?
Ne jamais attendre terminer une entreprise énorme comme ça en moins d’une semaine: P
Heureusement, quand vous venez vers le haut avec quelque chose comme ça pour une proposition de bal d’étudiants, j’ai trouvé il y a toujours des gens qui sont prêts à aider ! Un grand Merci à mes amis qui a fourni les matériaux, rétroaction, téléphones, ou juste pensé que c’était génial et je voulais aider de quelque manière possible.
J’ai appris à utiliser la plate-forme IOIO avec Android (et Ytai a fait un travail impressionnant en la rendant facile à utiliser dans le développement Android) ainsi que l’utilisation de messagerie SMS (dans une certaine mesure), bloquer l’emplacement d’usurpation dans apps et comment utiliser des servos.
Quelques pièges que j’ai noté :
-L’appareils de la série Galaxy S ont des problèmes avec verrouillage sur GPS (confirmé en utilisant l’état de Test/GPS GPS apps). Clignotant de nouvelles ROMs semble résoudre le problème.
IOIO - n’est plus capable d’une opération de lecture maximale de 127 octets sur I2C (j’ai essayé de lire 256). Ytai a souligné cette bizarrerie dans le firmware IOIO. Mon code seulement fait maintenant lectures de 64 octets au maximum.
-4.2.2 android implémente whitelisting pour Android Debug pont, et les ports USB de mon ordinateur portable sont non fonctionnelles. J’ai fini par avoir de transplanter manuellement de mon portable RSA clé sur mon téléphone à la liste blanche pour ADB sans fil.
-Servo mécanisme de verrouillage est une des parties plus délicats de la construction physique : le mécanisme doit s’assurer que la boîte reste verrouillée, il faut être fort physiquement et resist forcé tente d’ouvrir, et il doit être contrôlable de façon fiable. Je suis passé par 4 différentes idées de mécanisme verrouillage avant de s’installer sur celui-ci.
-Réalisation d’une planche à partir de zéro, c’est toujours une douleur. Je voudrais essayer d’avoir un circuit imprimé gravé la prochaine fois.
Je suis plus fier d’avoir terminé ce projet dans un laps de temps étant donné les exigences de l’école, les demandes de bourse, robotique, etc. aussi. Écriture sur 1500 lignes de code (la majeure partie de mon app) en 3 jours n’est pas chose facile. Et l’aspect de finition de mon Andycache Reverse est esthétiquement agréable, toujours un bonus.
Si je devais le refaire, je passais plus de temps faire une meilleure interface utilisateur (je pense personnellement que je suis nul en rendant fonctionnel ISU) ainsi que d’écrire un code plus propre. En outre, je voudrais essayer d’obtenir une meilleure fer à souder et utilisation (c’est toujours une douleur d’utiliser firestarters, mais je n’avais pas vraiment d’autre option pour ce projet).