ngrmrtn
Usuario (Uruguay)

hice un script para mandar sms desde la consola via bluethoo; usa gammu 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 $ gammu sendsms text EL NUMERO DEL DESTINATARIO 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 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 ss EL NOMBRE DEL DESTINATARIO damos enter, imediatamente nos pide que escribimos el mensaje, de nuevo enter y listo, el programa envia el sms. 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 ss NOMBRE redactar el mensaje y enviar 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.