App Inventor: Hola Mundo en Android (II)

En la entrega anterior, construimos la interfaz gráfica de nuestra aplicación para Android. Ahora, terminaremos el trabajo en el editor de bloques y ensayaremos la conexión Bluetooth entre nuestro circuito armado con el PIC 18F25K20 (junto al módulo RN41) y la aplicación que estamos realizando sobre un dispositivo capaz de trabajar con Android. Además, veremos cómo compartir nuestros desarrollos con otras personas y si todo esto te parece poco, descubriremos otro método para cargar la aplicación recién terminada sobre nuestro móvil y por supuesto, no puedo terminar este encabezado sin invitarte a lo que expresa el código QR que acompaña este sumario. Te espero.

Una vez que tenemos los botones organizados dentro del lienzo principal de lo que será nuestra aplicación, podemos pasar al editor de bloques y trabajar allí con lo que será la columna vertebral de este desarrollo: un enlace Bluetooth entre el módulo RN41, que utilizamos en el primer artículo de esta saga, y nuestro dispositivo Android. Para esto, debemos conocer lo que se denomina “Dirección MAC” (MAC Address) del dispositivo Bluetooth que deseamos enlazar. Por lo general, este dato viene impreso en el mismo módulo RN41 o, en su defecto, trae desde origen un número que puede variar entre tres o cuatro posibles y que vienen definidos en la hoja de datos del módulo RN41. En nuestro caso, la dirección MAC es 00:06:66:01:5D:93, en el tuyo puede ser diferente y la manera de averiguarla es muy sencilla.

Debes abrir la conexión Bluetooth con tu ordenador y dentro de los 60 segundos iniciales, enviar la cadena de texto “$$$” desde cualquier terminal serie que prefieras o utilices. Si recuerdas, a este trabajo lo hicimos cuando le incorporamos conectividad Bluetooth a la Estación Meteorológica NeoTeo. Luego de enviarle la cadena indicada, el módulo RN41 te devolverá la señal de que ha interpretado la instrucción de que tiene que prepararse para trabajos de configuración. Entonces, te devolverá primero un “CMD” y luego un signo de interrogación. Si esto no ocurre es porque te has demorado más de 60 segundos, a partir de la conexión de energía hasta el envío de la cadena “$$$”, y deberás repetir el procedimiento. Una vez adentro, sólo debes enviar el comando GB y el RN41 te devolverá la dirección MAC que lo identifica. Hagámoslo juntos:

¿Y para que necesitamos la dirección MAC? Es como nuestro nombre propio, como nuestra documentación, es para que la aplicación que estamos preparando, se conecte con nuestro dispositivo en forma inequívoca. De lo contrario, no sabría con qué dispositivo Bluetooth debe conectarse entre todos los que pueda encontrar a su alrededor. Si tu módulo Bluetooth no es un RN41, deberás estudiar en su hoja de datos cuál es la manera de obtener la secuencia de dígitos que definen la dirección MAC del módulo. Una vez que anotamos este dato, en el formato que te mostramos más arriba, dentro del editor de bloques tenemos que anunciar la dirección MAC del dispositivo Bluetooth con el que deseamos conectar. Ese dato es solicitado al momento de pedirle a nuestro cliente Bluetooth que se conecte al pulsar el botón de conexión. Por lo tanto, ya tenemos el botón que utilizaremos para conectar y desconectar nuestra aplicación “remota”; ahora solo tenemos que ir al editor de bloques y colocar en sus propiedades el evento “Click” del botón. Eso hará que la aplicación se conecte a nuestro cliente Bluetooth (el módulo RN41), con la dirección MAC definida y luego, con el “Long Click” (toque prolongado, toque largo) haremos que se desconecte. Además de ser muy fácil, puedes hacer un sorprendente ensayo de inmediato, observa:

¿Has visto que sencillo es? Además, ya hemos podido comprobar que los bloques encargados de comandar el LED rojo funcionan a la perfección, es decir, esto está saliendo muy bien, muy sencillo y muy rápido. Ahora sólo nos restan algunos retoques estéticos y de nuestro gusto particular. Por ejemplo, que los botones se habiliten al iniciar la conexión Bluetooth y pasen a un estado inerte al cortar esta comunicación, juntar más los botones, cambiar el texto del botón “Conectar” mientras está conectado y pasarlo a un texto que diga “Desconectado” y mil cosas que se te puedan ocurrir. Si deseas, puedes incluso, definir la dirección MAC de manera separada, puedes cambiar de color los textos de los botones y muchos más. Es decir, puedes transformar el rompecabezas en lo que quieras, como por ejemplo, en esta imagen que te mostramos en el primer artículo, ¿la recuerdas?

Editor de bloques de App Inventor con un enlace Bluetooth

Observa que, en función de la conexión Bluetooth, los botones (ubicados en el lienzo de la aplicación) se habilitan o no, que el texto del botón para conectar cambia de color (blanco o gris) y hasta cambia el texto del mencionado botón. Uno de los objetos que no te mostramos en el video es la utilización de “Screen1”. Esto es, la pantalla inicial al poner en funcionamiento el programa. Como pudiste apreciar en el video, es indistinto si lo utilizas o no, ya que las partes fundamentales de la aplicación funcionan igual, sin embargo, todo lo que puedas incorporar y sea útil para ensayar, para practicar, aprender y por supuesto, para enseñarnos cosas nuevas a todos, siempre será bienvenido y el Foro de Electrónica de NeoTeo es el mejor lugar para esa actividad. Por ejemplo, ¿podemos compartir un desarrollo con otra persona y realizar un trabajo en conjunto? Sí, claro. Sólo basta salir hacia el listado de proyectos (por ahora tienes uno, pero pronto tendrás muchos), marcar el casillero de la aplicación seleccionada y con el botón “Más acciones” puedes descargar un archivo comprimido (Download Source) y compartirlo con el mundo. Aquellos que lo reciban, deben descargarlo y allí tendrán todos los archivos necesarios para realizar la acción inversa (Upload Source).

Si en cambio deseas descargar la aplicación al ordenador para “colgarla” en algún espacio web, y que otros la descarguen desde allí, directamente a sus dispositivos móviles, debes hacerlo desde el mismo botón que utilizamos para armar la aplicación y descargarla al móvil. Esto creará un archivo con extensión “apk” que será el necesario para instalar la aplicación en el dispositivo móvil donde utilices Android. Esto no es tan sencillo como descargarla desde la tienda de aplicaciones de Android. Aquí, debes habilitar las descargas desde orígenes desconocidos y durante los comienzos, querer nadar en aguas profundas puede resultar peligroso.

Barcode Scanner es una aplicación que puede resultar útil con App Inventor

Otra opción interesante que ofrece App Inventor es la de crear la aplicación y generar un código QR para descargarla en forma directa, sin utilizar cable USB. Es decir, primero debes instalar (desde la tienda de Android) un lector de códigos QR en tu dispositivo móvil (puede ser Barcode Scanner, de Zxing, aplicación gratuita) y utilizarlo para leer el código generado por el ordenador y que se instalará en tu dispositivo móvil. Además, este lector te permitirá leer muchas aplicaciones que encontrarás en la web, incluyendo la cabecera de este artículo. Luego de instalar este lector, oprimes el mismo botón con el que descargas la aplicación al ordenador, pero seleccionas la “generación del código QR”. Una vez que App Inventor te lo muestra en pantalla, lo descargas, lo instalas y lo disfrutas. Por último, App Inventor te puede ayudar aunque no poseas un dispositivo móvil dotado de Android. En la parte superior derecha del editor de bloques, a la izquierda del botón que se utiliza para conectarse al dispositivo móvil (el que lo tenga), existe un botón para generar un emulador. Sí, un emulador que se presentará en pantalla como si fuera un teléfono móvil y en el que podrás ver y controlar todas las variantes que hagas, del mismo modo en que lo hace el que tiene un dispositivo Android conectado vía USB. Tú lo verás en pantalla, en un emulador que te brinda App Inventor, gracias a Android SDK.

App Inventor te permite trabajar con un emulador que te facilitará la tarea cuando no dispongas de un móvil

Para utilizar este emulador, debes conectarte al mismo, de igual forma que lo hace quien posee un teléfono móvil mediante el puerto USB. En este caso, no podrás hacer demasiadas cosas con este emulador ya que estamos trabajando para una aplicación que tiene un enlace con el exterior (comunicación Bluetooth), pero para aplicaciones que no requieren ningún tipo de enlace, el emulador te será tan útil como el mejor de los dispositivos móviles. Desde juegos hasta aplicaciones científicas. Esperamos que este resumen que hemos hecho de App Inventor (en varias entregas) te resulte útil para comenzar a dar los primeros pasos en Android. Luego de divertirte todo lo que creas suficiente, podrás pasarte a otros lenguajes de menor nivel (mayor complejidad) en Java. De este modo, podrás aprovechar al máximo las posibilidades que te brinda Android de generar tus propias aplicaciones, a tu gusto y medida.

La mesa está servida amigos, App Inventor nos introduce en el mundo Android y NeoTeo les ha ofrecido un enlace Bluetooth para activar un LED de manera remota, ¿Alguien que siga con proyectos más elaborados? El Foro de Electrónica de NeoTeo nos espera a todos para compartir todo esto y todo lo que está por venir, que es mucho. Los esperamos allí.

Deja tu voto

0 points
Upvote Downvote

Total votes: 0

Upvotes: 0

Upvotes percentage: 0.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

17 Comments

Deja una respuesta
  1. Genial Maestro Mario Con el Emulador Podre Hacer Mis Pininos(Ensayos) jaja A ver Que Tal, Y espero ver que hagas una Appli para que se comunique con tu Estacion Meteorologica y hasi recibir los datos en tu cel

  2. Se me acaban los sinonimos para tus trabajos amigo Mario, asi que tengo que decir que son fabulosos.
    Lo hice completo, pero no lo puedo probar por el momento porque no tengo bluethoot en android, pero tan pronto lo tenga te doy reporte del funcionamiento.
    Mil gracias

  3. Estupendo tutorial. De lo mejor que he visto en Internet hace tiempo.
    FELICIDADES!!!

    En un par de ratos he conseguido encender y apagar el led.

    Muchas gracias.

    A ver si te animas con el acelerometro. Si tengo tiempo voy a pegarme con él.

  4. Excelente Trabajo y Grandiosa idea muchas gracias por la ayuda

    Me Gustaría saber si usando programación Java sería factible utilizar el modulo en un telefono que no tenga como OS Android

  5. Hola saludos estoy facinado con todo esto e adquirido un bluetooth modulo y estoy en la etapa hola mundo 1 conectandome al modulo con mi galaxy fit pero como todo no es facil el problema que tengo o piedra de tope es que no puedo conectar o enlazar mi bluetooth modulo con mi galaxy fit .

    preguntas
    sera donde por default tiene clave 1234???
    hay alguna sentencia o la mac address esta mas escrita??? saludos

  6. Necesito ayuda!!! Consigo conectar con el modulo bluetooh, pero no consigo encender el led, si app inventor envia un 100 que es lo que recibe el pic? porque con una variable que lea el dato y luego un if dato==100) no consigo encender el led.

    Necesito alguna aclaracion al respecto..

    • Heyviejo man, me gustaría saber cómo hiciste para encender el LED con el CCS, yo estoy haciendo algo similar pero nada.#14

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *