Yo tengo el mio en funcionamiento y les comento como pueden construir su propia pasarela de envio de mensajes de texto facilmente. Para ello necesitan.
Cable CA-42 (sucesor del DKU5)

Nokia 3220 con SIM y activo para enviar mensajes (con algo de saldo para las pruebas)

Servidor Linux conectado a internet. Yo lo tengo equipado con Java, MySQL, Apache

El programa que uso se llama Gnokii, existen otras alternativas para windows y por supuesto soporte a otros cables y moviles. El modo de conexion tambien puede ser via Bluetooth. pero eso depende del software que uses para gestionar la conexion. El mismo Gnokii tiene interfaz grafica tanto para linux como para Windows y es compatible con muchos moviles y por encima de todo es LIBRE


1. INSTALANDO GNOKII

Gnokii es un software para gestionar el movil desde el PC. Similar a Pc Suite de Nokia
Para instalar Gnokii en nuestro servidor usamos el administrador de paquetes apt con la siguiente linea: apt-get install gnokii Si estamos sobre Ubuntu recuerden anteponer la linea sudo
Para configurar gnokii creen un archivo en el directorio usando su editor de textos de preferencia. Yo uso nano:
nano /etc/.gnokiirc
Agreguen las siguientes lineas:
[global]
model = 6510
port = /dev/ttyUSB0
connection = dlr3p
2. CONECTANDO EL MOVIL
La configuración anterior es para el modelo 3220 pueden acceder a la seccion Tested Phones para conocer la configuracion mas adecuada para su movil/cable. Luego conecten el cable al pc y movil al cable. Para comprobar la conectividad ejecuten: gnokii --identify
IMEI : 762XXXXXXXXXXXX
Manufacturer : Nokia
Model : 3220
Product name : RH-37
Revision : V 05.10
En caso de que no funcione Apaguen y enciendanlo nuevamente. Si los problemos persisten verifiquen que el cable fue reconocido por el sistema operativo. Bajo linux no hay necesidad de instalar drivers. Otro de los inconvenientes puede ser el puerto que seleccionado en el archivo de configuracion. Para conocer exactamente cual puerto es usado por el cable ejecutar el siguiente comando: lsusb El puerto donde muestre conectado el cable de datos lo ingresamos en el archivo de configuracion en la linea port
El software se puede usar para backup de contactos y mensajes de texto, cambiar alguna que otra configuracion del dispositivo. Para probar la funcionalidad del envio de mensajes la sentencia a ejecutar es la siguiente:
echo "Hola mundo" | gnokii --sendsms NUMEROMOVIL
3. ARMANDO LA PASARELA
Hasta este punto no hay ninguna diferencia entre este software y otros como los de Motorola. La pasarela es, como ya lo han averiguado, es por programacion. A continuación les muestro un codigo hecho en java para enviarme un mensaje de texto cada vez que mi servidor pierde conexion con internet.
CODIGO JAVA
// PROGRAMA PARA ENVIAR MENSAJES DE TEXTO
// Daniel Moscarella danielmoscarella@yahoo.com.mx
import java.io.*;
import java.net.*;
public class SmsAlert implements Runnable {
public String Phone;
public int TimeOut;
public Thread SmsModem;
public boolean Notified;
public SmsAlert(){
Phone = "1234897123";
SmsModem = new Thread(this);
TimeOut = 3000;
Notified = false;
}
public void sendSMS(String msg, String phone_number)throws Exception{
if(!Notified){
String[] command = {"smsgateway", msg , phone_number};
final Process process = Runtime.getRuntime().exec(command);
System.out.println("Notificando a: " + phone_number + "\n"


Notified = true;
}
}
public void check(String ipaddress){
try{
InetAddress in = InetAddress.getByName(ipaddress);
if(in.isReachable(TimeOut)){
SmsModem.sleep(TimeOut);
Notified = false;
}else{
this.sendSMS("ALERTA. El servidor " + ipaddress + " no esta en linea.",Phone);
}
}catch(Exception e){e.printStackTrace();}
}
public void run(){
System.out.println("Sistema de Alerta de Servidor. by Daniel Moscarella\n"


while(true){
check("www.google.com"


}
}
public static void main(String args[]){
SmsAlert sistema = new SmsAlert();
sistema.SmsModem.start();
}
}
FIN DEL CODIGO Cuidado con las caritas


El codigo hace un ping a la direccion www.google.com cada 3 segundos para comprobar que el servidor tiene conexion directa a internet se puede usar cualquier otro, incluso una direccion ip, la direccion mas segura seria una de las direcciones ip de los DNS de nuestra proveedor de servicios. En el codigo la comprobacion de la conexion la hago dentro de un ciclo infinito y sobre un hilo para evitar colapsos y permitir que el programa sea escalable a otras funcionalidades.
Otra cosa importante ha destacar es que el programa en java usa un comando llamado smsgateway y dos parametros; el mensaje y el número del telefono. Este comando no existe en la terminal y no está disponible despues de la instalación de gnokii. Para crear el comando creen un archivo de texto con el mismo nombre. Pueden usar otro, pero recuerden reemplazar en el programa.
ejecuten:
nano smsgatway
y escriban:
echo "$1" | gnokii --sendsms $2
La linea es la misma para enviar mensajes desde la terminal. Solo que este recibe dos parametros; el mensaje y el numero del movil del destinatario. Basta otorgarle permisos de ejecucion a todos los usuarios. ejecuten chmod 0777 smsgateway y copienlo a la carpeta /usr/bin/
Para compilar el archivo java ejecuten: javac SmsAlert.java Tal vez necesiten permisos root para compilar codigo java (sudo javac SmsAlert.java). Para ejecutar el programa: java SmsAlert (ojo! sin el .class)
4. USANDO LA IMAGINACION
Para completar el programa pueden usar una base de datos para realizar comprobaciones a otras direcciones ip y a otros moviles. Pueden usar una interfaz php para enviar mensajes de texto desde una página web.
OJO! Por supuesto, existen servicios y otras formas para solucionar problemas que requieran el envio de mensajes, hasta hay scripts en python para usar los servicos de mensajeria gratuita de otros sitios, pero esta páginas cambian constantemente inutilizando la mayoria de los scripts y tampoco se puede enviar a muchos operadores. Esta es una que encontré bastate enriquecedora y queria compartir con los interesados.
Comenten cualquier duda o idea que les pueda surgir en la implementacion de su propia pasarela SMS.
Sean libres de utilizar el codigo y esta informacion.
Daniel Moscarella Z.
FUENTES:
www.gnokii.org
No hay comentarios:
Publicar un comentario