Punksolid Tecnologia, Curiosidades, Sistemas de Informacion y un poco de Religion

20sep/100

Entorno de desarrollo para Symbian en Linux

Programa para sincronizacion Conduit

Symbian Nokia PythonRecientemente he tenido interés en desarrollar una aplicación para móviles symbian con Python for S60 tambien conocido como Pys60, cabe mencionar que soy novato en esto y no tengo idea de como la mayoria de los desarrolladores tienen configurado su entorno.

En el articulo anterior expliqué como Conectar Nokia 5530 por bluetooth y RFComm para desarrollo en Python en Ubuntu 10.04 pero al funcionar en la consola de linux no es practico estar viendo o estar ejecutando el codigo al vuelo, así que expongo lo que creo es una mejor manera.

También descarté usar el emulador de symbian para Windows (tristemente no hay emulador para linux, y no parece que vaya haber pronto) ya que parece lento y pienso que si vamos a batallar lo mismo correr el script en el emulador que en el mismo celular ¿que mejor que hacerlo en el celular?.

Interprete Python para Symbian

Para que una aplicacion hecha en python funcione en el celular de manera comercial necesita elaborarse un paquete .sis, de otra manera si intentas ejecutar un .py lo va a leer como archivo de texto, para eso se ocupa el interprete Python (Python_2.0.0.sis)  y el PythonScriptShell(PythonScriptShell_2.0.0_3_2.sis) eso se descarga desde https://garage.maemo.org/projects/pys60/ (PythonForS60_2.0.0.tar.gz) ambos se encuentran en el directorio /PythonForS60/PyS60Dependencies/.  Pasan los archivos al celular y los ejecutan en el siguiente orden Python primero y despues el PythonScriptShell.

Conexion PC - Celular

Ubuntu linux viene preparado para conectar por bluetooth y tener acceso a los archivos para eso vamos a dar en el icono de bluetooth y 'Configurar un dispositivo nuevo', seguimos los pasos indicados en el que tendremos que proporcionar la clave provista por ubuntu desde el celular.

Despues de emparejar el celular ocupamos saber la direccion de la carpeta a la que tiene acceso el interprete python, que suele ser /data/python, para eso vamos a entrar desde el navegador de archivos dando clic en el icono de bluetooth de nuevo y luego, examinar los archivos en el dispositivo, buscamos el directorio de python y una vez ahí veremos varios archivos .py de demostracion, estamos en la carpeta correcta, ahora presionamos las teclas Ctrl + L para saber la direccion y nos debe aparecer algo similar a esto en la parte superior

obex://[00:BD:3A:70:9B:EB]/E:/data/python

Nautilus

En la barra de direcciones después de presionar Ctrl + L estará la dirección que necesitaremos mas adelante.

Sincronizacion

Suponiendo que la carpeta del proyecto y todo el entorno python ya lo tenemos instalado en la computadora, procederemos a hacer una sincronizacion, para eso utilizo el programa Conduit que es bastante practico, ligero, eficiente y lo podemos descargar desde los repositorios, nosotros solo utilizaremos sincronizacion de una direccion entre carpetas, primero arrastramos una 'Carpeta' desde 'Files and Folders' hacia la derecha le damos clic derecho al elemento y luego en 'Configure Item' , seleccionamos la carpeta donde tenemos nuestro proyecto, dejando desmarcadas las opciones avanzadas presionamos cerrar, luego añadimos otra carpeta del lado derecho de la carpeta que recien creamos y ponemos la direccion obtenida en el paso de Conexion PC - Celular dando clic donde está el icono del lapiz.

Despues de eso ya está configurado todo, pero para eficiencia daremos clic derecho sobre la linea negra que une las dos carpetas y nos vamos a 'Sincronization Options' y luego en 'Always Up to Date' con eso en cuanto guardemos el archivo empezará la sincronizacion, que apenas tarda algunos segundos.

Programa para sincronizacion Conduit

Así debería quedar después de la configuración explicada.

Y eso es todo, si tienes alguna duda o crees que hace falta algo puedes dejarlo en los comentarios.

Enlaces

How to write a python for Series 60 script and test it

Pys60 Actualizado

2may/0917

Enviar archivo a travez de bluetooth y python en linux ubuntu

Primero que nada para empezar a trabajar ocupamos las herramientas, para eso necesitamos tener instalado la librería lightblue para python esto lo podemos lograr con

sudo apt-get install lightblue

también hay otras librerias que se necesitan pero seguramente ya las tienes instaladas.

Ahora ya solo corre la consola de python, abre una terminal escribe python y listo.

import lightblue
lightblue.finddevices()
# devolverá la mac y nombre de los dispositivos detectados
lightblue.findservices()
#devolverá la mac, canal y protocolo de comunicacion disponibles de los dispositivos,  yo usé el canal 9 que dice OBEX Object Push
cliente = lightblue.obex.OBEXClient('00:1A:DC:8C:51:2D',9)
#creamos la variable con la direccion mac y el canal del dispositivo
cliente.connect()
#nos conectamos al dispositivo nos aparecerá una respuesta como esta 
#<OBEXResponse reason='OK' code=0x20 (0xa0) headers={}>
putresponse = cliente.put({"name": "b.txt"}, file("b.txt", 'rb'))
#especificamos que le enviamos al cliente
cliente.disconnect()

Y listo con eso abremos enviado un archivo de nota al teléfono en mi caso ya estaba como amistoso, desconozco si se puede con dispositivos desconocidos o como será la respuesta.