Questo manuale
Versione 0.5
Aggiornato a gnokii 0.6.27 in data 15/03/2009.
Questo documento è ancora in fase di rifinitura, quindi ogni commento è gradito.
Notare che i riferimenti sono quasi esclusivamente a sistemi Linux, ma gnokii funziona anche sui *BSD e su Windows con la differenza principale che i nomi delle porte sono diversi e non tutti i tipi di connessione potrebbero essere disponibile.
Autore: Daniele Forsi dforsi chiocciola gmail punto com
Introduzione
Il progetto gnokii fornisce la libreria libgnokii e alcuni programmi che ne fanno uso:
- gnokii
- xgnokii
- smsd
- gnocky
Installazione
È possibile installare gnokii tramite:
- pacchetti binari già pronti (di solito i programmi si trovano in pacchetti separati rispetto alla libreria, quindi si dovrà installare più di un pacchetto)
- compilazione dei sorgenti
Installare pacchetti binari
È la soluzione più veloce, ma è necessario un pacchetto specifico per il sistema operativo o distribuzione che si sta usando.
Ulteriori informazioni sui pacchetti si possono trovare qui:
Compilare i sorgenti
È la soluzione più lenta perché è necessario un ambiente di sviluppo (compilatore, librerie aggiuntive come spiegato in dettaglio nel file INSTALL, in inglese), ma permette di installare qualunque versione si desideri e di aggiornarla quando si vuole.
Si possono scaricare i sorgenti da un server CVS o sotto forma di archivio. Per ulteriori informazioni consultare la pagina http://gnokii.org/downloads.shtml (in inglese).
Configurazione
Sono tre i parametri più importanti da modificare nel file /etc/gnokiirc
(se si vuole far usare la stessa configurazione a più utenti) o nel file $HOME/.gnokiirc
(se si vuole personalizzare la configurazione per ogni utente del sistema):
- il modello di telefono, che si imposta con il parametro
model
- la porta a cui è collegato, che si imposta con il parametro
port
- il tipo di connessione, che si imposta con il parametro
connection
Il parametro "model"
Si riferisce al driver che gestisce una singola famiglia di telefoni e per i telefoni non Nokia l'unico valore che funziona è model = AT
, mentre per telefoni Nokia recenti quasi certamente il valore più corretto è model = series40
.
Attualmente 6510, series40 e series60 sono gestiti dallo stesso driver che automaticamente è in grado di distinguere i vari telefoni gestiti, dove necessario, come per gli SMS.
Per i Nokia Serie 60 prima e seconda versione è consigliabile installare gnapplet sul telefono e usare model = gnapplet
.
Per i Nokia Serie 60 della terza versione è necessario usare model = AT
se si usa il Bluetooth, mentre se si usa un cavo USB si può impostare model = series60
, in ogni caso si potranno solo inviare SMS e non riceverli e ci sono altre limitazioni perché questi telefoni gestiscono meno comandi degli altri.
Per i telefoni Nokia costruiti approssimativamente prima dell'anno 2000, si può specificare un valore preciso se è conosciuto da gnokii (come model = 3330
), o come ultimo tentativo per i vecchi telefoni è possibile provare i seguenti valori:
2110 3110 6110 6160 7110 AT
Si può usare model = AT
anche con i telefoni Nokia, ma non conviene farlo perché in genere il protocollo Nokia FBUS supporta più comandi; questo è particolarmente vero nei modelli che usano i sistemi operativi Serie 40 e Serie 60 dove il protocollo AT permette di usare il telefono solo come modem per collegarsi a Internet (una cosa che non ha a che fare con gnokii) e per compiti minori, ed eventualmente per inviare SMS, ma non per riceverli o per operare sulla rubrica.
Il parametro "port"
La porta si riferisce al dispositivo usato per il collegamento in uso e dipende dal modello di telefono e da come lo si vuole collegare al computer. È possibile usare con gnokii solo i telefoni che supportano uno o più dei seguenti metodi:
- Bluetooth, esempio
port = aa:bb:cc:dd:ee:ff
- cavo USB, esempio
port = /dev/ttyACM0
- infrarossi, esempio
port = /dev/ircomm0
- cavo seriale RS-232, esempio
port = /dev/ttyS0
- connessione TCP/IP, esempio
port = indirizzo_computer:porta_tcp
In ogni caso è necessario che i permessi di accesso siano impostati opportunamente; quando si usaport = /dev/...
questo in genere viene fatto automaticamente dal sistema tramite udev e se si usa connection = dku2libusb
gnokii fornisce delle regole adatte nel file 45-nokiadku2.rules
da copiare nella directory etc/udev/rules.d/
.
Si tenga presente che spesso il telefono disattiva automaticamente il collegamento con il computer se non è usato per alcuni minuti e se sta funzionando a batteria.
Bluetooth
Gli adattatori Bluetooth tramite USB che seguono lo standard Bluetooth HCI (Host Controller Interface) sono gestiti dal modulo hci_usb
che normalmente è caricato automaticamente (si può usare lsmod
per verificare se è caricato).
In ogni caso è necessario aver impostato computer e telefono per l'associazione (pairing).
È consigliabile usare la connessione nativa di tipo Bluetooth inserendo nel file di configurazione i parametri
model = inserire il modello del telefono connection = bluetooth port = indirizzo bluetooth del telefono
in questo modo si individua univocamente il telefono da usare e funziona sia per Nokia che per altre marche.
In alternativa si può usare l'emulazione seriale, in questo caso il telefono viene individuato quando si crea il device /dev/rfcomm0
con ha il vantaggio che si possono usare telefoni diversi cambiando la corrispondenza a livello di sistema operativo, ma lasciando invariata la configurazione di gnokii (questo sarebbe utile se fosse gestito automaticamente dal sistema operativo).
La configurazione che emula un collegamento seriale con un telefono generico (non Nokia), è la seguente:
port = /dev/rfcomm0 model = AT connection = serial
Cavo USB
I cavi che seguono lo standard CDC ACM (Communication Device Class, Abstract Control Model) sono gestiti dal modulo cdc_acm
che è distribuito insieme al kernel di Linux e normalmente viene caricato in automatico quando si collega il telefono al computer tramite il cavo, ma in alcuni casi la modalità USB deve essere attivata esplicitamente dal menù del telefono.
Per i telefoni Nokia la configurazione consigliata è:
port = 1 model = series40 connection = dku2libusb
Se si collegano contemporaneamente più telefoni è necessario cambiare il parametro port
che indica la posizione fisica a cui i telefoni sono stati collegati (1 è il primo telefono, 2 il secondo e così via) e quindi è un valore che può cambiare si si collegano due telefoni contemporaneamente.
In alternativa si può usare l'emulazione seriale, in questo caso il telefono viene individuato quando si crea il device /dev/ttyACM0
e quindi ha il vantaggio che si possono usare telefoni diversi cambiando la corrispondenza a livello di sistema operativo, ma lasciando invariata la configurazione di gnokii (questo può essere fatto con regole di udev).
La configurazione che emula un collegamento seriale con un telefono generico (non Nokia), è la seguente:
port = /dev/ttyACM0 model = AT connection = serial
Infrarossi
Esistono due tipi di collegamento tramite infrarossi connection = irda
(usato dai telefoni più recenti) e connection = infrared
(usato dai telefoni più vecchi, approssimativamente fino all'anno 2000).
Se l'adattatore per il collegamento tramite infrarossi è supportato dal sistema operativo, il driver relativo viene caricato automaticamente, ma può essere necessario far creare il device /dev/irda0
e abilitare la ricerca dei dispositivi eseguendo il comando irattach irda0 -s
.
In questo caso la configurazione tipo è:
port = /dev/irda0 model = inserire il modello del telefono connection = serial
In alternativa si può usare l'emulazione seriale tramite il modulo ircomm-tty
, impostando connection = serial
come nell'esempio seguente:
port = /dev/ircomm0 model = AT connection = serial
Cavo seriale
È il caso più semplice perché esistono driver per qualunque sistema operativo, ma è supportato solo dai modem GSM e dai telefoni più vecchi. L'unica difficoltà può consistere nell'attribuire all'utente i permessi di lettura e scrittura sul dispositivo.
Esempio di configurazione:
port = /dev/ttyS0 model = 3210 connection = serial
Se si verificano errori di timeout, è necessario aggiungere anche il parametro
sm_retry = 1
Il parametro "connection"
I valori ammessi sono:
serial dau9p dlr3p m2bus irda bluetooth dku5 dku2 dku2libusb pcsc tcp tekram
È disponibile anche
infrared
da usare solo con i vecchi telefoni (come il Nokia 6110 degli anni '90 non il Navigator).
Utilizzo di xgnokii
Lanciare xgnokii
e selezionare i comandi presenti nel menu contestuale che appare facendo clic con il tasto destro del mouse all'interno della finestra principale, oppure selezionare con il tasto sinistro i simboli grafici e le scritte nella parte destra della stessa finestra principale.
La maggior parte delle finestre secondarie ha un menu e una barra con i bottoni.
Un'immagine che mostra alcune finestre di xgnokii è disponibile qui.
Utilizzo di gnokii
Digitare gnokii --help
per l'elenco dei comandi disponibili (si tenga presente che la maggior parte dei telefoni non risponde a tutti i comandi).
Utilizzo di gnocky
Lanciare gnocky
.
Al momento gnocky ha meno funzioni di xgnokii.
Utilizzo di smsd
Smsd è un programma utile per chi vuol inviare e ricevere SMS in modo automatico; l'uso tipico è con un modem GSM collegato ad un server, ma nella cartella del programma ci sono degli esempi di come si possa usare in altri modi.
Digitare smsd --help
per l'elenco dei comandi disponibili.