Sí, habéis leído bien en el resumen. Hoy os vamos a enseñar a como hacer pequeños scripts para android para controlar vuestros robots o cualquier cosa que hagáis con una arduino o cualquier placa de soft libre compatible con la transmisión de datos por bluetooth.
Para hacer estos scripts necesitamos tener una base bastante sencilla de programación (no es necesario ser creador de Mac OS para hacer estos scripts). Con saber algo sobre buces y lenguaje Python, en nuestro caso, vamos bien.
Vamos a ir viendo que vamos a necesitar para aprender a hacer lo que os digo:
- Móvil Android
- Aplicación SL4A instalada en nuestro Android (disponible gratuitamente en Google Play)
- Aplicación Python for Android 2.6.2 instalada en nuestro Android (disponible aquí)
- Placa Arduino, o cualquiera libre compatible con bluetooth
- Módulo bluetooth para Arduino (disponible a precio económico aquí)
Bueno, vayamos ahora con un poco lo que viene siendo la historia de la programación de Android en Python. El SL4A es un proyecto opensource que pretende incluir otros lenguajes de programación, a parte de Java, que como bien sabemos, es el que acapara la mayoría de aplicaciones en android. El SL4A permite escribir pequeños scripts en lenguajes como BeanShell, Lua, Pearl, PHP, Rhino, o Python, entre otros. ¿Por qué Python? De todos los mencionados anteriormente, el lenguaje Python es el de mayor... "fama" de todos ellos.
Bueno, dejémonos de historias y vayamos al quid de la cuestión.
Nuestro primer requisito es instalar SL4A en nuestro móvil. Es tan sencillo como buscarla en Google Play e instalarla. Lo siguiente será instalar en nuestro móvil el módulo de Python for Android (enlace dado arriba). Lo instalamos (recordemos tener orígenes desconocidos activado en ajustes, sino, no nos dejará instalarlo), y una vez instalado, lo abrimos, y pulsamos donde pone Install. Esperamos a que se instale.. y voila, ya tenemos instalado en nuestro móvil Python for Android. Ahora, cuando abramos el SL4A y le demos a "Add" debe salirnos algo así:
Nosotros pincharemos en Python 2.6.2 (o la versión que sea) y nos saldrá una ventana donde podremos empezar a escribir nuestro código.
Para hacer este código tenemos que tener muy claro qué queremos hacer. Me explico, no debemos empezar a hacer un código de Python en Android a lo loco sin saber para que lo queremos usar, porque podemos salir realmente locos intentando hacer cosas sin sentido. Lo primero será tener una idea de qué haremos en la cabeza, lo segundo escribir el programa para Arduino, y lo tercero, escribirlo para Android en Python.
Pongamos un ejemplo donde todo se ve mucho más claro. Pongamos que quiero encender y apagar un led, a mi gusto, por bluetooth mediante el móvil. Ya tengo la idea, ahora escribiré el código de Arduino
Ahora es cuando toca hacer el código para Python. Todos los códigos de Python empiezan declarando el objeto droid, de tal manera que todas las cabeceras de cualquier script que hagamos tendrá este encabezado (que como se puede apreciar, viene precargado en SL4A):
import android
droid = android.Android()
A partir de ahí podemos hacer lo que queramos, podemos hacer bilguerías con el móvil si queremos. ¿Cómo usamos las funciones que Android nos puede dar? Pues explorando la api que SL4A usa. Lo miramos dentro de la pantalla de escribir código, en opciones, API browser. Ahí tenemos todo lo que podemos hacer. Si yo quisiera usar la API bluetoothConnect, tendría que ponerlo de la siguiente manera
droid.bluetoothConnect
Y así con lo que queráis de la API. Cierto es que para establecer los bucles con los que vamos a trabajar debemos saber un poco de lenguaje Python, pero bueno, si se os atasca esta noticia sólo tenéis que decírmelo en un comentario, y os pondré algo con lo esencial de Python.
Vamos a crear un pequeño script que se conecte a nuestro módulo bluetooth y apague y encienda un led.
Aquí tenemos el script que permitirá encender y apagar nuestro led mediate nuestro Android.
Sólo tenemos que guardar el script de abajo en un archivo de extensión (.py) y copiarlo al directorio (/sdcard/SL4A/scripts/)
Abrimos el SL4A y ejecutamos el script. Nos pedirá un dispositivo bluetooth al que conectarnos. Seleccionamos nuestro receptor bluetooth de arduino y damos a aceptar, y ya entraremos al programa. Les dejo aquí algunas capturas de pantalla del programa:
Con esta base, explorando la API de Android, y nuestra imaginación, podemos hacer lo que queramos en cuanto a control remoto desde Android, sin necesidad de saber programar en un lenguaje tan engorroso como lo es Java.
Cualquier duda ya sabéis que estamos aquí, en nuestra sección contacta con nosotros, o bien en los comentarios, o por twitter (@ingeniero_abu)
Un saludo, y hasta la semana que viene!
No hay comentarios:
Publicar un comentario
¿Quieres opinar? ?¿O preguntarme algo?
Pregunta, sin miedo ;)