Sie sind auf Seite 1von 6

!

3.1.2. Objetivos especficos:

DEPARTAMENTO DE TECNOLOGA ELECTRNICA (http://gtebim.es)

Instalar y familiarizarse con el entorno de desarrollo Eclipse IDE e integrar el SDK que ofrece Android. Estudiar las libreras y los correspondientes mtodos que ofrece el SDK de Android para la implementacin de comunicaciones Bluetooth. Implementar y disear componentes bsicos de interfaz de usuario para dispositivos mviles mediante las funciones de diseo que ofrece Android.

Master en Sistemas Telemticos e Informticos Domtica y Sistemas Embebidos para Comunicaciones Inalmbricas

3.2. Material y Montaje


Para poder desarrollar aplicaciones para dispositivos Android recomendamos tener instalado en un ordenador personal los siguientes componentes software: Sistema operativo: Windows, Linux o Mac OS. Java Development Kit (JDK) versin 5 6 [1]. Eclipse IDE [2]. Android SDK [3].

Prctica 3 Sistema Android para el control de un dispositivo domtico por Bluetooth


Con la realizacin de esta prctica, el alumno podr aprender conceptos sobre programacin mvil bajo un sistema operativo puntero en la actualidad como es Android. El sistema operativo Android ofrece un SDK (Software Development Kit) que permite un desarrollo de interfaces muy intuitivo adems de manejadores para el uso de tecnologas inalmbricas como Wifi, Bluetooth y GPS.

3.2.1. Instalacin de herramientas:


A continuacin, se explica la instalacin del entorno de desarrollo y los componentes necesarios para los sistemas operativos Windows, Linux y Mac OS. Adems, se indica cmo crear un emulador y ejecutar en l un primer programa
HelloWorld.

3.2.1.1 Instalacin de herramienta Windows y MacOS Instalacin y configuracin:


Descargar e instalar el Java Development Kit (JDK) versin 5 6, desde [1]. Descargar e instalar el entorno Eclipse IDE desde [2]. Seleccionar plataforma. Descargar e instalar el Android SDK desde [3]. Seleccionar plataforma. Configurar Eclipse IDE: Abrir Eclipse y pulsar pestaa Help ->Install New Software. Aadir repositorios de descarga del plugin ADT para Eclipse. Pulsar Add... y en el dilogo que aparece introducir name: AndroidPlugin location: https://dlssl.google.com/android/eclipse/ (probar con http si con https no funciona) y hacer click en Ok. En la ventana Available Software ahora debera aparecer Developer Tools.

3.1. Objetivos
3.1.1 Objetivos generales:
Al terminar la prctica, el alumno deber ser capaz de desarrollar una aplicacin mvil utilizando el SDK que ofrece el sistema operativo Android, que sea capaz de realizar comunicaciones Bluetooth para enviar rdenes simples a una placa Arduino.

Posteriormente pulsar Apply y comprobar que se obtiene la lista de targets instalados.

Seleccionar los checkbox de Android DDMS y de AndroidDevelopment Tools, hacer click en Next dos veces y finalmente click en Finish. Descargar e instalar el ltimo target disponible para Android. Ir a Inicio -> Todos los programas ->Android SDK Tools -> SDK Manager o, desde Eclipse, Window ->Android SDK and AVD Manager. Ir a apartado AvailablePackages. Seleccionar todos los checkbox tanto de AndroidRepository como de Thirdpartyadd-ons. Finalmente pulsar en InstallSelected. Para poder validar y probar las aplicaciones es necesario crear un emulador de un target especfico. Para ello, tenemos que ir a Window ->Android SDK and AVD Manager -> Virtual Devices. Hacer click en New... y poner un nombre al nuevo emulador, por ejemplo "EmuladorHWD". Seleccionar el target para desarrollar y dejar las dems opciones por defecto (mnimo 2.1).

Ahora es el momento de configurar ruta del SDK de Android en Eclipse. Para ello, hay que click en Window ->Preferences... y seleccionar Android en la parte izquierda. Hacer click en Browser... e indicar la ruta donde se instal el SDK de Android.

3.2.1.2 Windows y MacOS Crear una nueva aplicacin:


1. 2. Crear un proyecto nuevo, para ello ir a File->New ->Android Project. Hay que rellenar las propiedades del proyecto. En Project Name poner el nombre del proyecto: HelloWorld. Seleccionar el target del proyecto, siempre menor o igual al seleccionado anteriormente para la creacin del emulador. Poner en ApplicationName: HelloWorld. Como paquete de la aplicacin poner com.hwd.HelloWorld. En CreateActivity poner Main, ya que sta ser la Activity principal del proyecto. La activity principal ser lo primero que se ejecute en la aplicacin. Por ltimo pulsar Finish. Ejecutar el proyecto, para ello pulsar con el botn derecho del ratn y ejecutarRun As ->AndroidApplication.

4.

Copiar contenido a carpeta de desarrollo: a. cp -r android-sdk-linux_x86/ /home/[nombre_usuario]/AndroidDevelopment/

5. 6. 7.

Aadir al path del sistema operativo las rutas para ejecutar comandos propios de Android. Abrir el fichero .bashrc: sudo nano /home/[nombre_usuario]/.bashrc Editar fichero incluyendo la siguiente lnea: export PATH=${PATH}:/home/[nombre_usuario]/AndroidDevelopment/androi d-sdk-linux_x86/tools/ a. export PATH=${PATH}:/home/[nombre_usuario]/AndroidDevelopment/and roid-sdk-linux_x86/platform-tools/

3. 4.

8. 9. 10. 11.

Reiniciar la consola. Aadir permisos USB para poder instalar aplicaciones en un dispositivo mvil. Crear fichero: sudo mkdir /etc/udev/rules.d/51-android-rules Aadir dispositivo (lnea al fichero): SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev". Si tienes otro dispositivo mirar relaciones de idVendor en [4]. Ejecutar: sudo chmod 755 /etc/udev/rules.d/51-android-rules Descargar e instalar el entorno Eclipse IDE desde [2]. Seleccionar plataforma Linux. Configurar Eclipse IDE: Abrir Eclipse y pulsar pestaa Help ->Install New Software. Aadir repositorios de descarga del plugin ADT para Eclipse. Pulsar Add... y en el dilogo que aparece introducir name: AndroidPlugin location: https://dl-ssl.google.com/android/eclipse/ (probar con http si con https no funciona) y hacer click en Ok. En la ventana Available Software ahora debera aparecer Developper Tools.

12. 13. 14.

3.2.2.1 Instalacin de la herramienta Linux


1. Descargar e instalar el Java Development Kit (JDK) versin 5 6, desde [1]. a. sudo apt-getinstall sun-java6-bin b. Nota: Si el Ubuntu es de 64 bits se debe utilizar sudo apt-getinstall ia32-libs 2. Crear directorio de desarrollo Android: a. mkdir /home/[nombre_usuario]/AndroidDevelopment/ b. sudo chmod -R 755 /home/[nombre_usuario]/AndroidDevelopment/ 3. Descargar e instalar el Android SDK desde [3]. Seleccionar plataforma Linux. a. Descomprimir: tar -xvzf android-sdk-linux_x86.tar.gz

15. 16.

c. Crear un emulador de un target especfico. Ir a Window ->Android SDK and AVD Manager -> Virtual Devices.
d.

Hacer click en New... y poner un nombre al nuevo emulador, por ejemplo "EmuladorHWD". Seleccionar el target para desarrollar y dejar las dems opciones por defecto (mnimo 2.1).

! !

17.
18.

Seleccionar los checkbox de Android DDMS y de AndroidDevelopment Tools, hacer click en Next dos veces y finalmente click en Finish. Descargar e instalar el ltimo target disponible para Android. Abrir un terminal y ejecutar android o, desde Eclipse, Window ->Android SDK and AVD Manager. Ir a apartado AvailablePackages y seleccionar todos los checkbox tanto de AndroidRepository como de Thirdpartyadd-ons y pulsar en InstallSelected.

3.2. Ejemplos
3.2.1Ejemplo 1 Envo de saludo por bluetooth
El siguiente ejemplo es un extracto del cdigo en Android para establecer una conexin RFCOMM. La variable this.mac debera ser el string que guarda la mac del dispositivo. a. Configurar ruta del SDK de Android en Eclipse. Hacer click en Window ->Preferences... y seleccionar Android en la parte izquierda. b. Hacer click en Browser... e indicar la ruta donde se instal el SDK de Android. Posteriormente pulsar Apply y comprobar que se obtiene la lista de targets instalados.

private void doConnect() { //INICIALIZACION mBtAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBtAdapter == null) { Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show(); finish(); return; } if (!mBtAdapter.isEnabled()) { Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, REQUEST_ENABLE_BT); } //OBTENIENDO DISPOSITIVO this.mac=this.edit_text0.getText().toString(); this.device=mBtAdapter.getRemoteDevice(this.mac); //CREANDO SOCKET try { this.socket_device = this.device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-800000805F9B34FB")); } catch (IOException e) { Toast.makeText(this, "Falla creacin Socket!", Toast.LENGTH_LONG).show(); } //CREANDO CONEXION try { this.socket_device.connect(); } catch (IOException e) { try { this.socket_device.close(); } catch (IOException e2) { Toast.makeText(this, "Conexion Fallida", Toast.LENGTH_LONG).show(); } } }

Hito 2) Realizar los ejemplos descritos en el apartado 2. Hito 3) Modificar el ejemplo del apartado 2 para que realice un bucle de 50 iteracciones. Hito 4) Realizar un programa que se comunique con la placa de las prcticas y le enve @11 (encender led 1). Hito 5) Realizar un programa para la comunicacin con la placa de Arduino, o la placa domtica bluetooth, que integre un protocolo para enviar una serie de comandos para controlar el encendido y apagado de los leds de la placa. ! Hito 5.1) El programa deber enviar @11 y al cabo de 5 segundos @10, al cabo de 5 segundos @21 y al cabo de 5 segundos @20. ! Hito 5.2) El programa dar la posibilidad al usuario de introducir el comando a enviar en una caja de texto. Adems, existir un botn que cuando se pulse enviar el contenido de la caja de texto. ! Hito 5.3 optativo) Incluir iconos en el interfaz que simbolicen encendido/apagado de bombillas. Cuando se pulse uno de los iconos de cada bombilla se enviar automticamente el comando. ! Cada led simboliza lo siguiente: Led1: luz del patio. Led2: luz del saln. Led3: luz del dormitorio. Led4: luz del aseo. ! Un ejemplo del protocolo est explicado en los anexos del guin de la prctica 2-B.

.......
private void sendInfo() { // TODO Auto-generated method stub byte[] buffer; try { tmpOut = new DataOutputStream(this.socket_device.getOutputStream()); } catch (IOException e) { Toast.makeText(this, "OutputFallido!", Toast.LENGTH_LONG).show(); } try { buffer = edit_text1.getText().toString().getBytes(); tmpOut.write(buffer); tmpOut.flush(); } catch (IOException e) { // TODO Auto-generated catch block Toast.makeText(this, "Envio fallido", Toast.LENGTH_LONG).show(); } }

Hito 6 - optativo) Si en la placa se ha incorporado un sensor de temperatura, incluir en el interfaz el envo de un comando que ordene el envo de la temperatura desde la placa arduino al mvil. Una vez recibido aparecer en una segunda caja de texto este valor. NOTA: El da de la entrega final el alumno deber adjuntar en la memoria cmo ha ido realizando cada uno de los hitos de esta prctica, detallando las cuestiones de diseo e implementacin. Se valorarn diagramas de estados y tambin indicar los roles que se han adquirido en la prctica, as como las tareas de cada rol y el porcentaje de participacin.
!

Hitos de la prctica
Para realizar esta prctica necesitars un telfono Android con comunicacin Bluetooth. Asegrate que tienes el Bluetooth activo y tambin que tienes configurado el pin: Hito 1) Lee atentamente toda la documentacin de este guin y realiza la instalacin descrita en el apartado 2.

3.3. Referencias
[1]http://www.oracle.com/technetwork/java /javase/downloads/index.html [2]http://www.eclipse.org/downloads/ [3]http://developer.android.com/sdk/index.html

[4]http://developer.android.com/guide/developing/device.html#VendorIds

Das könnte Ihnen auch gefallen