Professional Documents
Culture Documents
ANDROID
CONCLUSIONES
REFERENCIAS
APNDICE
M. ENC. DA
JEFE DEL DE f\.R
INGENIERA EN C
Resumen
iii
Abstract
This thesis presents the development of a lighting system using the technique of phase
angle control (dimmer) in order to carry out the attenuation of the lamps (AC) through
a remote control set by the design an application on a mobile device with SO Android
using the communication protocol IEEE 802.15 (Bluetooth).
v
Indice
General
Resumen III
Abstract V
Indice de General
VII
Indice de Figuras
XI Ob jetivo
XV Justificacion
XVII Introduccion
XIX
1. Iluminacion Eficiente 1
1.1. Introduccion a la Iluminacion Eficiente . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Ahorro de energa en el hogar . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Iluminacion en el hogar . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Sistemas Innovadores de Iluminacion . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Sistemas de Control de Iluminacion . . . . . . . . . . . . . . . . . . 3
1.3. Estructura del Sistema de Control de Iluminacion: La Potencia . . . . . . . 4
1.4. Introduccion a los Dimmers . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1. Dimmers disenados con tiristores . . . . . . . . . . . . . . . . . . 6
1.4.2. .Dimmer controlado remotamente por tiristor . . . . . . . . . . . . . 7
1.4.3. Circuitos dimmer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5. Control de la Iluminacion . . . . . . . . . . . . . . . . . . . . . . . . . . 10
.
1.6. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
vii
888 INDICE
GENERAL
1.8. Metodologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9. Organizacion de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Bluetooth 15
2.1. Descripcion general de la Tecnologa Bluetooth . . . . . . . . . . . . . . . . 15
2.1.1. Protocolos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2. RFCOMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3. Perfiles Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1. Perfil Generico de Acceso (GAP) . . . . . . . . . . . . . . . . . . . 21
2.3.2. Perfil de Puerto Serial . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.3. Perfil de Aplicacion de Descubrimiento de Servicio (SDAP) . . . . . 22
2.3.4. Perfil Generico de Intercambio de Objetos (GOEP) . . . . . . . . . 22
2.4. Dispositivo Bluetooth Roving Networks . . . . . . . . . . . . . . . . . . . . 22
2.4.1. Estableciendo una conexion Bluetooth . . . . . . . . . . . . . . . . 23
2.4.2. Modos de Operacion . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.3. Configuracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3. Android 29
3.1. Historia de Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2. Que es Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1. Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2. Arquitectura de Android . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3. Aplicaciones Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.1. Fundamentos de una aplicacion . . . . . . . . . . . . . . . . . . . . 38
3.3.2. Componentes de una aplicacion . . . . . . . . . . . . . . . . . . . . 39
3.4. Desarrollando aplicaciones Android . . . . . . . . . . . . . . . . . . . . . . 43
3.4.1. Entornos de Desarrollo Android . . . . . . . . . . . . . . . . . . . . 44
3.5. Estructura Basica de APP Inventor . . . . . . . . . . . . . . . . . . . . . . 48
3.5.1. Ventana de Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.2. Editor de Bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6. Instalacion y distribucion de Aplicaciones (Android Market) . . . . . . . . 69
3.6.1. Bajar Aplicaciones desde Android Market . . . . . . . . . . . . . . 69
3.6.2. Subir Aplicaciones desde Android Market . . . . . . . . . . . . . . . 70
INDICE GENERAL ix
Conclusiones 95
4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.7. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Referencias 97
Apendice 98
99
Indice de Figuras
xi
12 INDICE DE
FIGURAS
3.13. Ejemplo 1 de Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.14. Ejemplo 2 de Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.15. Ejemplo 3 de Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.16. Entorno de Desarrollo Ecplipse. . . . . . . . . . . . . . . . . . . . . . . . . 45
3.17. APP Inventor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.18. APPInventor Learn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.19. Estructura de APP Inventor. . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.20. Crear el primer Proyecto en App Inventor. . . . . . . . . . . . . . . . . . . 51
3.21. Ventana de Diseno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
.3.22. Paleta de Componentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
xvii
xviii JUSTIFICACIO N
Introduccion
xix
xx INTRODUCCIO N
Iluminacion Eficiente
Los usos y costumbres diarios habituales que se hacen en la vivienda puede conllevar
a un ahorro considerable de energa si se cambian las actitudes y se es consciente
del consumo real y del necesitado. En la mayora de los casos basta con la eleccion de un
elec- trodomestico de bajo consumo, o de una racionalizacion del consumo de la
calefaccion, del aire acondicionado y del agua caliente.
1
2 CAPITULO 1. ILUMINACIO N
EFICIENTE
1.1.2. Iluminacion en el hogar
Es importante seguir una serie de consejos basicos, como son: utilizar bombillas de
bajo consumo en aquellas dependencias de la vivienda que tengan que permanecer mucho
tiempo encendidas; siempre que sea posible aprovechar la iluminacion natural; usar
la luz solo cuando se necesite y no dejar luces encendidas en habitaciones que no se est
en utilizando.
Ademas hay que tener en cuenta que las lamparas halogenas consumen mucha mas
energa que otros tipos de bombillas y disipan mas calor, los tubos fluorescentes
duran hasta 10 veces mas que las bombillas tradicionales y son muy eficientes energ
eticamente, por lo que si se va a tener una lampara fluorescente apagada menos de
20 minutos, es mejor dejarla encendida. El empleo de bombillas de bajo consumo
supone un ahorro de hasta un 80 % respecto a las convencionales.
Los sistemas innovadores comprenden una diversidad de dispositivos que van desde lu-
minarias, equipos auxiliares y sistemas de control, hasta ventanas inteligentes, lumiductos
y colectores de luz solar. Una clasificacion general permite diferenciar inicialmente entre
los sistemas innovadores del alumbrado artificial y los sistemas innovadores del alumbrado
natural. Aunque muchos de ellos aun se hallan en etapa experimental y de
perfecciona- miento, las expectativas que generan sobre eficiencia y mejoramiento en
la calidad de
1.2. SISTEMAS INNOVADORES DE ILUMINACIO N
3
Limitaciones
Las reacciones adversas, de los ocupantes de locales equipados con sistemas de control,
parecen ser el punto mas limitante de esta tecnologa. Afortunadamente la mayora de
las quejas se originan principalmente en el mal funcionamiento de estos equipos, ya sea
porque incurren en apagados incorrectos o bien incluyen operaciones frecuentes y
distractivas, tal como se comento anteriormente.
Con frecuencia se escucha hablar sobre Dimmers Digitales y Dimmers Analogicos, pero
los dimmers son siempre analogos.
Variacion de voltaje.
Un triac es una forma de tiristor que permite que ambos semiciclos de la corriente
alterna (CA) fluyan a traves de la carga. El triac es disparado cuando una senal de
baja energa se aplica en su terminal G (Gate). El semiciclo positivo de la senal de
CA pa-
sar por el triac siempre que G sea activo, de esta manera, la corriente circulara de arriba
hacia abajo (terminal MT2) como se muestra en el circuito de la Figura 1.10. Mientras que
en el semiciclo negativo pasar por el triac siempre y cuando exista una senal de disparo
en la entrada G, de esta manera la corriente circulara de abajo hacia arriba (terminal
MT1).
Cuando la corriente alterna cambia su direccion, el triac se apaga; esto hace que la
corriente en la carga sea cero en cada semiciclo de CA. Por lo tanto, para que la l
ampara se active continuamente, el triac necesita dispararse durante ambos semiciclos
de la onda sinusoidal CA; para asegurar que la carga promedio de la corriente no sea
cero.
2. Un circuito de disparo, que compara el momento en que se detecta el cruce por cero
con la senal de entrada, y dispara los tiristores despues del retardo de fase
apropiado.
El funcionamiento digital del dimmer profesional introduce varios beneficios entre los
que se encuentran:
las luces. La consola se comunica con los dimmers para que las luces adquieran el efecto
deseado por el operador [Scott, 1996].
1.7. Hipotesis
Se cree que el desarrollo de un sistema de control de iluminacion brinda una alternativa
que contribuye en el ahorro de la energa electrica en gran medida, del mismo modo
se pretende que este ofrezca una mayor comodidad para los usuarios; ademas de verlo
como una forma de fomentar el auge de nueva tecnologa para dispositivos moviles que
cuenten con el Sistema Operativo Android, que si bien es relativamente nuevo ha
alcanzado un gran crecimiento en los ultimos anos.
1.8. Metodologa
La metodologa que se implemento para el desarrollo de la investigacion abarca
los siguientes puntos:
Pruebas finales.
Bluetooth
15
16 CAPITULO 2.
BLUETOOTH
esta banda de frecuencia est disponible en la mayor parte del mundo. Bluetooth utiliza
79 canales de radio frecuencia con un ancho de banda de 1 MHz cada uno y una rata
maxima de smbolos de 1 M Smbolo/s. Despues de que cada paquete es enviado en
una determinada frecuencia de transmision, esta cambia a otra de las 79 frecuencias
[3]. El rango tpico de operacion de Bluetooth es menor a 10 m, sin embargo se pueden
alcanzar distancias de hasta 100 m.
La capa de Audio es una capa especial, usada solo para enviar audio sobre Bluetooth.
Las transmisiones de audio pueden ser ejecutadas entre una o mas unidades usando
mu- chos modelos diferentes. Los datos de audio no pasan a traves de la capa
L2CAP, pero s directamente despues de abrir un enlace y un establecimiento directo
entre dos unidades Bluetooth.
La Figura (Fig.2.4) muestra una comparacion del stack Bluetooth con el modelo de
referencia estandar Open Systems Interconect, OSI, para stacks de protocolo de comuni-
caciones. A pesar de que Bluetooth no concuerda exactamente con el modelo, esta compa-
racion es muy util para relacionar las diferentes partes del stack Bluetooth con las
capas del modelo OSI. Dado que el modelo de referencia es un stack ideal y bien
particionado, la comparacion sirve para resaltar la division de funciones en el stack
Bluetooth.
2.2. RFCOMM
El protocolo RFCOMM brinda emulacion de puertos seriales sobre el protocolo L2CAP.
La capa RFCOMM es una simple capa de transporte provista adicionalmente de emula-
cion de circuitos de puerto serial RS-232. El protocolo RFCOMM soporta hasta 60 puertos
emulados simultaneamente. Dos unidades Bluetooth que usen RFCOMM en su comuni-
cacion pueden abrir varios puertos seriales emulados, los cuales son multiplexados entre
s. La (Fig.2.5) muestra el esquema de emulacion para varios puertos seriales (Fig.2.6).
Muchas aplicaciones hacen uso de puertos seriales. El RFCOMM esta orientado a
hacer mas flexibles estos dispositivos, soportando facil adaptacion de comunicacion
Bluetooth. Un ejemplo de una aplicacion de comunicacion serial es el protocolo punto-a-
punto (PPP).
20 2.3. PERFILES BLUETOOTH CAPITULO 2. 20
BLUETOOTH
El RFCOMM tiene construido un esquema para emulacion de null modem y usa a L2CAP
para cumplir con el control de flujo requerido por alguna aplicacion.
Existen cuatro perfiles generales definidos, en los cuales estan basados directamente
algunos de los modelos de usuario mas importantes y sus perfiles. Estos cuatro modelos
son Perfil Generico de Acceso (GAP), Perfil de Puerto Serial, Perfil de Aplicacion
de Descubrimiento de Servicio (SDAP) y Perfil Generico de Intercambio de Objetos
(GOEP). A continuacion se hace una breve descripcion de estos y algunos otros perfiles
Bluetooth.
Figura 2.5: RFCOMM
Este perfil define los requerimientos para dispositivos Bluetooth, necesarios para es-
tablecer una conexion de cable serial emulada usando RFCOMM entre dos
dispositivos similares. Este perfil solamente requiere soporte para paquetes de un slot.
Esto significa que pueden ser usadas ratas de datos de hasta 128 kbps. El soporte para
ratas mas altas es opcional. RFCOMM es usado para transportar los datos de usuario,
senales de control de modem y comandos de configuracion. El perfil de puerto serial es
dependiente del GAP.
Figura 2.6: Varios puertos seriales emulados mediante RFCOMM
Para conectarse a FireFly, busque en los servicios que ofrece, debera ver: El perfil
SPP con un puerto COM virtual asignado. Abrir este puerto virtual COM para crear
una conexion Bluetooth. Una vez conectado, el dispositivo en modo de datos que
estar
permitir el flujo de datos en ambas direcciones, como si el puerto serie estuviera conec-
tado fsicamente (cable) a la PC. El dispositivo debe estar en modo comando para la
configuracion y programacion. Para entrar en modo comando teclee $$$ (tres signos de
pesos), ya sea con el control remoto Bluetooth o la conexion local del puerto serie.
Se debe entrar en el modo de comandos dentro de los primeros 60 segundos
(configurable por el ajuste del config-timer).
NOTA: Solo un cliente puede hacer la conexion esclavo FireFly a la vez. Como maestro,
es posible realizar multiples conexiones de Firefly, pero solo en un punto a punto,
en serialized fashion. En este momento los dispositivos RN no son compatibles con el
modo de multiples puntos maestros.
Comando de modo Esclavo (SM, 0):Este es el modo por defecto, con el que otros
dispositivos Bluetooth pueden descubrir y conectarse al dispositivo.
Disparador Modo Maestro (SM, 2):En este modo, el dispositivo se conectara au-
tomaticamente a la direccion anterior configurada como esclavo cuando un car
acter (o caracteres) se reciben en el local UART. La conexion permanece abierta
hasta que un temporizador de inactividad configurable (1 a 255 segundos), expire sin
datos
recibidos, o se vea un caracter de interrupcion (BREAK)
configurable.
Conexion automatica (modo maestro) (SM, 3): Si se selecciona este modo, el dis-
positivo iniciar una conexion a la direccion remota previamente almacenada
inme-
diatamente despues de encender el aparato. En este modo, los datos se pasan
sin que sean interpretados por el BluePort (alta velocidad), por lo tanto, la
conexion no se puede romper a traves de comandos. Si se produce desconexion, el
dispositivo intentara volver a conectar hasta que lo consiga.
Conexion automatica (modo DTR) (SM, 4):Este modo se debe establecer con
el set de comandos. Este modo funciona como conexion automatica al modo
Master, excepto que la conexion y desconexion estan controladas por los 3 dipswitch
externos
en el FireFly (no incluido en todos los modulos de Bluetooth).
dispositivo responder con END .En el modo de comando, el dispositivo acepta bytes
ASCII como comandos. Una revision rapida para ver si est en modo de comando es
el de escribir los comandos D y E despues de entrar en modo de comando. Esto le
mostrar los parametros, tales como el nombre de Bluetooth, la clase de dispositivos y
configuracion de puerto serie. Para acceder a la configuracion, el dispositivo debe
estar en modo de comandos mediante la emision de $$$ . Se debe entrar en el
modo de
comandos con la ventana de configuracion de 60 segundos o el modulo en el modo
entrar
rapido de datos donde todos los caracteres son ignorados incluyendo $$$ . Si expira el
temporizador de configuracion mientras esta en modo comando el dispositivo no entrar en
el modo rapido de datos despues de salir del modo de comandos.No se puede entrar en
modo comando desde el mando a distancia con Bluetooth si el dispositivo est en modo
maestro.
El uso de la norma RS-232 pasa a traves del cable de PC para enviar caracteres
ASCII a traves de la terminal al dispositivo de RN. La configuracion del puerto serie
debe coincidir con la configuracion del puerto serie RN. Por defecto, estos se establecen
en:
8 bits
Sin paridad
1 bit de paro
Android
Si queremos hablar de la historia de Android no nos queda mas que hablar un hombre.
Ese hombre es Andy Rubin (Fig. 3.1) quien fund en 2003, Android Inc.No fue hasta el 5
de Noviembre de 2007 que Google present
Android, un sistema operativo para m
oviles
que revolucionara el mercado, aunque fue un ano despues, en Octubre de 2008 cuando
lo
29
30 3.2. QUE ES CAPITULO 3. 31
ANDROID? ANDROID
vimos por primera vez funcionando en un HTC Dream.
3.2.1. Caractersticas
Las caractersticas que posee la plataforma Android, se mencionan a continuacion
y posteriormente se desglosara su explicacion.
Posee una maquina virtual Dalvik que optimiza el rendimiento en los dispositivos
moviles.
Soporta archivo multimedia de imagen, video y audio (MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG, GIF).
Kernel de Linux
Android se basa en la version 2.6 de Linux para los servicios del nucleo del
sistema como la seguridad, la gestion de memoria, gestion de procesos, la pila de red, y el
modelo de controlador (Fig.3.3). El nucleo tambien actua como una capa de
abstraccion entre el hardware y el resto de la pila de software.
Es de codigo abierto.
Dalvik
Dalvik esta optimizada para requerir poca memoria y esta disenada para
permitir ejecutar varias instancias de la maquina virtual simultaneamente, delegando en
el sistema operativo subyacente el soporte de aislamiento de procesos, gestion de
memoria e hilos.
Bionic Libc.
Bibliotecas de Funciones.
Servicios Nativos.
Bionic Libc
Manejo de caracteres.
Busqueda y clasificacion.
Funciones aritmeticas.
Fecha y hora.
Bibliotecas de funciones
WebKit.
Media Framework.
SQLite.
Servicios Nativos
Surface Manager
Aplicacion Framework
Gestor de actividades.
Gestor de paquetes.
Gestor de ventanas.
Gestor de recursos.
Proveedores de contenido.
Servicios de telefona.
37 3.3. APLICACIONES ANDROID CAPITULO 3. 37
ANDROID
Servicio de ubicacion.
Servicio de Bluetooth.
Servicio Wifi.
Servicios de USB.
Una vez instalado en un dispositivo, cada aplicacion Android vive en su propia segu-
ridad sandbox:
Cada proceso tiene su propia maquina virtual (VM), por lo que el codigo de una
aplicacion se ejecuta de manera aislada de otras aplicaciones.
Por defecto, cada aplicacion se ejecuta en su propio proceso de Linux. Android inicia
el proceso cuando alguno de los componentes de la aplicacion necesita ser
ejecutado, y luego cierra el proceso cuando ya no se necesita o cuando el sistema
debe recuperar la memoria para otras aplicaciones.
Sin embargo, hay maneras para que una aplicacion pueda compartir datos con otras
aplicaciones y de una aplicacion se pueda acceder a los servicios del sistema:
Una aplicacion puede solicitar permiso para acceder a los datos del
dispositivo, tales como los contactos del usuario, los mensajes SMS, el
almacenamiento externo (tarjeta SD), camara, Bluetooth, y mucho mas. Todos los
permisos de la aplicacion debe ser concedidos por el usuario durante la instalacion.
Los componentes de una aplicacion Android, son los bloques esenciales para la cons-
truccion de la misma. Cada componente es un punto diferente a traves del cual el
sistema puede entrar en su aplicacion. No todos los componentes son verdaderos puntos
de entra- da para el usuario, algunos dependen de otros; pero cada uno existe como
una entidad propia y desempena un papel especfico, cada uno es una pieza unica que
ayuda a definir el comportamiento general de la aplicacion.
Hay cuatro tipos de componentes diferentes en una aplicacion. Cada tipo tiene un
proposito distinto y tiene un ciclo vital distinto que define como el componente se crea y
se destruye.
Activities (Actividades)
Un activity representa una pantalla unica con una interfaz de usuario. Por ejemplo,
en una aplicacion de correo electronico, puede haber una activity que muestra una lista
de correos electronicos nuevos, otra activity para enviar un correo electronico, as como
otra activity para la lectura de mensajes de correo electronico. Aunque las activities
trabajan para formar una experiencia coherente en la aplicacion de correo electronico,
cada una es independiente de las otros. Como tal, una aplicacion puede ingresar a
cualquiera de estas activities (si la aplicacion de correo electronico lo permite). Por
ejemplo, una aplicacion de camara puede adentrarse a la activity en la aplicacion de
correo electronico que enva nuevos mensajes de correo, para que el usuario pueda
compartir una imagen (Fig.3.9).
Figura 3.9: Conjunto de Activities.
Services (Servicios)
Los content providers tambien son utiles para la lectura y escritura de datos que son
Figura 3.10: Servicios en Segundo Plano.
Activacion de componentes
Se debe de aclara un par de puntos sobre un sistema Android, los cuales nos llevar
an a la activacion de componentes mediante los Itent.
Los intents (intenciones) es un mensaje asincronico que se une a los componentes in-
dividuales entre s. Los intents son una descripcion abstracta de una operacion a
realizar.
Se piensa en ellos como los mensajeros de la solicitud de una accion de otros compo-
nentes, si el componente pertenece a la aplicacion o a otra. El Intent es crear un objeto,
que defina un mensaje para que se active un componente especfico. Las Activities, Ser-
vices y Broadcast Receivers son activados por medio de las Intents.
A continuacion veremos esquemas que ilustran las diferentes formas en las que un
Intent trabaja.
43 3.4. DESARROLLANDO APLICACIONES ANDROIDCAPITULO 3. 43
ANDROID
Intent explcita enviada a una Activity2 definida(Fig.3.13).
Un Intent mandado por una Activity1 a otra Activity2, y esta segunda manda un
Intent a la Activity1 primaria como respuesta Fig.3.15.
Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes de
programacion tales como C++, Python, Java,C#, Delphi, Visual Basic, etc. En algunos
lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecucion, en donde
se permite utilizar el lenguaje de programacion en forma interactiva, sin necesidad de
trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.
Es posible que un mismo IDE pueda funcionar con varios lenguajes de programacion.
Este es el caso de Eclipse, al que mediante plugins se le puede anadir soporte de
lenguajes adicionales.
Como acertadamente se menciono, Eclipse es una IDE que tiene la capacidad de fun-
cionar con varios lenguajes de programacion. Es por esto que este Entorno de Desarrollo
Integrado fundado por la empresa que lleva su nombre; Eclipse Foundation, es apropiada
para desarrollar aplicaciones Android bajo un entorno de Java, con la simpleza de des-
cargar e instalar el Plugin de Android ADT con lenguaje Java y el Android SDK para
ejecutar las Maquinas Virtuales(Fig.3.16).
APP Inventor
1. Configurar el Equipo.
Requisitos de Sistema.
Ordenador y Sistema Operativo.
Macintosh (con procesador Intel): Mac OS X 10.5, 10.6
Windows: Windows XP, Windows Vista, Windows 7
GNU / Linux: Ubuntu 8 +, Debian 5 +
Navegador.
Mozilla Firefox 3.6 o superior
Apple Safari 5.0 o superior
Google Chrome 4.0 o superior
Microsoft Internet Explorer 7 o superior
El equipo tiene que ejecutar Java 6 (tambien conocido como Java 1.6). Puede
des- cargar Java desde: www.java.com.
3. Una vez instalado todo los requerimientos del sistema para trabajar con App Inven-
tor solo necesitamos iniciar sesion en la cuenta de Google y escribir en el buscador:
http://appinventor.go oglelabs.com, esta pagina te llevara al entorno de desarrollo
el cual se explicar a detalle mas adelante.
Para accesar a los links de cada descarga para las librerias de APP Inventor, puede
conultar la pagina oficial de Google, que es: http://www.appinventorbeta.com/ab out/,
ah podra encontrar los links de descarga as como una explicacion mas detallada en
caso de que se desee instalar en MacOS o en LINUX (Fig.3.18).
Ventajas:
49 3.5. ESTRUCTURA BA SICA DE APP CAPITULO 3. 49
INVENTOR ANDROID
Se requiere de conocimientos mnimos de programacion en C, Java, o semejantes.
Se hace la relacion entre codigos mediante una conexion grafica tipo Puzzle
(literal-
mente).
Permite ver en tiempo real las modificaciones que se hacen en el entorno con tu
celular conectado.
Las aplicaciones que se realizar se alojan en la Web, por lo se puede tener acceso a
ellos desde cualquier equipo con internet.
Desventajas:
Las herramientas que tiene son limitadas a comparacion del Entorno de Eclipse.
Para poder subir las aplicaciones al Market se requiere de otro software para hacer
compatible la aplicacion con los requerimientos de Android Market, sin en cambio
Eclipse no requiere de este software extra.
La estructura basica de APP Inventor est conformada por 4 partes, las cuales son
fundamentales para el funcionamiento correcto de esta aplicacion (Fig. 3.19).
Para poder llevar acabo la creacion del primer proyecto, damos clic en el boton
de New y a continuacion le asignamos un nombre. Automaticamente despues de
presionar ok nos mostrara la Ventana de Diseno (Fig. 3.21).
La Ventana de Diseno conformada por cinco partes escenciales:
est
Paleta de Componentes
Componentes de la aplicacion
Barra de Herramientas
Paleta de componentes
8. Otros Componentes (todos estos componentes al igual que los anteriores son: no
visibles)(Fig. 3.30).
FusiontableControl
GameClient
SoundRecorder
Voting
WebViewer
Viewer
Ya que esta area de trabajo nos muestra una pantalla que emula un dispositivo movil,
podremos ver la apariencia que tendr al momento de estar ejecutandose en el dispositivo.
En esta seccion, seremos capaces de ver los componentes no visibles en la parte inferior
y fuera de la pantalla emulada del dispositivo (Fig. 3.33).
Components
Esta seccion dentro de la ventada de diseno, nos permite ver los componentes que
hemos elegido para desarrollar la aplicacion en forma de arbol; en esta parte se
incluyen los componentes no visibles en la misma jerarqua que los visibles.
Figura 3.33: Area de Trabajo.
Los componentes que van dentro de un Canvas o una Caja de orden, ya sea vertical,
horizontal o de tabla se muestran en otra jerarqua (Fig. 3.34).
Esta seccion nos permite cambiar el nombre que por defecto proporciona App Inventor
a cada componente, para facilitar la identificacion a la hora de trabajar en el editor de
bloques; de igual forma nos permite borrar un componente que ya no nos sea util y por
ultimo en la parte inferior tenemos la posibilidad de cargar las imagenes que deseamos
ocupar dentro de nuestra aplicacion (el nombre de la imagen no debe de tener caracteres
especiales para ser reconocida).
Properties
Estas propiedades son diferentes dependiendo del componente seleccionado, para men-
Figura 3.34: Seccion de Componentes.
cionar algunas de ellas haremos referencia a las propiedades que salen por defecto al cargar
nuestra area de trabajo que corresponden al Screen o pantalla principal, estas
propiedades son:
BackgroundImage: Nos permite colocar una imagen de fondo que previamente ha-
yamos cargado en la seccion de componentes.
Icon: Permite cambiar el icono de la aplicacion que se genera por default; cargandolo
previamente en la seccion de componentes.
Scrollable: Coloca una barra deslizadora en caso de que nuestra aplicacion se mas
grande que la pantalla de nuestro dispositivo.
Title: Podemos poner un nombre personalizado al ttulo de la pantalla principal.
Barra de Herramientas
Esta seccion es la que se localiza en la parte superior y nos permite estar navegando
por nuestros proyectos (aplicaciones) que tengamos y poder editarlas, nos da la opcion de
guardar la aplicacion que se encuentre actualmente en el area de trabajo, guardar con
otro nombre la misma aplicacion usando el boton:Guardar Como ; nos permite
establecer un punto de recuperacion con el Checkpoint,abrir el Editor de Bloques y por
ultimo, da la opcion de descargar nuestras aplicaciones ya sea en el telefono, en la PC
o generar el BarCode para el link de descarga de nuestra aplicacion (Fig. 3.36).
Hay que tomar en cuenta que para poder trabajar en este editor, previamente se
debi de agregar componentes en la Ventana de Diseno, ya que es donde se reunen
los
bloques de programa que especifican como deben comportarse los componentes. Estas
acciones y configuraciones se programan montando y ensamblando bloques de c
odigo semejantes a un rompecabezas (Fig. 3.38).
Seccion de Bloques
65 3.5. ESTRUCTURA BA SICA DE APP CAPITULO 3. 65
INVENTOR ANDROID
A rea de trabajo
Barra de herramientas
Seccion de bloques
Build In: Contienen bloques de codigo que ya estan definidos por el Editor de Blo-
ques, nos ayudan a realizar operaciones logicas, condiciones, definir variables, reali-
zar programacion de control, editar textos y cambiar colores entre otras funciones
(Fig. 3.40).
Figura 3.40: Build-In.
Avanzado: Son bloques de codigo mas especializados sobre los componentes que
definimos anteriormente en la Ventada de Diseno (Fig. 3.41).
Este es evidentemente el espacio que tenemos en blanco para poder arrastrar los blo-
ques de programacion y empezar a armar la logica de nuestro programa, en a
esta rea
de trabajo se encuentra un bote de basura , en donde podemos arrastrar las piezas de
codigo que ya no nos sirvan (Fig. 3.42).
Esta area de trabajo puede expandirse de acuerdo con las necesidades del
programador, si requiere mas espacio para programar, automaticamente se lo proporciona
esta area.
Barra de Herramientas
Las herramientas con las que cuenta son: salvar o guardar la programacion de bloques
hecha, ir a un estado anterior, ir a un estado posterior, cargar un emulador para correr la
aplicacion, conectarse a un dispositivo y un zoom de barra deslizable (Fig. 3.43).
Figura 3.43: Barra de Herramientas.
Si descargas desde otros sitios y desde tu computadora puedes guardar el archivo apk
y despues pasarlo al dispositivo movil a traves del cable USB a la tarjeta de memoria
del dispositivo, una vez almacenada, buscas la aplicacion con algun explorador y
procedes a instalarla (para poder instalar aplicaciones que no son de market recuerda dar
el permiso antes mencionado).
Requisitos
Tener una cuenta google por ejemplo la de gmail y tenerla asociada a google chec-
kout.
Importante
2. Luego tienes que crear una key unica para cada app, aqu no utilices el mismo
login de la keystore.
Pasos para poder transformar nuestros .apk para poder subirlos al android market.
AppToMarket v2.3
Archivo comprimido formato ZIP [32.9 MB]
2. Descomprimes el archivo.
Este proyecto implica desarrollar una aplicacion compatible con el Sistema Operativo
Android para dispositivos moviles que sea capaz de comunicarse a distancia mediante
Bluetooth a un receptor que procesa la informacion recibida y a su vez ordena a un
con- junto de dimmers que ejecuten tareas especficas e independientes para la regulaci
on de las lamparas.
73
74 CAPITULO 4. APLICACIO N ATOM Y
PROTOTIPO
4.1.1. Propuesta y explicacion de Hardware
Existe gran cantidad de aplicaciones donde se requiere la regulacion de la corriente
alterna, entre ellas, el control de velocidad de motores, la soldadura electrica y el flujo
en la iluminacion.
Teora de Operacion
Hardware
Una vez propuesto el circuito. Con ayuda de un software para el diseno de placas PCB
(PCB Wizard), se realiz el diagrama correspondiente (Fig. 4.3).
Una vez propuesto el circuito de hardware minimo. Con ayuda de un software para el
78 CAPITULO 4. APLICACIO
4.3. ESTABLECIENDO COMUNICACIO N N ATOM Y 78
BLUETOOTH PROTOTIPO
Ya que este modulo esta especialmente hecho para trabajar con microcontroladores
mediante una conexion serial, su trabajo ser acoplado con el PIC18F4550, para que
mande al microcontrolador los datos que reciba a traves del Bluetooth.
el receptor (Rx) del modulo, y a su vez es capaz de mandar por el transmisor (Tx)(Fig.
4.10).
Una vez iniciada la HyperTerminal, vendran las ventanas de configuracion (Fig. 4.11)
para establecer la comunicacion serial. Para configurar estas ventanas, anteriormente se
emparej el modulo de Bluetooth BlueSMiRF con nuestro equipo de computo, y este
ultimo ya creo un puerto COM virtual para el modulo (la forma de establecer este
puerto COM, es mediante la disponibilidad de tu equipo y el software que se tenga para
detectar dispositivos Bluetooth), con obviedad recalco que para este proceso el m
odulo de BT
(Bluetooth) debe de estar alimentado y conectado como se especific anteriormente.
En las ventanas de configuracion se colocan los siguientes datos para poder continuar
y establecer la conexion:
Descripcion de la Conexion
Conectarte a:
1. Bits por segundo: Escoge los bps con los que quieres que trabaje la conexi
on, preferente la primera vez escoger 9600 bps.
2. Bits de datos: Seleccione los bits de datos que estar mandando, colocar pre-
ferentemente 8.
Figura 4.11: Ventanas de Configuracion HyperTerminal.
Una vez configurada la Hyperterminal nos mostrara la ventana principal donde po-
dremos hacer las pruebas pertinentes, como se especifica en el Capitulo 2 puede entrar a
modo comando con $$$ y salir de modo comando con ; dentro de modo coman-
do, para hacer las configuraciones necesarias; puede teclear: h y desplegara todos los
comandos soportados por el modulo de BT (Fig. 4.12). Enfocandonos a los comandos
que nos conciernen tecleamos el comando: d y nos desplegara las funciones principales
del
modulo de BT, donde cambiaremos la velocidad de bits por segundo a 9600 bps con el
comando: su, 96 (vease Apendice).
E sta aplicacion una interfaz grafica que permitira al usuario escoger con qui
tendr en
se establecera la conexion dentro de una lista de dispositivos Bluetooth, su
estructura basica estara compuesta de 3 funciones de mando;dentro de estas funciones
se encuentra
MIN-MA posible variar el nivel de flujo luminoso a un mnimo o maximo, ya
X,ser sea
para hasta 14 lamparas de forma independiente o simultanea; la siguiente funcion es
la DIMMER que como su nombre lo indica, permite la atenuacion de hasta 14
lamparas de forma independiente o simultanea; por ultimo se encuentra la funcion de
ACELERO- METRO, con esta funcion es posible llevar acabo la atenuacion de 14
lamparas de forma simultanea haciendo uso de las propiedades que ofrece este sensor
(Fig.4.13).
Una vez propuesto el circuito de hardware para el sistema completo. Con ayuda de un
software para el diseno de placas PCB (PCB Wizard), se el diagrama correspon-
realiz diente(Fig. 4.19).
Figura 4.19: Placa PCB del Sistema Completo
Pruebas y Resultados
Lampara Incandescente.
91
92 PRUEBAS Y RESULTADOS
Campo abierto.
Sin viento.
4.6. Conclusiones
En cuanto a la recopilacion de los datos podemos concluir de acuerdo con los objetivos
especficos que fue posible cumplir con el diseno, la programacion y la
implementacion tanto de un receptor Bluetooth, un circuito Dimmer con un
microcontrolador, en la pro- puesta y el desarrollo de la aplicacion en App Inventor
para ser usado en dispositivos moviles con Sistema Operativo Android, como mando a
distancia. La comunicacion Blue- tooth mediante el modulo de Roving Network y el
dispositivo movil fue un exito.
Referente a contribuir a una opcion mas para el ahorro de energa; como dice la teor
a
recabada en est investigacion; es muy difcil medir cuantitativamente con precision
cuan-
to es el ahorro al utilizar una tecnica y otro; de la misma forma al utilizar
dispositivos como lo son los dimmer, ya que aunque se considere un metodo para
ahorro de energa no existe una norma de lineamientos aun establecida que pueda regir y
estandarizar estos dispositivos. Pero se puede asegurar que el uso de lamparas
ahorradoras mas el uso de dispositivos que regulan la tension nos ofrece un ahorro
considerable y significativo, por lo que concluimos que si existe un ahorro de cierta
magnitud significativa.
95
96 CONCLUSIONES
concluir que los aspecto de ahorro de energa, comodidad e innovacion son validas al
termino de esta investigacion, con lo que respecta ultimo aspecto de innovacion se
al
recalca que la tecnologa de Android es practicamente joven de no mas de 4 anos de
edad, por lo que se asienta que definitivamente es innovador el empleo de estas tecnolog
as en los sistemas de iluminacion eficiente.
Realizar a parte de una conexion va Bluetooth, realizar una conexion USB para
utilizar una PC como centro de mando.
Transmitir del Sistema receptor al transmisor los estados de cada Dimmer que se
estan controlando as como los porcentajes de iluminacion que se estan llevando
a
cabo.
Microchip, Application Note: PICDIM Lamp Dimmer for the PIC12C508, Micro-
chip Technology Inc, 1997.
Badgery, J., 1989. Lighting controls systems practical experiences . 35th IE-
SANZ National Convention, Auckland.
BRE, 1983. Lighting Controls and Daylight Use. BRE Digest No. 272, Building
Research Establishment,Department of Environment, United Kingdon.
Crisp, V., 1982. Lighting Controls to Save Energy PD 33/82, BRE (Building Re-
search Establishment), Dept. of Environment, Reino Unido.
97
98 CONCLUSIONES
99
100 APNDICE
110
PRUEBAS Y RESULTADOS
Editor de Bloques
Notifier 1.ShowMessageDialog
titl
""' Advertencia
but'lonText
""' Ok
... btonoff.Enabled
to
false
'" btacel.Enabled
to e false
Elif numbe1
o
u
o.:ill txt glob.al OENiceMAC ~
length >
then-do
El ifelse
.... call Olddress gtob.ll DE!lllceMAC
Bluet oothClierrt1.lsOevicePaired
'"El btnConnect.Enabled
to true
eree-ee
D < M c e M A C
to r'
' text
-......~.... : : :: : :: :: : ::::..~_-~"""'.""""'
eeu Notlfler 1.Sil ow Alert occe
text Saved DEMce Is not Paired
-......----~
Editor de Bloques
~ ID 9ToonnoctDcrYIOO : ?. - MAC:iddtof9TDC!'Yioo
D~
1.Coo.noct -1!-~. OluC!loothClicl!lt Old- c. ..... MAC:idd.rofOTOCl'Yioo
1
- .. r.- 1
-
bt.nConnoc:t. Tcuct OJS00t1noc:t
lJ'uo
(!
--
btot1off.tn~
~ true
btd........
.Cn.M>b:I 1
'""'"''"""""
1 .,.. ]
-....
- -e:-1
~
Not:iffclr1..ShowAWt DCYiooCoonoctod
1
JJ
-5-
~AC
11
~ 11 BToonnoetDCMOC
- ..
--
YCK1ti-notsokictodllDCMOOT0Connoctlo\ll
botonOQ,pn9
-
btnConnoc::t..Tttld \.. Connoct
btd.t'm'OCll',[rn1bkid r. .....
-
btonoffLn~bkld .....
~
bt~En.lod .....
-- C'. .... 0CFYJOO D.i5oonnoc:tod
HOUfl..ShowAbt
Editor de Bloques
,,.- e -
- 21-----,-.----l
Mooo1
Button.29..Cltdt
-
- -
>
-
AoooklromotorSonsorlXA.ooot
- -
C:inwis31.B:ic:kgtoU.nclCob - e: Yo- 't- ButtooXl.Click
- -
~ OtuGtoothC'licmt
LSondText s
- BtuGtoothCliont LSondTut
.... 40 -
AoocdclromalocSon''IXA.ooo1
' 5~ u 'f-' btOolloffd.Clidt
Defin... l Text
t- lJ tstDC'YIOCl:.Bef~ing
BtuctoothCflont l t-' btonoff.Clic*
Vortica! 1
-s-s
1.D.l$00llnoct
-
Art:ingornent1.~
1 " ''"' 1
--
- - e :-
1
1 C'1noct
-....
-
btnCon.noeL Tut Vort.:a!Art:ingornent2.Visii4c
"" 1
- - s-
-....
-....
-1
tstDcrwoct.Ocmont.s ~ ~
".l. Btuotootl'IClicmt l.Add.fOSSC!
BluotoothCllcnt 1.SOOdT ext
1
SAnd:N:irms
btdflwnclr.Clic:k
t- 1J tstO~ftorPiclnng 1 t-' 1
ff
- D~AC
- -e:'"" 1
"
..,.....,.,. 11
'- r, tst.O~ion
1 --
-
V~ngomont1.Vidc
Editor de Bloques
V~ngomontl.Vidc
--u t5t0Cl'Y'OO..Tut
-5~ DcMooMAC
1
~
5 1
-
BlucitoothCliont 1 ' 1
- ..
tn io
SondTClld
---'11 bt.nCot1.noc::t..to.:11>tcid
-e 1 "" 1 -....
94 PRUEBAS Y RESULTADOS
Cdigo
Dimmer Modificado
#pragma bit Brtbut @ PORTB.0
#pragma bit Dimbut @ PORTB.1
#pragma bit LineInput @ PORTA.0
#pragma bit Salida @ PORTA.4
void main()
{
TRISB = 0x03;
CMCON = 7;
Maxbrt = 0xf0; //brillo mximo
NotInTest = 3;
PercentOn = 0xd0; //periodo encendido
Maxdim = 0x70; //valor mximo Dim
TestCheck = 0;
Outcount = 0; //contador salida del modo test
TestCount = 0; //contador modo test
DelayCnt = NotInTest; //contador retardo
LastBoth = 0; //bandera ambos pulsadores presionados la ultima vez
FirstPass = 1;
Count = 0; //contador general
for(Count = 0; Count < 60; Count++) //estabilizacin tensin
{
while(LineInput == 1);
while(LineInput == 0);
clrwdt();
}
void Buttoncheck()
{
if(!Dimbut && !Brtbut) //si ambos estan presionados
{
if(LastBoth == 0)
{
LastBoth = 1;//if(PercentOn == Maxdim)
PercentOn = Maxbrt;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
else
{ PercentOn--;
PercentOn--;
LastBoth = 0;
PercentOn = Maxdim;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
PercentOn--;
} PercentOn--;
PercentOn--;
} PercentOn--;
else
PercentOn--;
LastBoth = 0;
if(!Brtbut && Dimbut) //incrementa brillo
PercentOn++;
if(Brtbut && !Dimbut) //disminuye brillo
PercentOn--;
}
PRUEBAS Y RESULTADOS
Cdigo de Receptor
#include <p18f4550.h>
#include <usart.h>
#include <delays.h>
void main(void)
{
char sh;
char ch;
OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE
& USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_LOW,77
);
TRISA=0X00;
TRISB=0X00;
TRISC=0XF8;
TRISD=0X00
;
TRISE=0XF8;
PORTA=0XFF
;
PORTB=0XFF
;
PORTC=0X0
7;
PORTD=0XF
F;
PORTE=0X0
7;
while(1)
{
if(DataRdyUSART())
{
ch = ReadUSART();
if(ch=='A')
{
LATBbits.LATB7 = 0;
LATBbits.LATB6 = 0;
Delay10KTCYx(100);
LATBbits.LATB7 = 1;
LATBbits.LATB6 = 1;
}
else if(ch=='B')
{
LATBbits.LATB5 = 0;
LATBbits.LATB4 = 0;
Delay10KTCYx(100);
LATBbits.LATB5 = 1;
LATBbits.LATB4 = 1;
}
else if(ch=='C')
{
LATBbits.LATB3 = 0;
LATBbits.LATB2 = 0;
Delay10KTCYx(100);
LATBbits.LATB3 = 1;
LATBbits.LATB2 = 1;
}
.
.
.
.
else if(ch=='f')
{
LATBbits.LATB2 = 0;
Delay10KTCYx(500);
LATBbits.LATB2 = 1;
}
else if(ch=='g')
{
LATBbits.LATB1 = 0;
Delay10KTCYx(500);
LATBbits.LATB1 = 1;
}
else if(ch=='h')
{
LATBbits.LATB0 = 0;
Delay10KTCYx(500);
LATBbits.LATB0 = 1;
}
else if(ch=='i')
{
LATDbits.LATD7 = 0;
Delay10KTCYx(500);
LATDbits.LATD7 = 1;
}
else if(ch=='j')
{
LATDbits.LATD6 = 0;
Delay10KTCYx(500);
LATDbits.LATD6 = 1;
}
else if(ch=='-')
{
LATBbits.LATB7 = 0;
Delay10KTCYx(50);
LATBbits.LATB7 = 1;
}
else if(ch=='+')
{
LATBbits.LATB6 = 0;
Delay10KTCYx(50);
LATBbits.LATB6 = 1;
}
}
}
}
PRUEB
AS Y RESULTADOS
RN-41
www.rovingnetworks.com DS-RN41-V3.1 8/4/2009
Features
Fully qualified Bluetooth 2.1/2.0/1.2/1.1
module
Bluetooth v2.0+EDR support
Applications
Postage stamp sized form factor, 13.4mm x
25.8 mm x2mm Cable replacement
Low power (30mA connected,, <10mA sniff Barcode scanners
mode)
Measurement and monitoring systems
UART (SPP or HCI) and USB (HCI only) Industrial sensors and controls
data connection interfaces.
Medical devices
Sustained SPP data rates - 240Kbps (slave),
300Kbps (master) Asset tacking
HCI data rates - 1.5Mbps sustained, 3.0Mbps
burst in HCI mode Description
8MB on board flash, HCI mode, or SPP/DUN The RN41 is a small form factor, low power, highly
software stacks available. economic Bluetooth radio for OEMs adding wireless
Embedded Bluetooth stack profiles included capability to their products. The RN41 supports
(requires no host stack): GAP, SDP, multiple interface protocols, is simple to design in
RFCOMM and L2CAP protocols, with SPP and fully certified, making it a complete embedded
and DUN profile support. Bluetooth solution. With its high performance on chip
Bluetooth SIG Qualified, End Product Listing antenna and support for Bluetooth Enhanced Data
Rate (EDR), the RN41 delivers up to 3 Mbps data
Castellated SMT pads for easy and reliable rate for distances to 100M. Designers can easily
PCB mounting customize their application using up to 8Mbits of flash
Class 1 high power amplifier with on board memory. The RN41 is the perfect product for
ceramic RF chip antenna. engineers wanting to add wireless capability to their
o Certifications: FCC, ICS, CE product but dont want to spend significant time and
money developing Bluetooth specific hardware and
o Environmentally friendly, RoHS software.
compliant
Block Diagram
Crystal
VCC
GND
CSR BlueCore-04 PIO4
RF External PIO5
Switch PA BALUN
PIO6
USB
UART
PCM
Flash
Memory
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
DS-RN41-V3.1 8/4/2009
Overview
Baud rate speeds: 1200bps up to 921Kbps, non-standard baud rates can be programmed.
Class 1 radio, 330 (100m) distance, 12dBm output transmitter, -80dBm typical receive sensitivity
Frequency 2402 ~ 2480MHz,
FHSS/GFSK modulation, 79 channels at 1MHz intervals
Secure communications, 128 bit encryption
Error correction for guaranteed packet delivery
UART local and over-the-air RF configuration
Auto-discovery/pairing requires no software configuration (instant cable replacement).
Auto-connect master, IO pin (DTR) and character based trigger modes
Environmental Conditions
Parameter Value
o o
Temperature Range (Operating) -40 C ~ 85 C
o o
Temperature Range (Storage) -40 C ~ 85 C
Relative Humidity (Operating) 90%
Relative Humidity (Storage) 90%
Electrical Characteristics
Radio Characteristics
Freq. Bluetooth
Parameter Min Typ Max Units
(GHz) Specification
2.402 - -80 -86 dBm
Sensitivity @ 0.1%BER 2.441 - -80 -86 -70 dBm
2.480 - -80 -86 dBm
2.402 15.0 16.0 dBm
RF Transmit Power 2.441 15.0 16.0 15 dBm
2.480 15.0 16.0 dBm
2.402 - 5 75 kHz
Initial Carrier Frequency
2.441 - 5 75 75 kHz
Tolerance
2.480 - 5 75 kHz
20dB bandwidth for modulated
- 900 1000 1000 kHz
carrier
Drift (Five slots packet) - 15 - 40 kHz
Drift Rate - 13 - 20 kHz
2.402 140 165 175 kHz
f1avg Max Modulation 2.441 140 165 175 >140 kHz
2.480 140 165 175 kHz
2.402 140 190 - kHz
f2avg Min Modulation 2.441 140 190 - 115 kHz
2.480 140 190 - kHz
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
Pin Description
27 25
1 24
2 23
3 22
4
5
RN41 21
20
6 19
7 18
8 17
9 16
10 15
11 14
12 13
35 34 32 28
29 33 31 30
Top view
Pin Name Description Default
1 GND
2 SPI MOSI Programming only No Connect
3 PIO6 Set BT master (HIGH=auto-master mode) Input to RN41with weak pulldown
Set Baud rate (HIGH = force 9600, LOW = 115K or
4 PIO7 firmware setting) Input to RN41 with weak pulldown
5 RESET Active LOW reset Input to RN41 with 1K pullup
6 SPI_CLK Programming only No Connect
7 PCM_CLK PCM interface No Connect
8 PCM_SYNC PCM interface No Connect
9 PCM_IN PCM interface No Connect
10 PCM_OUT PCM interface No Connect
11 VDD 3.3V regulated power input
12 GND
13 UART_RX UART receive Input Input to RN41
14 UART_TX UART transmit output High level output from RN41
15 UART_RTS UART RTS, goes HIGH to disable host transmitter Low level output from RN41
16 UART_CTS UART CTS, if set HIGH, disables transmitter Low level input to RN41
17 USB_D+ USB port Pull up 1.5K when active
18 USB_D- USB port
19 PIO2 Status, HIGH when connected, LOW otherwise Output from RN41
20 PIO3 Auto discovery = HIGH Input to RN41 with weak pulldown
21 PIO5 Status, toggles based on state, LOW on connect Output from RN41
22 PIO4 Set factory defaults Input to RN41 with weak pulldown
23 SPI_CSB Programming only No Connect
24 SPI_MISO Programming only No Connect
25 GND
26 NC RF pad keep all traces and planes clear.
27-29 GND
30 AIO0 Optional analog input Not Used
31 PIO8 Status (RF data rx/tx) Output from RN41
32 PIO9 IO Input to RN41 with weak pulldown
33 PIO10 IO (remote DTR signal) Input to RN41 with weak pulldown
34 PIO11 IO (remote RTS signal ) Input to RN41 with weak pulldown
35 AIO1 Optional analog input Not Used
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
Digital I/O Characteristics
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
Module Dimensions
13.4 mm
mm
mm
3.2 mm
5.8 mm
2.0 mm
mm
3.3 mm 27 25
24
1 23
2
RN41 22 RN41 25.8 mm
3
4
21
20 15.4 mm RN41
5
6
19
18
RN41
13.2 mm
7
1.2 mm 17
8 16
9
15 Antenna
10
14
11 13
12 29 33 31 30
35 34 32 28
2.8 mm
RF Shield
2.5 mm
3.5 mm
2.0 mm
4.8 mm
25.8 mm
6.0 mm
7.2 mm
8.4 mm
9.7 mm
10.7 mm
13.2 mm
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
Design Concerns
1. Reset circuit. RN-41 contains a 1k pullup to VCC, the polarity of reset on the RN41 is ACTIVE LOW.
A power on reset circuit with delay is OPTIONAL on the reset pin of the module. It should only be
required if the input power supply has a very slow ramp, or tends to bounce or have instability on power
up. Often a microcontroller or embedded CPU IO is available to generate reset once power is stable. If
not, there are many low cost power supervisor chips available, such as MCP809, MCP102/121, and Torex
XC61F.
2. Factory reset PIO4. It is a good idea to connect this pin to a switch, or jumper, or resistor, so it can
be accessed. This pin can be used to reset the module to FACTORY DEFAULTS and is often critical
in situations where the module has been mis-configured. To set Factory defaults start HIGH, then
toggle times.
3. Connection status. PIO5 is available to drive an LED, and blinks at various speeds to indicate
status. PIO2 is an output which directly reflects the connection state, it goes HIGH when connected,
and LOW otherwise.
4. HCI mode. The RN41 module must be loaded with special firmware to run in HCI mode. When in HCI
mode the standard SPP/DUN applications are disabled.
5. Using SPI bus for flash upgrade. While not required, this bus is very useful for configuring advanced
parameters of the Bluetooth modules, and is required for upgrading the firmware on modules. The
suggested ref-design shows a 6pin header which can be implemented to gain access to this bus. A
minimum-mode version could just use the SPI signals (4pins) and pickup ground and VCC from
elsewhere on the design. mm
mm
6. Minimizing Radio interference. 1.5 mm 1.5 mm
When laying out the carrier board 13.2 mm
for the RN41 module the areas mm
under the antenna and shielding
connections should not have 7.0 mm
2.0 mm
surface traces, GND planes, or
27 25
exposed vias. (See diagram to right)
ATTENTION: Do
For optimal radio performance the not locate any
1 24 mm
antenna end of RN41 module parts, surface 2 23 1.5 mm
should protrude 5mm past any traces, internal 3 ATTENTION: 22 8 mm
traces or GND 4 Do not locate 21
25.
metal enclosure. plane under the 5 vias or surface 20
antenna area 6 traces under 19
7 shield 18
7. Soldering Reflow Profile. 8 connectors
17
9 16
Lead-Free Solder Reflow 10
1.5mm square 15
11 14
Temp: 230 degree C , 30-40 1.5 mm
mm 12 13
seconds, Peak 250 degree C
maximum.
Preheat temp: 165 +- 15 35
2
34
3
32 28
3
degree C, 90 to 120 seconds. 9 mm
3
30 1
Time: Single Pass, One Time 1.5 mm
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com
Compliance Information
Ordering Information
Part Number Description
RN-41 Standard Application firmware (SPP/DUN Master and Slave)
RN-41-H HCI firmware (HCI over H4 UART)
RN-41-U USB firmware (HCI over USB port, slave device at 12Mbps rate)
For other configurations, contact Roving Networks directly.
The Bluetooth trademark and logo are registered trademarks and are owned by the Bluetooth SIG, Inc.
All other trademarks are property of their respective owners.
Roving Networks reserves the right to make corrections, modifications, and other changes to its
products, documentation and services at any time. Customers should obtain the latest relevant
information before placing orders and should verify that such information is current and complete.
Roving Networks assumes no liability for applications assistance or customer product design. Customers are
responsible for their products and applications using Roving Networks components. To minimize the risks
associated with customer products and applications, customers should provide adequate design and
operating safeguards.
Roving Networks products are not authorized for use in safety-critical applications (such as life support)
where a failure of the Roving Networks product would reasonably be expected to cause severe personal
injury or death, unless officers of the parties have executed an agreement specifically governing such use.
809 University Avenue Los Gatos, CA 95032 Tel (408) 395-6539 info@RovingNetworks.com