# aptitude install gammu gammu-doc gammu-smsd libgammu7 libgsmsd7comando para identificar el dispositivo
# gammu -c /etc/gammu-smsdrc --identifyrespuesta:
Dispositivo : /dev/ttyUSB0
Fabricante : Huawei
Modelo : unknown (E173)
Firmware : 11.126.85.00.197
IMEI : 352214041427007
IMSI SIM : 734048700255917
NOTA: para las pruebas estoy utilizando un mdoem usb Huawei E173 con un chip de telefono movistar, en la pagina oficial de gammu (http://es.wammu.eu/) puedes ubicar los telefonos y modems soportados ademas del tipo de conexion, para la prueba se utilizo connection = at19200 verificar los puertos del dispositivo que reconoce la pc
# ls -l /dev/tty*resultado:
crw-rw---- 1 root dialout 188, 0 2013-03-25 14:22 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 2013-03-25 14:22 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 2013-03-25 14:23 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 2013-03-25 14:23 /dev/ttyUSB3
crw-rw---- 1 root dialout 188, 4 2013-03-25 14:23 /dev/ttyUSB4
crw-rw---- 1 root dialout 188, 5 2013-03-25 14:23 /dev/ttyUSB5
Algunos casos solo reconoce ttyUSB0 al ttyUSB3
El archivo de configuracion por modem conectado, si existen multiples modem es necesario crear un archivo por cada modem. Adicional es necesario identificar por cual puerto salen y entran los sms para el caso de la prueba donde se reconocen 6 puertos se utiliza port = /dev/ttyUSB0 si reconoce 4 puertos el puerto de salida es otro, solo queda probar.
# vim /etc/gammu-smsdrc
[gammu] port = /dev/ttyUSB0 model = logformat = textalldate connection = at19200 synchronizetime = yes use_locking = gammuloc = [smsd] #Para el demonio SMSD logfile = /home/usuario/smsdlog debuglevel = 1 commtimeout = 0 sendtimeout = 10 receivefrequency = 60 phoneid = modem1 #Para la Base de Datos service = sql driver = native_pgsql host = 192.168.1.3 pin = 1234 user = u_test password = pass_server database = sms4guardar y salir :wq el parametro phoneid = modem1 cambia por cada dispositivo conectado, asi identificas cada modem; al igual que puedes crear diferentes archivos para los logs de cada dispositivo para probar el modem conectado puedes utilizar el comando:
# echo "prueba" | gammu -c /etc/gammu-smsdrc --sendsms TEXT 04141111111 -> aqui el nuemero al que envias el smsComo se observa en el archivo de configuracion existe una BD asociada al proceso database = sms4, es donde se registran los mensajes entrantes y salientes, para crear esta bd utiliza el archivo .sql propio para la instalacion de gammu La estructura de la bd para gammu se encuentra en:
/usr/share/doc/gammu/examples/sql/pgsql.sql
Solo queda crear la bd desde el archivo pgsql.sql
# su - postgres $ psql postgres=# create database sms4 with owner u_fmnh; postgres=# \q $ psql sms4 u_fmnh -h localhost < /usr/share/doc/gammu/examples/sql/pgsql.sqlpara ejecutar el envio de sms automatico solo hay q levantar el proceso
# gammu-smsd -c /etc/gammu-smsdrcSi existen mas modems conectados y configurados el parametro -c recibe la ruta de cada configuracion Si deseas probar si todo funciona inserta en la bd creada en la tabla outbox query format sms flash
INSERT INTO outbox("DestinationNumber", "TextDecoded", "CreatorID", "Class") VALUES ('04141111111', 'prueba', 'Gammu', '0')query format sms normal
INSERT INTO outbox("DestinationNumber", "TextDecoded", "CreatorID", "Class") VALUES ('04141111111', 'prueba', 'Gammu', '-1')Si tienes multiples dispositivos conectados y quieres enviar sms por cada uno de ellos debes señalar en el insert a cual modem envias utilizando el parametro de configuracion phoneid en los campos SenderID CreatorID
INSERT INTO outbox ("DestinationNumber", "TextDecoded", "SenderID", "CreatorID", "Coding","Class") VALUES ('04141111111','prueba modem1','modem1','modem1',''Default_No_Compression'',0)' INSERT INTO outbox ("DestinationNumber", "TextDecoded", "SenderID", "CreatorID", "Coding","Class") VALUES ('04141111111','prueba modem1','modem2','modem2',''Default_No_Compression'',0)'...y listo!!
Solo queda departe de tu codigo controlar la carga por cada modem, debe existir una mejor forma de balancear la carga del envio de sms, pero aun no lo se.. adicional, reiniciar el servicio si falla...
comenten al respecto.. gracias!
Hermano, buena noche... tengo el siguiente problema y me gustaría saber si sabe cual sería la causa y su posible solución: El problema es que el dispositivo después de tener horas conectado me deja de recibir y enviar mensajes, al parecer pierde conexión, cual sería la causa ?
ResponderEliminarDe antemano Gracias!!
Saludos! efectivamente eso ocurre! aun no he podido detectar el problema, la solución que he podido conseguir para eso es generar un script que detenga el proceso y lo inicie nuevamente. Si consigues alguna otra solución comentala por aca. Gracias!
EliminarYo instale Gammu en Windows 7 y tengo el mismo problema. De momentos gammu captura y envia los sms, pero luego deja de hacerlo.
ResponderEliminarNo se cual sera la solucion.
Ojala hayan encontrado alguna solucion
hola,
ResponderEliminaralguien sabe el procedimiento para poder dejarlo como servicio,
actualmente tengo 2 modems conectados y tengo que hacer lo siguiente para que me envie por los dos
gammu-smsd -c /etc/gammu-smsdrc
gammu-smsd -c /etc/gammu-smsdrd
quisiera saber si alguien ha podido dejar mas de un modem conectado pero como demoni, es decir que se pueda iniciar/reiniciar/detener
por ejemplo
service smsd start
service smsd restart
service smsd stop
gracias.
sudo gammu-smsd --config /etc/gammu-smsdrc --pid /var/run/gammu-smsd.pid --daemon
EliminarAsi queda como demonio, inicia solito, incluso cuando reinicias el equipo
Saludos! efectivamente seria excelente poder dejarlo como un servicio.. pero no aun no he dado con eso, en realidad no he podido dedicarle mas tiempo.. si consigues la forma puedes dejar el comentario para solucionarlo! Gracias por el comentario.
ResponderEliminarok, estoy investigando, cualquier cosa comento aca =) si alguien mas sabe como hacerlo que comente...
ResponderEliminarsolo para saber, para iniciar el demonio es por gammu-smsd -c /etc/gammu-smsdrc
para detenerlo como lo hago?? y para reiniciarlo?? alguien sabe?
yo lo que hago para detenerlo es matando el proceso con un kill y vuelvo a ejecutarlo.. seguro que hay una mejor manera...
Eliminary la confirmacion de los mensaje la recibes en el campo DeliveryDateTime solamente en la base o lo puedes identificar de otra forma, ya que envie un mensaje a un movil apagado e igual me lo confirmo.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarexcelente blog, lo recomiendo
ResponderEliminarBuenas tardes por favor amigos alguien me puede horientar para isntalar gammu en mi equipo ya que debo utilizarlo como proyecto de grado, y es para este mes por favor se lo pido y disculpe.
ResponderEliminarYa conecte el modem, pero al correr este comando ls -l /dev/tty* no me aparece ttyUSB0 sino /dev/ttyS0. ¿Es lo mismo?.
ResponderEliminarSi corro lsusb si me aparece y me da esta ruta /dev/bus/usb/001/003
Intente poner la ruta en el archivo de configuración pero esa no me funciona
Buenas como estas Roiman, tengo un evolucion2 CM980 HUAWEI, y no reconoce,poseo ubuntu 14.04, agradezco tu ayuda muchas gracias.
ResponderEliminarHola Amigos. Excelente blog. Bueno yo tengo unos problemas. He probado como demonio y luego de enviar unos 2000 sms le servicio genera errores. Probe usarlo como servicio y use Kalkun, pero peor. El servicio se cuelga cuando va por unos 400 sms. No he podido enviar más de 3000 sms usando el servicio con base de datos. El problema es el modem que pierde la conexion y debo reiniciar el servidor para que vuelva a la vida. Alguien ha tenido estos problemas.????
ResponderEliminarPor cierto Carlos, el Evolution 2 no funciona con gammu porque este telefono es CDMA, gammu trabaja solo con telefonos GSM.
ResponderEliminarSaludos
Hola, yo pude conectar gammu con postgres funcionando con un celular Motorola, el problema que tengo es que cuando envío sms masivos, por ejemplo 2000, envía 10 o 20 sms y marca en la tabla sentitem como que los envió a todos sin error. Alguien sabe porque pasa esto y como puedo solucionarlo?
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarese creo q es el comportamiento que debe tener.. inbox mensajes entrantes, outbox mensajes pendientes por salir, sentitems son los mensajes enviados.. checa esto!
ResponderEliminarhttp://wammu.eu/docs/manual/smsd/tables.html#sentitems
Buenas tengo un problema al poner "gammu -c /etc/gammu-smsdrc --identify" me tira un error : Error opening device. Unknown, busy or no permissions.
ResponderEliminarYa probe con sudo y sin el, alguna solución?
/dev/ttyUSB0 puedes cambiarlo de 0 a 1
EliminarComo envio a varios numero en una sola instruccion
ResponderEliminarHola! probaste insertando en la tabla outbox?
EliminarNadie con la solucion, para cuando se desconecta el modem ????
ResponderEliminarDíganme el tiempo que dura activo, para ponerme a desarrollar algo para este problema y les facilito la información. Saludos amigos.
Hola! podrías generar un proceso y ejecutarlo por CRON verificando que el módem este activo o ejecutar los comandos para verificar los puertos donde están montados los dispositivos.. si consigues / conseguiste la solución comentala! Gracias!
EliminarAmigos, alguien se a dedicado a modificar la base de dato???
ResponderEliminarQuiero eliminar cosas, de la base de dato... Pero me da error, obvio tiene que ser por consultar en el daemon de gammu. Pero quiero saber si alguien se ha dedicado a esto.
Gracias por tan buen aporte me a servido muchisimo
ResponderEliminarDel Bueno
EliminarPor nada.. El blog lo he tenido un poco abandonado de contenido, pero no he tenido mucho tiempo de escribir.. Gracias por los comentarios y la buena vibra..
EliminarDe un tiempo dejo de funcionar lo tenia bien funcionando, he formateado instalado desde cero pero me sigue dando Desconectado
Eliminarme ocurre lo mismo Desconectado
EliminarLo que hago es recibir mensajes desde la bandeja de entrada de Kalkun
Eliminar¿Alguien sabe cómo hacer en Windows 10?
ResponderEliminarcómo hacerlo*
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola como podria ejecutar un ussd en gammu?
ResponderEliminarGracias a este tutorial he podido solventar muchisimos problemas en cuanto a la gestión de gammu para los que tengan problemas con debian 9 en vez de instalar
ResponderEliminargammu gammu-doc gammu-smsd libgammu7 libgsmsd7
haganlo de esta forma gammu gammu-doc gammu-smsd python-gammu python3-gammu
Hola, Excelente tutorial lo he seguido todo, pero hay algo que no he podido resolver, no se si pueden ayudarme, y es el de conectar Modem remotamente, es decir, teniendo 2 servidores, en uno el servidor Gamm, en el otro servidor el MODEM USB, entonces como debería configurar el parametro "port = /dev/ttyUSB1"?.
ResponderEliminarDe ante mano muchisimas gracias.
un saludo