Tempo fa su gnokii-users qualcuno chiese se fosse possibile accendere un telefono con dei comandi tramite FBUS.
La domanda è piuttosto curiosa (inviare un comando ad un telefono spento...) e anche risposta che io gli detti: è possibile farlo :-)
È possibile solo se il telefono è apparentemente spento (perché se fosse veramente spento non potrebbe accettare i comandi inviati... avrebbe la stessa reazione di un soprammobile!) e questo succede quando è collegato al caricabatterie. Basta pensarci un attimo ed è evidente che durante la carica non si accende un semplice LED, ma appaiono delle scritte e dei disegni che possono essere gestiti solo dal software (o firmware) del telefono, non certo dal caricabatterie.
Grazie agli ingegneri della Nokia e ai programmatori di gnokii, libgnokii aveva già tutto quello che serve per accendere (e spengere) il telefono a piacimento, e mi è stato sufficiente scrivere un piccolo programma che simulasse la pressione del tasto "power" per qualche secondo, da usare così:
press_key 2 p
dove "2" indica la durata della pressione in secondi e "p" indica il tasto "Power".
L'accensione funziona solo se il telefono è collegato da una parte a un caricabatterie e dall'altra a un computer tramite un cavo seriale (la comunicazione via Bluetooth e quella via infrarossi non funzionano quando il telefono è spento, quella USB potrebbe funzionare, probabilmente dipende dal tipo di cavo, ma non ho un telefono adatto per provarla), mentre lo spengimento funziona sempre.
Il sorgente del programmino che ho provato solo con Nokia 3210, 3310 e 3330 e per compilare il quale è necessario avere installato libgnokii e i suoi header, si trova qui:
http://cvs.savannah.nongnu.org/viewcvs/gnokii-extras/snippets/other/press_key.c?root=gnokii
e il significato dei tasti qui:
http://wiki.gnokii.org/index.php/Keysequence
Comments
Molto utile! L'ho modificato
Molto utile!
L'ho modificato per poter usare il programma con più profili telefono, se vuoi te la mando.
Funziona con il mio nokia 5110!
Saluti!
Atla
Interessante, se me lo mandi
Interessante, se me lo mandi lo metto scaricabile qui dalla pagina (dammi anche un tuo link se vuoi).
Per usare più profili c'è anche il vecchio trucco di cambiare la variabile
$HOMEper un singolo comando (se la cambi per tutta la shell, poi diverse cose smettono di funzionare).Ad esempio creo alcune directory
/home/daniele/config1//home/daniele/config2//home/daniele/config3/e in ognuna metto un.gnokiirccon una diversa configurazione in[global]e poi eseguo gnokii o l'altro programma con:HOME=/home/daniele/config1 gnokii --identifye così via (cioè non gli passo il percorso al file, ma alla directory che lo contiene); chiaramente con gnokii è più semplice usare l'opzione
--configche accetta il nome del file completo di percorso.