Jumping Jack Flash weblog

Programmare in python cellulari Symbian 3rd

Posted in Symbian by jumpjack on 19 settembre 2009

Per via delle protezioni di symbian 9.x presente nei cellulari Symbian 3rd e 5th (la 4th non esiste per motivi di superstizione, cercate su google…), scrivere programmi in pys60 e’ piuttosto complicato…

Bisogna:

Scaricare la shell non firmata (unsigned) (per esempio questa)

Firmarla online

Installarla (se ce n’e’ una già installata, prima toglierla, altrimenti quella nuova non si installa proprio!)

NOTA: con python 1.4.x e precedenti sui 3rd edition , TUTTI i moduli aggiuntivi vanno installati in C:\ , senno’ non sono visibili!!!

Handling Symbian 3rd SIS file

Posted in Symbian by jumpjack on 19 settembre 2009

SISInfo
unpacking  and creating (command line):
http://www.niksula.cs.hut.fi/~jpsukane/sisinfo.html

SISContents:
Unpacking (also supports “phantom” .sis left by system after installation):
http://www.4shared.com/file/110753662/74bd1ef3/SISContents_130.html

SISXplorer:
Unpacking
http://www.symbian-toys.com/sisxplorer.aspx

ENSYMBLE: (richiede openssl in c:\openssl\bin)
Unpack/hack/pack
http://www.nbl.fi/~nbl928/ensymble.html
http://code.google.com/p/ensymble/

Online debugging of SIS files:
http://www.whythefuckwontmysisfileinstall.com/guide.html

Creare un file .SIS per un’applicazione Python pys60:
http://developer.symbian.org/wiki/index.php/PyS60_Standalone_Applications_(Python_on_Symbian)#Application_Packager

Con l’Application Packager sembra che serva anche un certo “python runtime”, incluso in questo pacchetto da 34 MB…

http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html

Immersive Virtual Reality – Realtà Virtuale Immersiva

Posted in intuizioni, Symbian by jumpjack on 1 agosto 2009

It was a long time ago since when Immersive Virtual Reality development has been totally abandoned. Since then, when we listen or read about VT, it’s a totally different thing from the original meaning: now “virtual reality” is quite anything related to computers and information technology!! So we now have to use a different terminology, Immersive Virtual Reailty, to be understood when talking about this subject. But.. who ever is still talking about RV in the sense of IRV today? Nobody. But I clearly remember that kind of a 15 yars ago I was able to personally test an IRV system: it costed several thousands of dollars; it consisted of a head-up display with very low resolution (maybe 320×200 or even 160×100, I remember BIG pixels!), a “magnetic enclosure” where I had to stay to get the system detecting my position, and a “state of the art” PC: 2 co-working 80486 PC at 100 MHz!!! This system was able to create the “illusion” of being into a 3d environment; well, it was REALLY an illusion, as:

  • the display was not stereo, only the image were “3d” as the represented… a virtual city!
  • as said, resolution was really low
  • FPS was around 15 or 20
  • no textures were applied to surfaces.

For some reasons, today, when we have multicore processors working at 3000 MHz we do NOT have ANY commercial application of IRV! Why not?!? Don’t know. What I know is that we COULD actually have it, even if industries are not interested on its development. Now, let’s see what we have available today: A Nokia 82 cellphone has:

  • 320×240, 16 million colors screen (and we have the head-up display)
  • headphones support (and we have audio too in the head-up display)
  • accelerometer (and we have the head position locator)
  • 330 MHz CPU (and we have the “system”)
  • internal GPS (could we even use our IRV system to see something overlapped to real world?!?)

So, what do we need to turn our N82 into a IRV system?

  • Something to fix it in front of our eyes.
  • Proper SW.

And that’s all!

Now, is there anybody out there able to write such a SW? A sample 3d game or something?

Turn your phone into an universal remote control

Posted in hardware, Infrarossi, Sviluppo, Symbian by jumpjack on 10 giugno 2008

This short tutorial shows how to turn almost any cellphone into an universal IR remote control.

CHECK GoogleCode page for downloads and updates

Old post (with detailed instructions about how to build hardware)

How I did it (and credits)

Why it should work also on non-stereo cellphones (but it does not?!?) (see also excel file)

Useful links (explanations of remote control protocols)

Other uses for old phones
Available patents (not mine):
Infrared generator from audio signal source
IR receiver using IR transmitting diode

 

Ready-made transmitter: irDroid

http://www.irdroid.com/purchase/

Requirements:

– a cellphone with stereo audio output (audio left , audio right , ground) or symmetrical audio output (audio+, audio-)

– 2 IR leds

– a wired headset compatible with the phone

– a PC with audio card

– an audio recording software on PC

– an audio editing software for PC or an audio sinthesyzer software for PC

This project does not depend on O.S. used: you just need ANY computer capable of recording audio and create audio files from scratch. Linux, Windows, MacOSX or whatelse makes NO difference.

Please look at this post to know how to:
– build an IR receiver for the PC
– sample a remote control
– (create a WAV file using Audacity program) (not strictly needed: this article describe an alternate method).

Once you sampled all needed buttons of your remote, it’s just a matter of building a proper WAV file for each one of them. If you don’t want to use Audacity to do it manually, you can use SOX program: it creates pieces of “raw” audio file, which joined together build up the final WAV file.

Here you find example scripts (for DOS/Windows environment) which build a WAV file based on binary description of the remote signal. You have to setup the unizeri.bat file to have it matching the sampled signal. Then call create.bat specifying as parameter the “creator file” (unizeri-raw, or unizeri-tv,… ), the final WAV file (testbutton) and the number of additional times you want the command is repeated (at least ONE occurrence will be alway created):

create unizeri-raw testbutton 4

(no extensions required for filenames) (NOTE: script must be run inside SOX folder).

This will result in a tesbutton.wav file which, played on a phone (or on PC, or on any audio capable device), equipped with audio-to-IR converter, to control your device.

The audio-to-IR converter:

It is just a couple of LEDs connected in oppopsite ways to “audio output left” and “audio output right” (for normal phones) or to “audio+” and “ground” (for phones with symetrical audio output like nokia 6680). In symetricl ouptu, Left- and Right- must be connected together (see below).

Audio-to-IR converter:

Connections for nokia 6680:

(10 Ohm resistor not strictly needed)

—————————————————-

Study about physics/optical phoenomena involved in this project:

Excel file – how to play a 38000 Hz “sound” through a 20000Hz-capable audio device

Big image summarizing Excel data

————————-

Forums about Ledrem:

Italian:

Nokioteca

PLC Forum

PC Tuner

HW upgrade

Planetmobile

English:

IP-mart.com

Hackint0sh

What can you do with an old cellphone?

Posted in GPS, hardware, Infrarossi, intuizioni, Symbian by jumpjack on 7 giugno 2008

An old nokia series 60 phone (like nokia 6600 or 6680) costs around 50$. But it has:

– bluetooth support

– infrared support

– fotocamera

– internet access

– SMS support

– USB support

– Python support (pys60)

– java j2me  support

Mix all these things together, and you could obtain:

1) 3d foto/video (*)

2) touchscreen (wiimote-like)

3) remote video surveillance

4) Add an IR led to your recipe, and you obtain an SMS-controlled remote-control. (GoogleCode page)

5) Add a bluetooth GPS receiver and you have a GPS antitheft. (GoogleCode page)

6) Home intrusion detection system.

7) Simple guitar tuner.

…any more ideas?

It’s just a matter of writing proper software!

(*) To make 3d photo of moving subjects, or 3d video, you need two separate but synchronized cameras. Bluetooth conection should allow such a synchronization, in such a way that when you shoot a photo on one phone, at the same time it’s shot on the other phone.

Appunti su fattibilità telecomando tramite cellulare

Posted in Infrarossi, Symbian by jumpjack on 10 maggio 2008

Varie possibilità:

già pronte:

Novii Remote (solo alcuni nokia, a pagamento), utilizza porta IrDA, non puo’ campionare ma solo usare codici da scaricare da internet; c’e’ da capire come creare nuovi codici

Psiloc IR Remote (moltissimi nokia s60, anche 3rd, stesso principio di Novii: non puo’  campionare).

La porta IrDa non puo’ essere usata per campionare i telecomandi, per motivi hardware, ma puo’ “riprodurli”.

Pagina Psiloc da dove scaricare codici pronti:

http://irremote.psiloc.com/Show.aspx?d=TV

Pagina Psiloc per inviare codici da convertire:

http://irremote.psiloc.com/Wizard.aspx

Siti che forniscono codici per telecomandi (devono essere convertiti nei formati di Novii e Psiloc):

http://www.remotecentral.com

http://lirc.sourceforge.net/remotes/

Forum vari su configurazione Psiloc IR Remote:
http://www.nokioteca.net/home/forum/index.php?showtopic=79009&st=180
http://www.spaziocellulare.com/forum/showthread.php?t=11487&page=2
http://forum.telefonino.net/showthread.php?t=347683&page=3

Scaricamento codici pronti:

http://www.fileden.com/files/2008/2/23/1777406/APPS/IrRemote%20Codes%20Adapter%201.0.rar
http://www.novii.tv/up/forum/download.php?id=293&sid=5be11bcf85de88dc0f30504b4c4ea88d
http://www.novii.tv/up/forum/download.php?id=292&sid=5be11bcf85de88dc0f30504b4c4ea88d
http://lirc.sourceforge.net/remotes.tar.bz2
Download Psiloc IR Remote:
http://download12.getjar.com/downloads/web/pub/1758/Psiloc_Total_irRemote.sis
http://web.archive.org/web/20060321063024/http://www.psiloc.com/files/consumer/series60/Psiloc_TotalirRemote_S60.sis   (2.0 ???)

Download Novii Remote:
http://www.novii.tv/soft/NRN_21_Novii.zip
Programmi analoghi, per Windows Mobile (pocketPc)

Vantaggio: i PocketPC POSSONO campionare i telecomandi!

http://www.wincesoft.de/html/remotecontrol_ii.html

http://vitotechnology.com/en/products/remote.html

http://www.griffintechnology.com/griffinmobile/totalremote/  (fornisce anche hardware da collegare a presa cuffia, cosi’ qualunque dispositivo con uscita cuffia puo’ diventare telecomando! (ma prima bisogna registrare i codici!))  SITO MORTO

Progetti hardware di campionatori/replicatori telecomandi:

http://pc-ir-remote-vb.sourceforge.net/     PC IR Remote

http://www.geocities.com/odednoam/   IR Remote  – progetto semplicissimo: campionatore costituito da normale fotoresistenza collegata a scheda audio! (funziona solo al buio, registra codici telecomandi, per poi riprodurli sempre con scheda audio, stavolta collegata a diodo emettitore)

http://features.engadget.com/2004/07/27/how-to-turn-your-ipod-in-to-a-universal-infrared-remote-control/   Usare l’IPOD e il “recorder di raggi infrarossi” della Griffin per telecomandare dispositivi.
Spiega anche come registrare IR senza PocketPC, con semplice diodo ricevente IR collegato a scheda audio.

http://people.inf.ethz.ch/mringwal/lirc/   Campionatore per LIRC e WinLIRC  (linux e windows)

http://it.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=2861419    Diodo IR ricevente su RS-compnents

Esportazione appunti (Jotter) da cellulari Symbian UIQ 2.x (p800, p900, Motorola a1000)

Posted in Motorola a1000, Programmazione, Symbian, Symbian UIQ by jumpjack on 21 febbraio 2008

I telefoni UIQ 2.x usano per gli appunti un formato particolare, probabilmente proprieario, binario,
incompatibile con qualunque altra applicazione. Su alcuni modelli è FORSE possibile esportali tramite
SyncML, ma in ogni caso non sul mio Motorola a1000.

Questo è uno studio di reverse engineering sul formato del jotter, che dovrebbe portare, con l’aiuto di chi legge,
a scrivere un programma per PC in grado di esportare le note del Jotter.

Gli appunti sono organizzati su due file:

c:\system\apps\jotter\jotter.ini  File delle categorie

c:\documents\jotter\jotter  File dei dati

Il file jotter.ini sembra contenere il percorso c:\documents\jotter\jotter tante volte quante sono le
categorie esistenti, incluse quelle predefinite Generale e Personale.

E’ inoltre presente l’elenco delle categorie; ogni entry è formato da:

un  byte che indica la lunghezza del testo MOLTIPLICATA PER 4 (???)

il testo

4 byte che rappresentano l’UID della categoria; il terzo di questi byte vale 0x10 se la categoria è
“di sistema” (Generale, Personale, e forse un’altra (???)  ).

La categoria “Tutto” ha l’UID speciale ff ff 00 00

Categoria “Personale”: 01 10 00 00

Categoria “Generale”: 02 10 00 00

Sembra che, A VOLTE (???), aggiungendo una nuova categoria, questo elenco non vnga aggiornato, ma quello nuovo viene accodato a quello vecchio.

Le categorie sono elencate in ordine alfabetico.

E’ POSSIBILE che cambiando i percorsi associati alle categorie si possa usare un file Jotter
diverso per ogni categoria (???). Forse bisogna prima creare a mano le cartelle (???).

Il file Jotter contiene i dati degli appunti. Ogni entry è formato da 6 campi (elencati all’inizio del file):

Create_date (8), Update_date (8), Flags (8) , UID (4) , Sketch (6), Text_Jot (xxx)

Le date sono in formato symbian standard (vedi articolo apposito).

I flag sono sempre tutti a 00 00 00 sul mio A1000.

L’UID è ovviamente quello della categoria associata.

“Sketch” è presente solo se c’e’ un disegno associato alla nota

Text_jot è formato da 2 byte:

– se il primo vale 0x00, il secondo indica IL DOPPIO della lunghezza della stringa dell’appunto.

– se il secondo vale 0x40, il primo indica la lunghezza ESATTA della stringa

– se il secondo vale 0x4Y e il primo 0xQR, con Y=qualunque , allora la lunghezza della stringa è data da 0x0YQR

Probabilmente questo schema è descrivibile in un modo piu’ sensato, che al momento non mi viene in mente…

PROBLEMA: non tutti gli appunti rispettano questo schema: alcuni sono semplicemente stringhe
precedute dalla loro lunghezza!

Questo pero’ puo’ dipendere che il Jotter sul mio a1000 è stato “ereditato” dal SonyEricsson p800
che avevo prima, per cui forse c’e’ stato un miscuglio di formati.

PROBLEMA2: bisogna scoprire se esiste una tabella di indirizzi che punta ai vari entry, per individuare
anche quelli “speciali” senza intestaiozne.

Questa prima bozza di programma è in grado di estrarre ALCUNI degli appunti (solo se successivi
al 2003), individuandoli tramite le loro date:

http://www.planetmobile.it/jumpjack/ReadJotter.zip

Symbian messages format (before 9.x version)

Posted in Symbian, Symbian UIQ by jumpjack on 2 febbraio 2008

Some notes about binary format of SMS files on Symbian UIQ (partially applicable to Symbian series60).

SEARCHSTRING = chr$(37)+chr$(58)+chr$(0)+chr$(16) ‘ SEQUENCE “0x25 0x3A 0x00 0x10”
RECEIVEDFLAG_MARKER = chr$(32)+chr$(41)+chr$(52)+chr$(24) ‘ SEQUENCE 0x20 0x29 0x34 0x18;
’10 bytes after sequence beginning there is the  SENT/RECEIVED flag (0x00=rec, 0x01=sent)

‘ BINARY SEQUENCE “0x25 0x3A 0x00 0x10” IS JUST BEFORE MESSAGE BODY BEGINING.
‘ IF TWO BYTES AFTER THE “10” THERE IS A “02”, THE MESSAGE IS FROM A SPECIAL
‘ NUMBER AND ITS BODY STARTS AT BYTE AFTER THE “02”; ELSE BODY STARTS
‘ EXACTLY TWO BYTES AFTER “10”.

‘ IT IS AN SMS ONLY IF “SEARCHSTRING” IS PRESENT (INIZIO<>0), (both s60 and UIQ)
‘ BUTNOT AT OFFSET 0x05 (I.E. UID=SEARCHSTRING).

“0x34 0x18 0x00” (BODY END) (both s60 and UIQ)

‘ DETERMINING IF SMS OR NOT:
inizio = instr(SMSMemo,SEARCHSTRING)+ (len(SEARCHSTRING)+1)
if inizio <> 5 and mid$(SMSMemo,22,2) <> chr$(162)+chr$(4) then ‘ IF “A2 04” THEN… (???? not a message??)
if asc(mid$(SMSMemo,inizio))<32 then
inizio = inizio + 1 ‘ ???
end if

‘ GETTING BODY:
FineTesto = instr(inizio,SMSMemo,chr$(52)+chr$(24)+chr$(0))-3 ‘ LOOK FOR “34 18 00” (BODY END) (both s60 and UIQ)
BASE = FineTesto
InizioTesto = inizio
LunghezzaTesto = FineTesto-inizio

‘ DETERMINING IF SENT OR RECEIVED:
if asc(mid$(SMSMemo,instr(SMSMemo,RECEIVEDFLAG_MARKER)+10,1)) = 0 then  [RECEIVED MESSAGE]

‘ **** RECEIVED MESSAGE ***

‘ FINDING SENDER NUMBER;
‘ NOTE: sender NAME is not available unless looking for it into local phonebook.
SenderBeginning = BASE + SENDER_OFFSET
SenderEnd = instr(SenderBeginning,SMSMemo,chr$(57)+chr$(0))
if SenderEnd = 0 then ‘ IF SPECIAL NUMBER…
if debug<>0 then LogFile.WriteLine( “SPECIAL NUMBER?!?”)
SenderEnd = instr(SenderBeginning,SMSMemo,chr$(0)+chr$(0))
end if
SenderEnd = SenderBeginning + asc(mid$(SMSMemo,SenderBeginning-1,1))/4

‘ EXTRACTING TIMESTAMP
TimestampBeginning = SenderBeginning – TIMESTAMP_RECEIVED_OFFSET

‘ PROCESSING TIMESTAMP:
microdate(hexstring$(mid$(SMSMemo,TimestampBeginning,8)))
‘ 8 bytes long; counting microseconds since year A.D. 0 (see Microdate() functuin below)

‘***** SENT MESSAGE *****

‘EXTRACTING TIMESTAMP:
TimestampBeginning = BASE + TIMESTAMP_SENT_OFFSET

‘ EXTRACTING RECIPIENT
RecipientBeginning = BASE + RECIPIENT_OFFSET
RecipientEnd = RecipientBeginning + asc(mid$(SMSMemo,RecipientBeginning-1,1))/4-1
RecipientName = mid$(SMSMemo,RecipientEnd+2,LunghezzaNome)

function microdate(s as string) as string
DefInt y,m,d,intdays,intmin,inthours,intseconds
DefLng dd,lngdays
DefDbl dbldays,decimals,hours,minutes,seconds
dim debug as string

debug = s
dbldays = hex2dec(s)/86400000000-12
lngdays = int(dbldays)
dd = datefromserial(lngdays,y,m,d)
if y < 1997 then
microdate=”[ERROR]”
‘EXIT FUNCTION
end if
y=y-1 ‘ TIMESERIAL STARTS COUNTING FROM AD 1, SYMBIAN STARTS FROM AD 0.
decimals = dbldays-lngdays
hours = decimals*86400/3600
minutes = (hours – int(hours))*60
seconds = (minutes-int(minutes))*60
inthours = int(hours)
intmin= int(minutes)
intseconds = int(seconds)
microdate = lead0$(y) & “/” & lead0$(m) & “/” & lead0$(d) & ” ” & lead0$(inthours) & “:” & lead0$(intmin) & “:” &lead0$(intseconds)
end function

Scrivere midlet java per accedere all’AGPS del Motorola a1000

Posted in GPS, Java, Motorola a1000, Symbian, Symbian UIQ by jumpjack on 13 gennaio 2008

– scaricare SDK per A925, che per errore contiene le librerie necessarie per compilare programmi che utilizzino le Location
API; l’indirizzo è questo, ma bisogna essere registrati (gratuitamente) su Motocoder.com:
https://developer.motorola.com/docstools/sdks/archive/a925/
il file che serve è C:\Symbian\A925SDK\epoc32\tools\j2me\j2me-debug.zip

– mettere il suddetto  file nella cartella C:\Programmi\programmazione\WTK22\lib (cioè la cartella delle librerie del
Wireless ToolKit v. 2.2; per altre versioni dovrebbe essere analogo)

– dalla cartella C:\Programmi\programmazione\WTK22\lib togliere il file midpapi20.jar e metterlo in un posto sicuro

– rinominare \j2me-debug.zip in midpapi20.jar

– adesso dovrebbe essere possibile compilare sorgenti java che accedono al package com.motorola.location; un esempio
è nella documentazione dell’E1000 , ed è riportato anche in questo forum Bisogna pero’ correggere il sorgente, sostituendo LOCATION_UNAVAILABLE con ERR_UNAVAILABLE alla riga 11.

– purtroppo, come mostra il file .JAD della midlet Locator  di www.geomaia.co.uk (sito morto), per far funzionare tale
midlet sono necessarie 2 cose:

– nel file JAD, nella sezione MIDlet-Permissions: , ci deve essere scritto com.symbian.midp.io.protocol.location   (e questo sarebbe facile)

– però, nel file JAD devono esserci anche, nelle sezioni MIDlet-Certificate-1-1: e MIDlet-Jar-RSA-SHA1: , le chiavi segrete vendute da Motorola/H2G agli sviluppatori! Quindi, ciccia, non si puo’ fare!
…a meno che non sia possibile smanettare opportunamente il firmware dell’a1000, che contiene un file che descrive le
limitazioni di accesso alle librerie java. Questo file fa si’ che, se tentate di installare una midlet che usa le location API
ma non ha la “chiave”, il Sistema vi dica che il server java non lo permette; se usate le chiavi di Locator…. niente da fare,
perche’ sono scadute nel 2006.

Il file del firmware che credo si occupi di stabilire i diritti di accesso dovrebbe essere
Z:\SYSTEM\data\midp2\security\policy\jtwi_r1.xpf . Chi è in grado di modificare il firmware dovrebbe
essere anche in grado di fare qualche esperimento.

In alternativa, sembra che esista un programma MOTOMU che dà i permessi alle midlet, ma non ho capito se
modifica il firmware tramite FLEX o se fa altro…

Il forum originale in cui l’utente TheNext1 ha pubblicato per la prima volta Motomu (è pure un utente italiano!) è questo: http://www.3g.co.uk/3GForum/showthread.php?t=28619 , ma naturalmente, essendo il thread vecchio di BEN due anni, i link per scaricare motomu non funzionano piu’, bisognerà cercarlo in giro…

Vista la difficile reperibilità di Motomu e la difficoltà nello scaricare l’SDK dell’a925, che occupa diverse decine di MB e richiede registrazione, ecco il file j2medebug.zip, e il file AGPS.ZIP che raccoglie, oltre a Motomu, vari programmi utili e che è stato “assemblato” dallo stesso autore di Motomu.

Antifurto satellitare con telefoni Symbian

Posted in GPS, Symbian by jumpjack on 27 dicembre 2007

— Post in lavorazione —

Link utili:

Modulo Pys60 per Location Api (s60 2nd e 3rd)

Sorgente esempio per LocationRequestor (TEST.PY nello zip: cerca GPS interno, se non lo trova cerca GPS bluetooth)

Symbian SIS Developer Certficate (Signed .SIS) 

Thread su forum nokia sul modulo pys60 LocatinRequestor

Thread su altro forum

Sorgente completo Python per leggere coordinate da GPS bluetoth esterno (ottimo, formatta anche le coordinate)

Forum nokioteca

Sorgente di base per accesso a GPS interno (NMEA location viewer)

Sorgenti PythonGPS vari  (NMEA Info)

Bozza di sorgente python che:
-riceve un messaggio
-legge le coordinate da GPS bluetooth
-invia un messaggio

(L’indentatura si è persa, vedi forum)

import inbox
import e32
import socket
import appuifw
import messagingdef read_sms(id):
e32.ao_sleep(0.1)
i=inbox.Inbox()
sms_text=i.content(id)
appuifw.note(u”Messaggio da elaborare: ” + sms_text, “info”)
# esegue procedure diverse a seconda del messaggio ricevuto.
# Ad esempio, legge coordinate da GPS:
sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)
address,service=socket.bt_discover() ‘ cerca ricevitore.
target=(address,service.values()[0]) ‘ si collega
sock.connect(target)’ al ricevitore.
to_gps=sock.makefile(“r”,0) ‘ prepara lettura coordinate.
msg=to_gps.readline() ‘ legge riga.
messaging.sms_send(“[NUMERO], msg) ‘ invia SMS contenente coordinate.’ Collega ricezione messaggi ad esecuzione procedura:
i=inbox.Inbox()
i.bind(read_sms)