[python] usando gammu para enviar SMS

Continuando con el artículo “Enviando SMS usando bluetooth, un celular GSM y python”, voy a mostrar el uso de un toolkit bastante interesante para hacer más cosas con nuestro celular.

Gammu/gWammu es un proyecto que se ha fijado como meta manejar toda la información  de tu celular, cuando este está conectado a tu PC, sea via bluetooth o vía modem (USB, rs-232, etc).

Instalación:

En Debian y derivados es de lo más fácil:

aptitude install gammu gammu-smsd python-gammu

El primero es la aplicación GTK+ (fork de gnokii) para conectar celulares (no solo nokia como en gnokii) y administrar datos, contactos, etc.

La “phone database” es un compendio de todos los teléfonos donde ha sido probado gammu (si logras probar en algún otro, agrégalo como contribución.

Conectándose con Python

Para conectarnos a el teléfono, tenemos primero que configurarlo:

Para ello, creamos un archivo (por defecto, .gammurc  en la raíz del usuario):

[gammu]
port = 00:25:47:BC:8B:7F
connection = blueat

Pueden instalar wammu, y aprovechan el asistente de conexión a teléfonos, para que este descubra el tipo más válido de conexión para el suyo.

En mi caso, ha servido at115200 (USB) Para mi Motorola Rokr E8, para Nokia 5800 XpressMusic, aún no soporta comunicación para SMS.

Luego de conectados al teléfono (por USB, bluetooth), ejecutamos el script:

#!/usr/bin/env python
# Ejemplo de como enviar SMS usando gammu y python

import gammu
import sys

# crea un objeto stateMachine, para hablar con el telefono
sm = gammu.StateMachine()

# Leer la configuracion desde (~/.gammurc)
sm.ReadConfig()

# Iniciamos la conexión con el telefono
sm.Init()

# Preparamos el paquete de mensaje SMS
# SMSC es un numero que se puede obtener interrogando el telefono
message = {
 'Text': 'test SMS',
 'SMSC': {'Location': +584264568828},
 'Number': '+584264568828',
}

# Enviar el mensaje
sm.SendSMS(message)

Usando wammu

Para los que no deseen conectarse programáticamente, sino simplemente deseen conectarse a su teléfono, respaldar contactos o agenda, sms, enviar y recibir sms y demás, pueden usar la interfaz gráfica de gammu, llamada wammu; para instalarla:

aptitude install wammu

Con wammu (y dependiendo de marca, modelo, serie del sistema operativo, etc) podrán hacer “más o menos cosas”, cada vez están agregando más dispositivos a la “phone database”, en mi caso, el Nokia 5800 XpressMusic aún no dialoga muy bien con wammu (pero puedes aún enviar SMS usando py-bluez).

Acerca de phenobarbital

http://about.me/phenobarbital

Publicado el 10 mayo 2010 en Cultura Libre, La nota del día, Linux, PlanetaLinux, Programacion, Python, Software Libre, trucos de la abuela, Weyu. Añade a favoritos el enlace permanente. 10 comentarios.

  1. Yo uso por usb gsmsendsms😀

  2. hola, cómo hago para detectar la dirección mac de mi celular? lo conecto vía cable usb y como puerto com. Gracias

  3. phenobarbital

    Hola Jhony; Si lo conectas via USB para qué necesitas la MAC?, solos los dispositivos ndis (Network Device) tienen MAC; léase, la conexión bluetooth, la wifi (el que tenga) y algunos montan también una tarjeta de red NDIS …
    No necesitas la MAC si te conectas vía USB, ya que la conexión se realizará via modem.

    Epale Alberkman, no habia probado ese proyecto … gracias! …

  4. hola, me sale err.invalidalocation .. destino inválido.. significa q el número telefónico a donde enviaré el mensaje no es correcto? le puse sin el +, luego le puse sin el + ni el prefijo pero sigue botando ese error… y ahora?

  5. Excelente tutorial, por otra parte me interesa interactuar con un modem para mantener una comunicación mediante USSD, tienes idea de como Gammu puede gestionar este tipo de comunicación amigo?

  6. SI quiero crear el archivo .gammurc desde python me da error no reconoce el dispositivo como lo soluciono

  7. conoces algún teléfono que funcione perfecto con gammu? básicamente que pueda recibir y enviar, hice pruebas con un motorola V3 pero no me recibe😦

  8. Que tal jesus, quería saber si has probado gammu con algún teléfono, que te permita recibir y enviar mensaje, quisiera saber si existe algún modelo en especifico que funcione para probarlo con el aplicativo Kalkun! Gracias. Saludos!

  9. Jhony: Pon esto en .gammurc

    [gammu]
    port=/dev/ttyACMx (x = número indica tu módem)
    connection=at

  10. Uso Gammu 1.32 en windows 7. Lo instale como servicio. Tengo una base de datos en MySql y uso un celular Nokia k310 conectado mediante cable usb.
    Sabes porque el domonio de gammu de momentos deja de revisar el telefono para traer los sms entrantes a la base de datos ?

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: