iPod e GPS, due in uno

Quando Benajmin lavorava per un'azienda di GPS (Nemerix) decise di hackare il suo iPod dotandolo di GPS. Ha utilizzato un microcontrollore ATmega324 Atmel e un'unità GPS della Nemerix, anche se poi ha detto che non importa la casa produttrice del GPS.

L'iPod non accetta un qualsiasi flusso di dati seriali. I dati devono essere appositamente formattati per la visualizzazione sullo schermo dell'iPod, cosa che ha reso questo progetto come una sfida per Benajmin.

Ha utilizzato la modalità AiR dell'iPod che permette ad un'immagine a 4 colori di essere visualizzata sullo schermo. Si sa poco di questa modalità. Solo alcune macchine della BMW e l'Alpine utilizzavano all'epoca questa modalità. Benjamin ha studiato il flusso di dati da un'Alpine, per ottenere quello che voleva.

Francamente, la parte hardware di questo progetto non è affatto complessa. Il progetto di riferimento della scheda Nemerix contiene le parti RF per decodificare il segnale satellitare. Un ARM7 aiuta a fornire i dati NMEA tramite un canale UART. Ma l'iPod non legge i dati NMEA e Benajmin aveva bisogno di un processore per convertirli. E cosi è entrato in gioco l'ATMEGA324 (è stato scelto perché ha due porte UART: una porta è per i dati NMEA di entrata e l'altra per i dati in uscita dall'iPod).

L'ATmega324 è una versione migliorata dell'ATmega32. In aggiunta alle caratteristiche dell'ATmega32, l'ATmega324 contiene una doppia USART, altri due canali PWM e può funzionare fino a 20MHz. L'ATmega324 è disponibile anche in una versione da 1.8 V, ATmega324V.

Gli altri componenti della scheda sono elementi di supporto. Un'antenna Fractus (che deve essere tarata per questa applicazione), resistenze, un paio di interruttori e, naturalmente, un connettore per l'iPod. Purtroppo tutto il dispositivo richiede circa 48mA di corrente, e l'iPod fornisce circa 25mA. Quindi è necessaria una batteria di supporto.

La parte più difficile del progetto è stata il firmware per l'Atmel. "Non solo ho dovuto trovare il modo di sincronizzare tra le due porte UART, ho dovuto anche assicurarmi che l'iPod sentiva il flusso seriale che stavo inviando", precisa Benajmin. Il firmware di questo progetto usa la modalità AiR che è stata sviluppata per l'iPod. Questa modalità permette all'utente di inviare all'iPod un'immagine a 4 colori e visualizzarle sullo schermo.

La progettazione dell'array era inizialmente destinata a gestire solo numeri. Benajmin ha complicato un po' il progetto aggiungendo anche lettere. Il testo è statico e non si deve scrivere un algoritmo per convertire una lettera in un numero. I numeri vengono continuamente aggiornati dal messaggio GGA e ci si può collegare direttamente per specificare il numero esatto.

In pratica il nostro hacker stava cercando il messaggio in arrivo GGA che contiene informazioni sulla latitudine e sulla longitudine dal ricevitore GPS. Nel chipset Nemerix, la stringa finiva con un asterisco "*" ed il checksum. Una volta che l'asterisco è stato ricevuto, si può chiudere la ricezione di ulteriori messaggi NMEA disabilitando l'UART. Questo per evitare di sovrascrivere il buffer circolare. Dopo aver disabilitato l'UART, l'algoritmo dovrebbe avviare l'elaborazione delle misure sia di latitudine che longitudine.

Altri hack con iPod, qui: 8 grandi Ipod hacks Parte 1/2

Scarica subito una copia gratis
Tags:, ,

Una risposta

  1. Avatar photo Emanuele 30 Aprile 2012

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend