Leí sobre esta recogida en 2009 y pensaba que era una idea fresca, incluso comprar algunas piezas para el geocaché inversa, pero nunca consiguió alrededor a lo que es.
Avance rápido hasta el 2013 y al ver aquellas partes abandonadas en una caja de Sparkfun solitaria, decidido a revivir el proyecto.
He aquí, introduciendo el Andycache revertir!
Mi módulo GPS era fuera de servicio y estaba falta de una pantalla, pero definitivamente no falta en el número de teléfonos Android que tuve gracias a amigos que gentilmente dotados teléfonos Android viejo. Así que ¿por qué no reutilizar uno de estos teléfonos para este proyecto? Después de todo, un smartphone tiene GPS y una pantalla que pueda usar gratis!
Por lo tanto, nació la Andycache inversa (corto para revertir Android-Geocache). Pero aquí es lo que lo diferencia de todas otras geocachés inversas: es una caja multiusa. Actualmente se configura como un geocache inversa, pero debido a cómo está controlado y operado, puede también ser utilizado para otros fines sin tocar el firmware de la caja.
(Para aclarar, sólo necesita un teléfono Android de repuesto si la persona a que está dando este no tener un teléfono con Android. En mi caso, el destinatario tiene un iPhone).
Aquí encontrarás el código fuente de mi aplicación.
Como entrará en el concurso de jóvenes hacen para aprender, aquí están mis respuestas a las cuatro preguntas:
¿Lo que?
Hice un cuadro de geocache inversa que utiliza un teléfono con Android la interfaz de usuario así como el GPS. La caja sí mismo no tiene pantalla ni GPS, una salida de diseños tradicionales. El teléfono y la caja se comunican vía Bluetooth, y toda lógica de programación se realiza en el teléfono (con datos almacenados de manera segura en un chip EEPROM dentro de la caja). De lo contrario, actualmente actúa como una caja estándar reverse geocache.
La belleza de este diseño es que debido a toda lógica de programación se realiza en el teléfono, la caja es modular y puede reutilizar para otras cosas (por ejemplo, una caja de seguridad, o tal vez un sistema de alarma muy buena que escondía un despertador normal dentro de la caja >: D) escribiendo simplemente otra aplicación que utiliza la funcionalidad de una manera diferente.
La Andycache inversa requiere una extensa lista de materiales y herramientas, como la menta de IOIO, algunos bits de electrónica varios pedazos, un servo, un teléfono antiguo y herramientas tales como taladro, Sierra y el soldador.
¿Cómo lo hiciste?
Había sido inspirado por el diseño original en 2009, pero nunca tenía tiempo para trabajar en una caja propia. Cuando estaba pensando en maneras creativas de pedirle a alguien que mi senior prom (como es mi último año de secundaria), finalmente pensé en hacer uno de estos.
La electrónica y la programación fueron 100% diseñado, construido y codificado por mi (con un poco de ayuda programación de Ytai Ben-Tsvi, creador de IOIO). El montaje, perforación y otras tareas físicas necesaria alguna ayuda de mi mamá y mi tío, que tienen un garaje lleno de herramientas y suministros.
¿Dónde lo hizo?
He trabajado en la caja sobre todo en casa, con un poco de trabajo hecho en mi habitación de hotel en San Diego. Más de 100 horas se puso a escribir el código (que es cierto que es algo áspero en calidad, pero que se espera para escribir código tanto en tan poco tiempo), y cerca de 20 horas fueron puestas en la planificación la electrónica, cableado para arriba y construir el cuadro de.
Pensé que ya iba a pedir que baile un miembro de otro primer equipo de robótica, un proyecto como éste iría perfectamente.
¿Qué aprendiste?
Nunca esperar a terminar una gran empresa como esta en menos de una semana: P
Afortunadamente, cuando usted viene para arriba con algo como esto para una propuesta de baile, encontré siempre hay personas que están dispuestas a ayudar! Muchas gracias a mis amigos que proporcionan materiales, información, teléfonos, o sólo lo pensó era impresionantes y quería ayudar de cualquier manera posible.
Aprendí a utilizar la plataforma IOIO con Android (y Ytai ha hecho un trabajo increíble en lo que es fácil de usar en el desarrollo de Android) y cómo utilizar mensajería de SMS (a punto), bloquear ubicación suplantación en aplicaciones, cómo utilizar servos.
Algunos escollos que observé:
-La serie Galaxy S de dispositivos tiene problemas con la fijación en GPS (confirmado usando aplicaciones de estado prueba/GPS del GPS). Flasheo de nuevas ROMs parecía resolver el asunto.
IOIO - sólo es capaz de una operación de lectura máxima de 127 byte por I2C (que intentaba leer 256). Ytai señala esta peculiaridad en el firmware IOIO. Mi código ahora solo hace lecturas 64 bytes como máximo.
-Android 4.2.2 implementa listas blancas para Android Debug Bridge, y puertos USB de mi laptop no funcionan. Que terminé tener que manualmente trasplante mi laptop RSA key en mi teléfono a la lista blanca para wireless ADB.
-Mecanismo de bloqueo servo es una de las partes más difíciles de la construcción física: el mecanismo necesario asegurar la caja permanece bloqueada, necesita ser físicamente fuerte y resistir forzado intenta abrir y necesita ser confiablemente controlado. Fui a través de 4 diferentes ideas de mecanismo bloqueo antes de establecerse en este caso.
-Hacer una tabla desde cero siempre es un dolor. Yo intentaría tener un PCB grabado al agua fuerte la próxima vez.
Estoy más orgulloso de haber terminado este proyecto en un corto período de tiempo dado las exigencias de la escuela, becas, robótica, etc.. Escritura sobre 1500 líneas de código (la mayor parte de mi aplicación) en 3 días no es tarea fácil. Y el aspecto final de mi Andycache inversa es estético, siempre un bono.
Si tuviera que hacerlo de nuevo, pasaría más tiempo haciendo una mejor interfaz de usuario (creo personalmente que me chupen en la fabricación de UIs funcionales) así como escribir código más limpio. Además, intentaría conseguir una mejor soldadura y uso que (siempre es un dolor para utilizar firestarters, pero realmente no tenía ninguna otra opción para este proyecto).