Ik lees over dit terug in 2009 en dacht dat het een cool idee, zelfs de aankoop van sommige onderdelen voor het omgekeerde geocache, maar ik heb nooit rond om making it.
Vooruitspoelen tot 2013, en bij het zien van die delen alleen gelaten in een eenzame Sparkfun vak, heb ik besloten om te doen herleven van het project.
Zie, de invoering van de Reverse-Andycache!
Mijn GPS-module was buiten de orde en ik ontbrak een scherm, maar ik zeker was niet ontbreekt in het aantal Android-telefoons die ik had dankzij vrienden die genadig begaafd oude Android-telefoons. Dus waarom niet opnieuw gebruiken van een van deze telefoons voor dit project? Een smartphone heeft immers, GPS en een scherm dat ik gratis kan gebruiken!
Vandaar, de omgekeerde Andycache (afkorting voor Reverse Android-Geocache) was geboren. Maar hier is wat onderscheidt het van alle andere omgekeerde geocaches: het is een multifunctionele doos. Het is momenteel ingesteld als een omgekeerde geocache, maar vanwege het is hoe gecontroleerd en beheerd, het kan ook worden gebruikt voor andere doeleinden zonder ooit het aanraken van de firmware op de doos.
(Om te verduidelijken, hoeft u alleen een vrije Android telefoon als de persoon die je dit geeft niet over een Android telefoon beschikt. In mijn geval heeft de ontvanger een iPhone.)
De broncode van mijn app kan hier worden gevonden.
Ik zal het invoeren van de wedstrijd jeugd Make-to-Learn, zijn hier mijn antwoorden op de vier vragen:
Wat heeft u te maken?
Ik maakte een omgekeerde geocache-vak waarin een Android telefoon als de UI evenals de GPS gebruikt. Het vak zelf heeft geen scherm of GPS, een vertrek van traditionele ontwerpen. De telefoon en het vak communiceren via Bluetooth, en alle programmering logica wordt gedaan op de telefoon (met gegevens veilig opgeslagen op de chip van een EEPROM in de doos). Anders is het op dit moment fungeert als een standaard omgekeerde geocache-vak.
De schoonheid van dit ontwerp is dat omdat alle programmering logica wordt uitgevoerd op de telefoon, het vak modulair is en andere doelen kan worden gebruikt voor andere dingen (bijvoorbeeld een lockbox, of misschien een zeer goede alarmsysteem dat een gewone wekker in de doos zou verbergen >: D) door simpelweg het schrijven van een andere app die gebruikmaakt van de functionaliteit van het vak op een andere manier.
De Reverse-Andycache vereist een vrij uitgebreide lijst van materialen en gereedschappen, zoals de IOIO munt, sommige geassorteerde elektronica bits en stukken, een servo, een oude telefoon en hulpmiddelen zoals een boor, een zaag en een soldeerbout.
Hoe u het?
Ik had laten inspireren door het oorspronkelijke ontwerp terug in 2009, maar nooit echt tijd had om te werken aan een doos van mijn eigen. Dus als ik te van creatieve manieren om te vragen iemand aan mijn senior prom denken zat (zoals het mijn laatste jaar van de middelbare school), dacht ik uiteindelijk van het maken van een van deze.
De elektronica en programmering waren 100% ontworpen, gebouwd en gecodeerd door mij (met een beetje programmering hulp van Ytai Ben-Tsvi, maker van IOIO). De montage, boren en andere fysieke taken nodig wat hulp van mijn moeder en oom, die een garage vol met gereedschap en benodigdheden hebben.
Waar je het maken?
Ik werkte op het vak meestal thuis, met een klein beetje werk in mijn hotelkamer in San Diego. Meer dan 100 uur waren gestoken schrijverij naar de wetboek (dat is weliswaar nogal ruwe in kwaliteit, maar die wordt verwacht voor het schrijven van zo veel code in zo weinig tijd), en ongeveer 20 uur werden gebracht van de plannen van de elektronica, bedrading hen omhoog, en de opbouw van het vak.
Ik dacht dat omdat ik vragen aan prom een lid van een ander eerste robotica-team wilde, een project als dit zou volkomen gaan.
Wat heb je geleerd?
Nooit verwacht tot finish een enorme onderneming zoals dit in minder dan een week: P
Wanneer u met iets als dit voor een prom-voorstel komen bent, vond ik gelukkig, er zijn altijd mensen die bereid zijn te helpen! Veel dank aan mijn vrienden die geboden materialen, feedback, telefoons, of dacht dat het was geweldig en wilde om te helpen op welke manier mogelijk.
Ik leerde het IOIO platform gebruiken met Android (en Ytai heeft gedaan een geweldige baan in waardoor het makkelijk te gebruiken in Android ontwikkeling) evenals het gebruik van SMS-berichten (tot op zekere hoogte), blokkeren locatie spoofing in apps, en het gebruik van de servo's.
Een paar valkuilen die ik hebt genoteerd:
-De Galaxy S-reeks van apparaten hebben problemen met vergrendeling op GPS (bevestigd met behulp van GPS-Status voor Test/GPS apps). Nieuwe ROMs flashen leek het probleem op te lossen.
-IOIO is alleen geschikt voor een maximale 127-byte leesbewerking over I2C (mij watertje trying voor het lezen van 256). Ytai wees deze eigenaardigheid in de firmware IOIO. Mijn code alleen doet dat nu 64-byte leest hoogstens.
-Android 4.2.2 implementeert whitelisting voor Android Debug Bridge, en mijn laptop op de USB-poorten zijn niet-functioneel. Mij trachten opwaarts having handmatig transplantatie van mijn laptop RSA sleutel op mijn telefoon aan whitelist het voor draadloze ADB.
-Servo "locking" mechanisme is een van de lastigste onderdelen van de fysieke bouwen: het mechanisme moet ervoor zorgen dat het vak blijft vergrendeld, het moet fysiek sterk weerstaan gedwongen probeert te openen en het moet worden op een betrouwbare manier controleerbaar. Ik ging door 4 verschillende vergrendeling mechanisme ideeën voordat op dit ene.
-Het maken van een bestuur van kras is altijd een pijn. Ik zou proberen om een PCB geëtst volgende keer.
Ik ben trotste van dit project hebben voltooid in zulk een korte periode van tijd, gezien de eisen van school, beurs toepassingen, Robotica, enz. Schrijven over 1500 lijnen van code (het grootste deel van mijn app) in 3 dagen is geen gemakkelijke opgave. En het afgewerkte uiterlijk van mijn Andycache Reverse is esthetisch, altijd een bonus.
Als ik het opnieuw doen moest, zou ik meer tijd maken een betere UI (ik denk persoonlijk dat ik zuigen bij het maken van functionele UIs) en schonere code schrijven. Daarnaast zou ik proberen om een betere soldeerbout en het gebruik dat (het is altijd een pijn aanmaakhoutjes gebruiken, maar ik heb niet echt een andere optie voor dit project).