Definire la durata della batteria (e forse le dimensioni della batteria) ti dirà quanto deve durare la tua cosa. Ciò può quindi portarti a decidere di accenderlo solo quando (a) devi leggere e (b) quando trasmettere i dati.
Se vuoi solo svegliarti, dì ogni ora, allora vuoi qualcosa con un Real Time Clock (RTC) o qualcosa che conta i secondi a bordo, o disponibile come unità slave per dire al tuo microcontrollore di funzionare.
L'RTC potrebbe quindi dire al wifi di accendersi, rilevare se si trova nel raggio della sua rete consentita, accedere e trasmettere dati.
L'altro lato di quella moneta è semplicemente lasciare che qualcosa come un GPS riceva costantemente correzioni (ogni secondo) e polling wifi costantemente. Con questo scenario una piccola batteria potrebbe durare solo poche ore anziché settimane o mesi se avessi usato la tua corrente con saggezza.
In poche parole, sarebbe il tuo dilemma iniziale.
Ho fatto quello che pensavo fosse un'attenta diligenza prima di intraprendere questo tipo di cose simili, e ti consiglio di dare un'occhiata al microcontrollore Espruino . Se hai competenze JS esistenti, puoi ottenere risultati molto velocemente: ti sentirai come a casa. Gli Espruino hanno RTC, sono già 3.3v e usano una bassa corrente di progettazione. Schiaffeggiare su un GPS è ridicolmente facile.
Ti suggerirei di procurarti un normale Espruino verde con cui giocherellare e poi provare il nuovo Espruino Wifi invece di lottare per aggiungere tu stesso un ESP8266 (non li ho provati, BTW). Gli espruinos non sono i più economici, ma sono ben fatti (IMO) e godono di un buon supporto. Sul loro forum di solito puoi ottenere il riconoscimento dal ragazzo che li crea.
Queste informazioni ti sono probabilmente più utili se hai abilità JS e abilità EE trascurabili (come me).