Ruby: Cellulare Bluetooth e comandi AT
Con la gemma ruby-serialport potete connettervi facilmente al vostro cellulare Bluetooth. Una volta connessi potrete inviare comandi AT per ricavare informazioni generiche del vostro cellulare, elencare i messaggi presenti in memoria od as esempio inviare SMS.
Sul sito di Gabor Kiss troverete un elenco dettagliato di comandi AT per una grande quantità di marche e modelli di telefoni, anche se un buon set di comandi è comune a quasi tutti i telefoni.
Ho fatto delle prove connettendomi ad alcuni cellulari eseguendo alcuni comandi per recuperare i messaggi dal telefono ed inviare sms ed ha funzionato tutto correttamente.
Se volete provare ricordatevi innanzi tutto di attivare il bluetooth sul telefono e connettetevi usando serialport:
1 2 3 4 SMSC = "+393359609600" 5 6 @port = SerialPort.new("/dev/tty.SAMSUNGSGH-D600-SerialP-1", options[:baud] || 38400, options[:bits] || 8, 1, SerialPort::NONE) 7 command("AT") 8 # qui impostate la modalità comandi del telefono in testuale 9 command("AT+CMGF=1") 10 command("AT+CSCA=\"\"") 11 end 12 13 14 @port.write(cmd +"\r").chr 15 wait 16 end 17 18 19 buffer = '' 20 while IO.select([@port], [], [], 0.25) 21 chr = @port.getc.chr; 22 buffer += chr 23 end 24 buffer 25 end 26 27 28 command("AT+CGMM") 29 end 30 end 31 32 p = Phone.new 33 puts p.info 34 35 36 37
SMSC è il numero del centro servizi per l’invio messaggi, se volete inviare messaggi tramite il vostro telefono aggiungete questo codice alla classe Phone:
1 2 command("AT+CMGS=\"\"") 3 command("\r\r") 4 sleep 3 5 wait 6 command("AT") 7 end
Volevo solo ricordarvi che il “/dev/tty.SAMSUNGSGH-D600-SerialP-1″ è la cartella che viene creata quando connettete il vostro telefono al mac.


Ma che meraviglia! Appena ho due minuti mi metto a giocarci. Grazie della segnalazione, ragazzi.
Sempre un piacere…
Ciao Duccio,
potresti darmi qualche delucidazione su come installare la gemma ruby-serialport.
Leggendo qui e la’ mi è capitato di leggere che va compilata( il file del progetto è un .so).
Grazie
Ciao Francesco, hai provato a fare sudo gem install ruby-serialport? sappimi dire ciao ciao
Effettivamente non mi sono spiegato sino in fondo……sto sviluppando su piattaforma Windows XP.
ergo il comando sarebbe gem install < il nome della gemma>….ora provo a cercare la gemma incrociando le dita.
Complimenti per il blog
Ciao duccio,
Mi dispiace tanto disturbare ma vorrei fartu una domanda.
Sono alle prese con ruby-serialport ma ho alcune difficoltà e mi piacerebbe chiederti qualche consiglio.
Premetto che sto operando sotto windows e su ruby forge ho trovato solamente il file messo a disposizione(serialport.so).
Vorrei chiederti qualche dritta per incominciare ad utilizzare quello che a mio avviso sembra un’ ottima libreria.
Grazie come sempre,
Francesco.
Certo se vuoi contattami pure in mail…
giovannelli at extendi dot it