Hi all,
Sorry but for exact explanation i need to use my language because my English is
not good...
so i write Italian...
Vi state chiedendo se è possibile inviare i dati GPS del vostro iPhone/iPad a
ThinBasic? Si è possibile farlo...
Oggi voglio scrivere un Tutorial su questo e spiegare esattamente i passi necessari
per fare questo sperando di fare cosa gradita ai possessori di devices prodotti da
Cupertino.
Cosa occorre:
1) occorre innanzitutto avere un iPhone o iPad con almeno la versione di iOS 4.x
(io ho usato un vecchio iphone 3G con iOS 4.1, quindi penso che funzioni anche con
tutti gli altri modelli superiori... 3GS,4,5)
2) occorre scaricare dall'AppStore un'applicazione gratuita che si chiama Sensor Logger
3) occorre avere il device Apple e anche il PC dove viene eseguito TB, collegati alla stessa
rete WiFi, quindi allo stesso router
4) occorre scrivere un programma in TB in grado di ricevere i dati inviati da iPhone/iPad
usando il protocollo UDP (Datagram Protocol)
5) una volta che i dati vengono ricevuti da TB, si possono fare varie cose, io ho deciso
di fare aprire una pagina del Browser con GoogleMaps che mostra la mia posizione.
Come procedere:
1- connettetevi al WiFi con il vostro dispositivo Apple
2- scaricate da AppStore l'applicazione gratuita Sensor Logger e istallatela
https://itunes.apple.com/us/app/sens...383595336?mt=8
(se non vi funziona potete anche usare l'applicazione Sensor Monitor anche questa gratis, ma forse dovete
adattare leggermente il codice)
https://itunes.apple.com/us/app/sens...381075251?mt=8
3- aprite Sensor Logger e andate nel menù Settings
4- togliete la spunta a tutti i sensori e lasciate acceso solo l'invio dei dati GPS, quindi
mettete su on il GPS e su off Accelerometer, Compass e Gyroscope (si possono inviare
anche questi sensori, ma questo sarà fatto in altri tutorials.... oggi usiamo solo il GPS)
5- sempre nel menù Settings impostate Acceleration frequency a 30Hz
6- sempre nel menù Settings impostate Rotation frequency a 30Hz
7- sempre nel menù Settings impostate la porta di trasmissione numero 5000
8- sempre nel menù Settings impostate l'inirizzo IP del vostro PC ricevente dove lanciate TB
9- andate nel menù Record e siete già pronti per inviare i dati GPS a TB
Settings.jpg
10- adesso bisogna scrivere lo Script in TB per ricevere i dati via WiFi con protocollo UDP,
ma per questo non preoccupatevi, ci ho pensato io al posto vostro (ZIP allegato)
scompattate lo ZIP in una cartella a vostra scelta
11- lanciate lo script ReceiveGPS, nel TextBox in alto comparirà la scritta:
"Wait to receive data from iPhone/iPad (SensorLogger) - UDP port 5000"
Adesso siete pronti... per inviare i dati GPS da iPhone/iPad a TB... Sull'applicazione
Sensor Logger premete il pulsane Start e se tutto va bene la posizione GPS verrà
inviata a TB che li riceverà e aprirà il Browser facendoci vedere l'immagine
del satellite con la nostra posizione esatta...
How it work?
Sensor Logger invia periodicamente una stringa che contiene i dati dei sensori impostati
da noi nel menù Settings, preceduto da un numero, quindi ad esempio per GPS
viene inviato il numero 1 e poi tutti i dati(Latiude,Longitude,Altitude etc...), per accelerometro
viene inviato il numero 2 e poi i dati degli assi (x,y,x) e così per tutti i sensori...
In TB si fa un Parse della stringa che arriva via WiFi e si prelevano i singoli dati.
And if I do not have iPhone or iPad?
Per chi non ha iPhone o iPad, nessun problema, ho scritto uno Script anche per
questo e serve per simulare iPhone che invia i dati GPS...
Lanciate lo script GPS_Emulator dopo aver lanciato ReceiveGPS e premete il
pulsante "SEND Virtual GPS Data - fix position" (quello più in alto) a questo punto
su ReceiveGPS dovreste vedere comparire la vostra posizione nell'immagine ripresa
dal satellite. Questo è possibile perchè impostando l'IP di trasmissione a 127.0.0.1
anzi che inviare via WiFi, i dati vengono inviati all'interno del PC alle altre applicazioni.
Se volete potete modificare i campi di testo con dati a vostro piacimento prima
di inviare.... Così è possibile cambiare Latitude, Longitude, Altitude, horizontal accuracy
and vertical accuracy
Se invece volete simulare uno spostamento premete il pulsante
"SEND Virtual GPS Data - move position" e verrà simulato uno spostamento di
posizione ogni 5-10-20 secondi (dipende dai settaggi del timer nello script),
di conseguenza appena la posizione viene aggiornata a quella nuova, viene inviato
il dato a ReceiveGPS script, il quale vede che la posizione è cambiata rispetto quella
precedente e di conseguenza ricarica la pagina browser con la visualizzazione
della nuova posizione.
Se siete interessati, studiatevi il codice che allego, fate esperimenti e cercate di
migliorarlo, io l'ho fatto abbastanza in fretta.... fate esperimenti con Accelerometer,
Compass o Gyroscope e fatemi sapere se questo Tutorial è servito a qualche cosa...
Ciao from Italy
Max
ReceiveGPS_from_iPhone.zip
Bookmarks