SMS con Gnokii + Huaweii

Estraído de Geniutrix’s blog

El trabajo no me deja tiempo libre para nada….  pero aquí vengo con una buena publicación (por lo menos eso me parece a mí xD). En el trabajo tengo la necesidad de enviar mensajes de texto desde un computador. Esto pues monitoreamos una serie de equipos y necesito saber cuando algo falla y no estoy en la oficina. Para ello, tengo nagios corriendo y me envía alertas al correo, pero ahora puedo enviarme alertas como SMS a mi celular…pues no puedo estar las 24 horas revisando mi bandeja de entrada xD  ….  eso es de locos.

En fin, la solución a mi problema la obtuve con Gnokii y un módem huawei modelo E176, aunque según leí, lo que menciono a continuación funciona con cualquier modelo, pero yo no probé con ningún otro.

Instalación de gnokii

geniutrixone@debian-server:~$ aptitude install gnokii gnokii-client

Ahora conectamos el módem al usb y verificamos la ruta en que fue reconocido por el sistema, en mi caso fue /dev/ttyUSB0. Entonces mi archivo de configuración (.gnokiirc) queda de la siguiente manera:

[global]
port = /dev/ttyUSB0 # puerto en el que se encuentra el huawei
model = AT
initlength = default
connection = serial
use_locking = no
serial_baudrate = 19200
serial_write_usleep = 1
smsc_timeout = 10
[xgnokii]
allow_breakage = 0
[gnokiid]
bindir = /usr/sbin/
[connect_script]
[disconnect_script]
[logging]
debug = off # cambia por on si quieres ver en detalle lo que sucede al enviar o recibir un SMS
rlpdebug = off
xdebug = off

Cabe destacar que el archivo .gnokiirc se guarda en el home del usuario con el que vas a utilizar gnokii. También lo puedes guardar en /root, con lo cual tendrás que usar permisos de root para ejecutar la aplicación (sudo en el caso de ubuntu).

Ahora, para enviar los SMS, lo que hice fue guardar las instrucciones en un script, pues se me olvidan a veces algunas instrucciones; mi script lo llamé sendsms:

#!/bin/bash
usage (){
echo “usage :: ./sendsms <número telefonico> <mensaje>”
}
# si no se pasan los parámetros requeridos muestra el mensaje de la funcion usage()
if [ -z $1 ] || [ -z $2 ]; then
usage
exit 1
else

# Verifico si el huawei esta bloqueado con código PIN, si es así lo desbloqueo
if gnokii –getsecuritycodestatus | grep PIN; then
gnokii –entersecuritycode PIN
fi

# ejecuto la instrucción para enviar el SMS
echo $2 | gnokii –sendsms $1 -r
fi

A continuación mi script para leer los SMS con gnokii (script de nombre getsms):

#!/bin/bash
# Verifico si el huawei esta bloqueado con código PIN, si es así lo desbloqueo
if gnokii –getsecuritycodestatus | grep PIN
then gnokii –entersecuritycode PIN
fi
gnokii –showsmsfolderstatus
# Obtengo los mensajes y los guardo en el directorio getsms_file, luego de eso se borran de la SIM del huawei
gnokii –getsms SM 0 end -a getsms_file -d

Ahora les doy permisos de ejecución a ambos scripts:

geniutrixone@debian-server:~$ chmod +x sendsms getsms

Para enviar mensajes:

./sendsms 569xxxxxxxx “mensaje a enviar”

56 es el código de chile, debes colocar el del país correspondiente; 9 es para los celulares de chile; a continuación el número del teléfono destino (en chile son 8 números) [soy de chile…  por si no se dieron cuenta jajajaja], finalmente el mensak¿je va entre comillas simples o dobles….

para leer los SMS recibidos:

./getsms

Verás en la consola bastante información, entre la cual se encuentran los SMS leídos, aunque también se guardan esos SMS en el archivo getsms_file.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: