Diciembre 26, 2005

Clasificado bajo: Móvil, PythonPablo Orduña @ 3:08 am

En ratos libres, sigo jugando con Python en el móvil. Y ya tocaba probar la consola de Python del móvil a través de Bluetooth.

O sea, hasta ahora había jugado o bien desde el móvil diréctamente (cuando no tenía el ordenador a mano), o bien desde el ordenador, escribiendo la prueba, mandándola al móvil por bluetooth, y desde ahí ejecutándola. Pero una de las cosas que más me gusta de Python es el hecho de que tenga una consola interactiva, en la que puedas ir escribiendo código y viendo su efecto en ejecución, y por eso también me mola por ejemplo jython cuando tengo que programar en Java, para tareas como probar de manera más intuitiva el resultado de determinadas librerías.

Y el intérprete de Python de Nokia para Symbian, pues tiene una opción de “Bluetooth console”, que lo que hace es establecer una conexión bluetooth con el ordenador y emular una comunicación de puerto serie, de manera que con un programa como minicom puedes tener abierta una consola de Python del móvil en el ordenador.

Para hacerlo, hay documentación en varios sitios, que resumido:

En /etc/bluetooth/rfcomm.conf tengo:

rfcomm0 {
        bind no;
        device 00:13:fd:b8:52:d5;
        channel 1;
        comment "Example Bluetooth device";
}

Y luego, pues ejecuto:

# /etc/init.d/bluez-utils restart
# sdptool add --channel=1 SP
# rfcomm listen /dev/rfcomm0

desde el móvil, ejecuto en python lo de “Bluetooth Console”, y veo en el donde había puesto lo de rfcomm:

Connection from 00:13:FD:B8:52:D5 to /dev/rfcomm0
Press CTRL-C for hangup

Entonces, ya:

$ minicom -m

que previamente habré configurado para que tire de /dev/rfcomm0 haciendo:

$ minicom -m -s

Y me dice que iniciando modem y luego ya:

>>> AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
  File "“, line 1
    AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
        ^
SyntaxError: invalid syntax
>>> print “hola mundo”
hola mundo
>>>

Lo primero no tengo la menor idea de por qué sale, pero paso de buscar :-)

Y eso, todo lo que vas ejecutando lo está ejecutando el móvil, con lo que si haces:

>>> import appuifw
>>> appuifw.note(u'Hola',u'info')

pues te aparece un bonito “Hola” en el móvil. Y el resto, pues sin más, puedes probar la API y librerías que metas.

Y Escape + X para salir.

Una cosilla que igual no mola mucho es que no he visto nada tipo sandbox. Porque cuando estuve en el codecamp, pude comprobar que puedo mandar SMSs o sacar fotos en dos o tres líneas:

>>> #Sacar foto
>>> import camera
>>> f = camera.take_photo()
>>> f.save('C:\prueba.png')
>>> #O bien en una línea
>>> __import__('camera').take_photo().save('C:\prueba.png')

o

>>> #Mandar un SMS
>>> import messaging
>>> messaging.sms_send(u"61235678",u"hola")
>>> #O bien en una línea
>>> __import__('messaging').sms_send(u'612345678',u'hola')

y el script se ejecuta y lo hace sin preguntar ni nada (hombre, ves por ahí el simbolito de que se está enviando un SMS… pero vamos, que no es mucho).

Por último, como curiosidad, Kalgan nos contó el otro día un par de huevos de pascua de Python:

>>> import this

y

>>> from __future__ import braces

que, curiosamente, la implementación de Nokia implementa también el segundo :-D pero no el primero.

Octubre 31, 2005

Clasificado bajo: Software, Móvil, PythonPablo Orduña @ 1:33 am

Willy en su cursillo de bluetooth con Java puso como ejemplo un programilla con el que iba pasando transparencias desde el móvil, para evitar tener que estar delante del ordenador.

Como Willy lo puso para Windows con Java, jugando con Python en el móvil, he probado a programarlo para GNU/Linux, y, aunque será una chapuza total, lo voy a colgar aquí.

Y la verdad es que es interesante el intérprete de Python para móviles. Encontré un documento cojonudo aquí, donde más o menos introduce a los primeros pasitos en Python en móviles desde GNU/Linux, que es justo lo que yo necesito ahora mismo.

Lo que haces es, básicamente, instalar el intérprete de Python de Nokia en el móvil, y, una vez instalado, desde el móvil puedes ejecutar un intérprete, o interpretar un .py, o bien lanzar una consola de Python vía bluetooth, que es algo que todavía no he conseguido. Y la API que ofrece es bastante cañera. Por el momento sólo he dado un par de pasitos pequeñitos pequeñitos con bluetooth y el GUI, pero parece que tiene bastantes cosas, que si para mandar SMSs, información de la batería, imei, audio, que si sacar fotos con la cámara, etc. etc.

Pero bueno, como tampoco es ahora mismo algo que me agobie precisamente, va a ser que no voy a retocar el tema hasta dentro de algún tiempo…

Octubre 25, 2005

Clasificado bajo: MóvilPablo Orduña @ 9:58 pm

Yeup!

Antes:
movil antes

Después:
movil después

Sí, del Alcatel one touch 525 al Nokia 6630 hay “pequeñas diferencias” :-)

Vamos, que en Abril de primero me pillé el Alcatel ese porque el anterior que tenía cascó. Y la verdad es que he estado muy contento con este móvil, hasta que los últimos meses ha empezado a fallar y mucho. Del pelo de estar normal y de pronto no reconocerme la tarjeta SIM, o que las teclas funcionen a veces sí y a veces no, o que estás escribiendo un mensaje y se apaga el móvil (muchas veces seguidas), etc. etc.

Hasta que a finales del año pasado me dije “compra uno nuevo pero ya”. Incluso me puse de fecha límite 15 de Junio, pero Antilles me dijo que iban a salir ofertas en Octubre y tal, y decidí esperar. Total que ya no podía esperar más, mi móvil ya me dejaba colgado en demasiadas ocasiones, o sea que hace tres semanas me lo pillé, y hoy ya lo he podido recoger :-D

Todavía no tengo ni idea de cómo utilizarlo, pero paso de liarme ahora. Acabo de comprobar que el dongle de mi hermana rula en GNU/Linux, y he visto desde el móvil a “ord3p”, y desde el ordenador a un tal “MovilTrun”, o sea que ya suficiente por hoy. Sólo mirar cómo se bloquea y se quita el sonido para mañana sobrevivir, y en el puente lo miro mejor.

Que ya estoy ansioso de programarlo en Python :-D