1ero, gammu, para los que no lo conocen "gammu es una herramienta de consola y una bibioteca para trabajar con telefonos moviles de carias marcas. permite usar las caracteristicas especificas de los diferentes modelos, pero las funciones basicas deberian funcionar en la mayoria de ellos. el programa puede funcionar con contactos, mensajes (SMS, EMS, MMS), calendario, listas de tareas, sistema de archivos, radio integrada, camara, etc. Tambien permite su uso en modo demonio para el envio y recepcion de SMS" (copiado mas o menos textual de la descripción de el centro de software de debian) la parte de enviar sms es lo que nos interesa ahora.
para enviar sms con gammu solo hay que configurar el celular, y una vez hecho esto, escribir en la consola
no se puede escribir directamente el nombre del destinatario esperando que gammu lo busque solo en la agenda (al menos yo no pude hacerlo); luego damos enter, esperamos unos 10 segudos (mas o menos) a que gammu aceda al celular, y nos da la opcion de escribir el texto, escribimos y confirmamos con "control D" y listo, gammu envia el sms$ gammu sendsms text EL NUMERO DEL DESTINATARIO
obviamente no es lo mas practico del mundo, si no te sabes los numeros de memoria digamos que es TOTALMENTE inservible
(aclaracion: gammu tambien cuenta con una interfaz grafica, pero para el envio de sms me parece que tambien es poco practica, en mi opinion esta mas destinada a la gestion de archivos. eso si, la recomiendo para configurar el celular ya que cuenta con un "ayudante" para la configuración del celular que lo hace realmente fácil)
lo unico que hice yo fue un pequeño script (muy sencillo) para simplificar bastant el proceso. con mi script solo hace falta escribir
damos enter, imediatamente nos pide que escribimos el mensaje, de nuevo enter y listo, el programa envia el sms.ss EL NOMBRE DEL DESTINATARIO
el programa no busca los nombres en el celular, si no que hay que guardarlos en un archivo, el archivo funciona como "agenda" para que luego el script busque en base al nombre que le dimos el respectivo numero; para agregar un contacto a esta "agenda" solo escribimos
ss add NOMBRE NUMERO
y listo, ya solo hay que escribir
redactar el mensaje y enviarss NOMBRE
aquí les dejo el script
#!/bin/bash
#: title : ss (send sms)
#: data : 2011-05-13
#: author : "mrtnfs"
#: version : 1.0
#: description : envia sms mediante gammu usando nombres en vez de numeros (los nombres hay que guardarlos por separado en bin/numeros_ss)
#: options : añadir numero al archivo numeros_ss; "add"
#: leer sms en memoria sim (solo los primeros 30 sms); "read"
#: borrar los sms de la memoria sim; "clean"
#: mostrar lista de numerso en numeros_ss; "list"
#: mostrar las opciones y sintaxis
# si la 1era palabra no es "add", "read" o "clean" buscar la palabra en numeros_ss y enviar sms si existe
if [ $1 != 'add' ] && [ $1 != 'read' ] && [ $1 != 'clean' ] && [ $1 != 'list' ] && [ $1 != 'options' ] ## && [ $1 != 'borrar' ]
then
for a in `sed -n /$1/p bin/numeros_ss`
do
printf "%s " 'mensaje:'
read TEXTO
NUMERO=`echo $a | cut -d ',' -f2`
printf "%sn" 'enviando espere..'
gammu sendsms text $NUMERO -len 1000 -text "`echo $TEXTO`"
printf "%sn" 'mensaje enviado'
done
# borrar numero de numeros_ss -- no funciona
## elif [ $1 = 'borrar' ]
## then
## echo `sed -n /^$2/d bin/numeros_ss`
## printf "%s %snn" $2 'eliminado, asi esta tu lista ahora:'
## cat bin/numeros_ss
# si la primera palabra es "read" leer sms de sim
elif [ $1 = 'read' ]
then
gammu getallsms 2
# si la primera palabra es "clean" borrar sms de sim
elif [ $1 = 'clean' ]
then
gammu deleteallsms 1
# si la primera palabra es "add" y la 3era es un numero mayor a 1, agregar numero a numero_ss y mostrar la lista de numeros
elif [ $1 = 'add' ] && [ $3 -ge 1 ]
then
echo $2','$3 >> bin/numeros_ss
printf "%s %sn" $2','$3 'agregado, asi esta tu lista ahora:'
cat bin/numeros_ss
printf "n%1.20sn" '----------------------------------'
# si la primera palabra es "list" muestrar lista de numeros en numeros_ss
elif [ $1 = 'list' ]
then
cat bin/numeros_ss
printf "n%1.20sn" '----------------------------------'
# si la primera palabra es igual a "options"
elif [ $1 = "options" ]
then
printf "n%sn%sn%sn%sn%sn%snn" 'enviar ss -----> ss send <nombre>' 'leer smss -----> ss read' 'borrar smss ---> ss clean' 'agregar num ---> ss add <nombre> <numero>' 'num list ------> ss list' 'opciones ------> ss options' ## borrar num ---> 'ss borrar <nombre>'
# si error, y recordar la sitaxis
else
printf "n%snn%s%sn%sn%sn%sn%snn" 'ERROR: o alguno de los parametros no coincide, o falta informacion' 'enviar ss -----> ss send <nombre>' 'leer smss -----> ss read' 'borrar smss ---> ss clean' 'agregar num ---> ss add <nombre> <numero>' 'num list ------> ss list' 'opciones ------> ss options' ## borrar num ---> 'ss borrar <nombre>'
fi
como lo dice la descripción del script, también facilita las acciones de leer los sms que nos han enviado y de limpiar la bandeja de entrada
cuando agreguemos un numero a la agenda, el scrip va a crear el archivo ~/bin/numeros_ss que es donde va a guardar los números, se puede cambiar la carpeta y el nombre del archivo obvio, solo es arreglar unos detalles en el script
para que la consola aceda directamente al scritp debemos configurar PATH, para eso solo escribimos PATH=PATH:"la dirección dond guardamos el script" (yo recomiendo crear una carpeta "bin" en home/usuario, y ahí guardar el archivo con números)
para configurar el cel recomiendo instalar wammu y configurar de ahí, eso nos crea un archivo oculto en nuestra carpeta home que contiene la configuración, es todo lo que necesitamos, después se pude borrar wammu tranquilamente. es lo mas fácil, así lo hago yo
bueno eso es todo, cualquier cosa preguntan, espero le sirva a alguien, a mi me resulta super practico
PD: el script no deb estar muy "bien hecho", es lo primero que hago, sepan comprender.. la cosa es que funciona.

