Jumping Jack Flash weblog

Trasformare un cellulare in antifurto satellitare per auto

Posted in GPS, Java, Javaphone API, jython by jumpjack on 14 novembre 2007

–> SEE ENGLISH VERSION 

Questo script freeware in Jython trasforma un qualunque telefono che supporti le Javaphone API e il blluetooth in un economico (meno di 200 euro) antifurto satellitare per auto: infatti, una volta installato lo script sul telefono, non appena il telefono riceve una chiamata invia a un numero predefinito un SMS contenente le coordinate in cui il telefono stesso si trova, leggendole da un ricevitore GPS esterno.

Il programma è stato testato solo su Motorola a1000, ma dovrebbe funzionare anche su Nokia 9200/9210/9300/9500 e su qualunque telefono supporti PersonalJava, Bluetooth e Javaphone API (purtroppo solo pochi supportano le Javaphone API). 

Cosa vi serve:

Un PDA/telefono che supporti PersonalJava o Personal Profile, le Javaphone API e, il bluetooth (probabilmente va bene qualunque sistema operativo, trattandosi di java)

Una versione di Jython compatibile col telefono (per esempio questa, testata su UIQ 2.1)

JavaBT: Librerie bluetooth per PersonalJava; (JavaBT homepage)

Lo script “LC GPS car tracker“;

Un file di testo contenente il numero a cui inviare l’SMS; il file deve chiamarsi  cellphone.txt;

Un file di testo contenente l’indirizzo del ricevitore GPS, memorizzato come sequenza di 6 numeri esadecimali (ad esempio  000a3a2310c2; è possibile scoprire l’indirizzo del proprio GPS utilizzando un qualunqe programma di gestione bluetooth installato sul PC). Il file si deve chiamare address.txt;

Una volta che vi siete procurati tutto questo, potete procedere con l’installazione: 

Once you have all of above:

– Installate Jython sul telefono (per esempio in D:\jython);

– Decomprimete JavaBT.zip sul PC, e copiate la cartella “se” nella cartella D:\Jython sul cellulare; copiate javabt.dll in c:\system\libs sul cellulare;

– Copiate lo script Jython in d:\jython sul cellulare;

– Copiate i suddett file di testo nella cartella  c:\documents\Media Files\document\LC_GPS_Tracker sul cellulare;

– Avviate Jython sul telefono, dopodichè usatelo per lanciare lo script, e attendete il prompt “READY”;

– Accendete il ricevitore GPS e tenetelo in prossimità del cellulare;

– Attivate il bluetooth sul cellulare;

– Ora provate a chiamare il telefono: non appena riceverà la chiamata, comincerà a mostrare una serie di messaggi sullo schermo. Se tutto va come previsto, dopo un po’ dovreste ricevere sul numero prefissato il messaggio con le coordinate.

NOTA: se il GPS aveva “fatto il fix”, il messaggio terminera con “1,xx”, con xx=numero di satelliti, altrimenti terminerà con “0,00”.

Problemi noti:

Al momento il programma non può funzionare sui SonyEricsson P800/p900/p910, perche’ nessuno di essi supporta le Javaphone API. Se vi interessa una versione per questi telefoni potrei provare a scriverla, ma solo su esplicita richiesta e compatibilmente con tempi e fattibilità…: non dimenticate che è sempre un programma freeware!😉

– La coppia telefono-ricevitore dovrà essere installata in auto e mantenuta sempre sotto carica, per ovvi motivi; per motivi altrettanto ovvi, entrambi dovranno trovarsi in un luogo nascosto, ma al tempo stesso essere in grado di ricevere segnali GSM e GPS

24 Risposte

Subscribe to comments with RSS.

  1. Roberto said, on 2 dicembre 2007 at 15:27

    Che significa – Copiate lo script Jython in d:\jython sul cellulare; d oppure D? e quale è lo script?
    6 cmnq un fenomeno!!!!!!!!!!!!!!

  2. jumpjack said, on 2 dicembre 2007 at 15:42

    Che differenza fa tra “d” e “D”?!? Sempre memory card e’, no?😉
    Lo script è ovviamente quello linkato nell’articolo:
    http://www.planetmobile.it/jumpjack/call_handler-0-1-0-BT.py

  3. jumpjack said, on 27 dicembre 2007 at 11:23

    Comment from Adam Liptak:

    Hello there,

    I hope you can understand English!

    What you are doing with the GPS -> SMS is amazing, are you going to make anything for Symbian phones which have a GPS unit built in, like the N95.

    I would certainly purchase a program that could SMS a designated number the GPS co-ordinates of its whereabouts…

    Regards Adam

  4. jumpjack said, on 27 dicembre 2007 at 11:30

    Answer to Adam Liptak:

    Yes, it would be very interesting to be able to access internal AGPS. Unfortunately, it looks like location APIs are not accessible to “normal developers”, but only to Symbian’s partners, which pay a fee for it and sign a Non Disclosure Agreement.😦

    BUT somebody successfully “hacked” some Symbian phones and accessed the Location APIs from a midlet, although I didn’t understand exactly how he did it: I just know he used “motomidman” program to hack the phone; then he used a midlet to access the location APIs. But unfortuantely midlets can send messages only to certain “SMS ports”, a mechanism which I don’t understand very well; besides there is no way to get a midlet sending an SMS without asking user for permission.
    So, in a few words, I don’t think it could be possible (at least for me) to write a program to turn an N95 into an anti-theft, sorry. Maybe it could be done by programmin in C++…. but I am not able to do it, I only use Java and Python.
    Python…. maybe I could investigate to see if Python can access location APIs….

  5. jumpjack said, on 27 dicembre 2007 at 11:39

    Good news for N95 owners:
    http://gagravarr.livejournal.com/126871.html

    I.E., somebody ALREADY prepared a python script which read coordinates from internal GPS.
    If anybody is interested on turning the N95 into an ant-theft (for… itself too!!), please report here if the above script works.
    If so, I could extend it to allow it sending SMS upon request!😉
    (I do no have an n95, so I need betatesters)

  6. dino said, on 12 aprile 2008 at 16:15

    Ho fatto tutto quello che hai scritto, ma oltre la scritta ready su redirect non succede niente. Sicuramente sbaglio qualcosa. Lo script lo lancio con jrun, aspetto il ready accendo il gps e attivo il bluetooth del telefonino. Lo faccio squillare per un pò ma a vuoto. Su redirect nessuna scritta.
    C’è qualcos’altro da sapere e da fare?
    grazie

  7. jumpjack said, on 13 aprile 2008 at 16:20

    Dino, la cosa è molto strana: ho ripreso l’a1000 dopo un bel po’ che non lo usavo (non l’ho ancora installato in macchina perche’ non ho mai ultimato il programma…), e anche a me dava lo stesso problema: compare il messaggio READY, ma quando chiamo il cell non succede niente.
    Pero’ poi ho scoperto che non funzionava il cell in generale, non mi si collegava al PC ne tramite BT ne’ tramite cavo! Ho dovuto smanettarci mezz’ora, e alla fine si è ricollegato… ma lo script python ancora non funzionava!
    Ho fatto delle prove a mano, e ho scoperto che erano scomparse (???) le librerie javabt! Cosi’ le ho reinstallate.

    Ora sembra funzionare.
    Ho messo online una nuova versione del programma, con piu’ messaggi di errore, vedi se funziona…
    http://www.planetmobile.it/jumpjack/call_handler-0-1-1-BT.py

  8. dino said, on 17 aprile 2008 at 14:47

    Grazie,ti sembrerò un poco menomato, non ci sono ancora riuscito.la riga di lancio di jrun che ho io è la seguente:
    cp D:\jython\awtcons.jar;D:\jython -Dpython.home=d:\jython org.python.util.jython d:\jython\antifurto.py
    antifurto.py l’ho rinominato io, ma il file awtcons.jar non l’ho forse per quello in redirect mi scrive un sacco di errori sulla posizione sulla memoria delle classi.
    se non ti disturba molto mi puoi indicare dovo trovo o creo il file e dove devo collocarlo?
    grazie

  9. jumpjack said, on 17 aprile 2008 at 15:13

    non hai awtcons?!?
    e poi perche’ continui a usare jrun?
    Sai che non ho ancora capito che cellulare hai e che python ci hai installato?!?
    Stai usando JythonQ o altro?!?
    awtcons dovrebbe installarsi automaticamente, è la CONSole basata su librerie AWT!

    Se instally regolarmente JythonQ su un a1000 e copi lo script nella cartella d:\jython, per lanciare lo script basta sceglierlo dal menu!

    Se pero’ stai usando tutt’altro cellulare… devi darmi tutti i dettagli, senno’ non so come aiutarti!

  10. dino said, on 17 aprile 2008 at 16:16

    il telefono è un a1000 il programma installato sul cellulare quando parte scrive
    jython completion shell jython 2.1 on java 1.00() (jit:nul)
    forse non è il programma giusto devo cercare jythonq?
    Grazie per la pazienza

  11. jumpjack said, on 18 aprile 2008 at 8:05

    Allora Dino, non ho ancora capipto bene COSA hai installato sul cell, visto che dici che ti parte Jython ma NON hai installato JythonQ…

    Visto che hai proprio l’a1000, che e’ il cell su cui io ho testato questo prog, ti dico i passi esatti (anziche’ generici) per installare il mio programma di tracciamento GPS; li copio dall’articolo, cambiando quello che serve (l’articolo è generico per qualunque cell supporti jython):

    – Installate *JythonQ* sul telefono (per esempio in D:\jython);

    – Decomprimete JavaBT.zip sul PC, e copiate la cartella “se” nella cartella D:\Jython sul cellulare; copiate javabt.dll in c:\system\libs sul cellulare;

    – Copiate il mio script call_handler-0-1-0-BT.py in d:\jython sul cellulare;

    – Copiate i file di testo cellphone.txt e address.txt (vedi articolo) nella cartella c:\documents\Media Files\document\LC_GPS_Tracker sul cellulare;

    – Avviate JythonQ sul telefono: nel menu’ appariranno gli script disponibili, tra cui call_handler-0-1-0-BT.py : cliccarlo, in modo da lanciarlo, e attendete il prompt “READY”;

    – Accendete il ricevitore GPS e tenetelo in prossimità del cellulare;

    – Attivate il bluetooth sul cellulare;

    – Ora provate a chiamare il telefono: non appena riceverà la chiamata, comincerà a mostrare una serie di messaggi sullo schermo. Se tutto va come previsto, dopo un po’ dovreste ricevere sul numero prefissato il messaggio con le coordinate.

  12. dino said, on 22 aprile 2008 at 11:18

    fatto tutto quello che mi hai scritto ma nulla di fatto adesso jythonQ non parte affatto redirect mi dice che non trova class sun.pjava.lang.remoteclassloadercould not create Java virtual machine.
    se ti viene in mente qualcosa altrimenti rinuncio.

  13. jumpjack said, on 22 aprile 2008 at 12:00

    Non so che dirti, dal messaggio sembra che non ti funzioni java…
    L’ultima cosa che resta da fare è disinstallare completamente jython e javaBT, RIAVVIARE IL CELL e ricominciare da capo.

    Comunque, riprendendo il tuo primo post:
    “Ho fatto tutto quello che hai scritto, ma oltre la scritta ready su redirect non succede niente. Sicuramente sbaglio qualcosa. Lo script lo lancio con jrun, aspetto il ready accendo il gps e attivo il bluetooth del telefonino. Lo faccio squillare per un pò ma a vuoto. Su redirect nessuna scritta.”

    Non mi ricordo se deve comparire qualcosa ANCHE in redirect: l’output principale è nella finestra del programma, non in redirect!
    Sta’ a vedere che il programma FUNZIONAVA, quando non appariva niente in redirect, visto che li’ ci scrive l’interprete Java in caso di errore, non Jython!

  14. Men said, on 21 maggio 2008 at 20:23

    News per n95?

  15. jumpjack said, on 22 maggio 2008 at 16:58

    Si’: sono riuscito a scaricare, installare e usare la libreria Locationrequestor ( http://discussion.forum.nokia.com/forum/showthread.php?t=108657 ), quindi in teoria potrei estendere il prog all’N95… Pero’ la libreria funziona in modo bislacco: se non c’e’ segnale, restituisce l’ultima posizione rilevata, ma non ti avverte che non c’e’ segnale! C’e’ un’altra funzione separata che ti avverte se il segnale e’ buono. Quindi bisogna fare un po’ di intrecci per tirare fuori un programma che funzioni… quando avro’ tempo…

  16. jumpjack said, on 22 maggio 2008 at 16:59

    Questa è l’ipotesi:
    – use NotifyPositionUpdate to query for position;
    – depending on result, show it (if valid) or use GetLastKnownPosition to display last valid position.

  17. milejo said, on 22 settembre 2008 at 15:31

    ciao volevo chiederti se è possibile creare un programmino java (io uso il tytn) che al posto di inviare un sms , comunica con un db presente su un server, inviando ad intervalli regolari la posizione gps. In questo modo da casa usando le api di google maps, potrei seguire in real time la posizione del mio veicolo. Potresti darmi qualche aiutino…..

  18. jumpjack said, on 22 settembre 2008 at 17:15

    ci avevo pensato anch’io, ma il problema è che per inviare dati con java serve sempre l’autorizzazione fisica dell’utente, che deve premere SI alla richiesta di conferma, e il java-j2me non puo’ simulare la pressione di tasti, per motivi di sicurezza.
    puo’ darsi pero’ che una midlet possa essere autorizzata una volta per tutte a SCARICARE una pagina web… nel qual caso basta “scaricare” un’opportuna pagina PHP che in realtà utilizzerà l’URL per memorizzare i dati su un server, che pero’ ovviamente deve supportare il PHP (www.altervista.org, per esempio).

    Qui c’e’ spiegato come farlo in python, ma il meccanismo è lo stesso:
    http://www.mobilenin.com/pys60/info_networking.htm

    Ma credo che anche per il solo scaricamento di una pagina serva il permesso…
    Io ho deciso che risolvero’ la cosa con un trucco: un programma python “di supporto” alla midlet, che simula la pressione dei tasti necessari!
    Se sul tytn ci gira python, o qualche altro linguaggio che puo’ far finta di premere i tasti…

  19. Giuseppe said, on 16 gennaio 2010 at 21:49

    Ciao e complimenti per l’idea e per il lavoro fatto.
    Ho seguito alla lettera le tue spiegazioni ma ho un problema.
    Dopo aver lanciato jythonQ l’unica cosa che mi compare se vado su menu è la scritta EXIT. Devo lanciare lo scrypt in qualche altra maniera?
    Grazie in anticipo

  20. Anonimo said, on 1 ottobre 2011 at 10:10

    ciao sono giuseppe, grande programma, desidero sapere sei il sistema funziona su noikia 6680 e su experia mini.
    ciao e bravo veramente.😀

    • jumpjack said, on 1 ottobre 2011 at 15:39

      grazie per i complimenti.🙂
      Il nokia 6680 è proprio il cell che ho usato io; Sull’experia non ho proprio idea se funzioni.

  21. Maite said, on 7 settembre 2012 at 11:37

    Por el momento solo podemos aguardar que Apple realice lo que sabe y presente su próximo producto para satisfacer las necesidades de lo esperado con este
    celular y una vez lo tengan en su mano disfrútenlo todo
    lo que puedan ya que necesitarán tiempo para usar todas sus opciones y utilidades que harán su rutina sensiblemente más fácil y entretenida.

  22. […] Trasformare un cellulare in antifurto satellitare per auto […]


Puoi inserire un commento qui sotto; diventerà visibile dopo la moderazione dell'amministratore

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: