Está en la página 1de 20

DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

DEPARTAMENTO DE TECNOLOGÍA
ELECTRÓNICA (http://gtebim.es)

Master en Sistemas Telemáticos e Informáticos


Domótica y Sistemas Embebidos para Comunicaciones
Inalámbricas

Práctica 2-B
Sistema Arduino Bluetooth

Configuración de un módulo arduino para


comunicaciones bluetooth.

En el desarrollo de esta práctica el alumno podrá familiarizarse con la plataforma Arduino y


concretamente con la placa “Arduino BT (Bluetooth)”. Ésta, es una plataforma de desarrollo para
dispositivos embebidos que proporciona los elementos necesarios (tanto hardware como
software) para el diseño e implementación de sistemas que puedan incluir las siguientes
capacidades:
● Comunicación a través de la tecnología Bluetooth.
● Procesamiento.
● Interacción con elementos electrónicos externos a la plataforma.

1.1 Objetivo de la práctica

1
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

1.1.1 Objetivo general

Al terminar la práctica, el alumno deberá ser capaz de:


● Desarrollar sistemas sobre la plataforma “Arduino BT” que permitan realizar
comunicaciones a través de la tecnología Bluetooth y que puedan interactuar con
simples elementos electrónicos.
● Esta placa servirá para simular el control domótico de unas bombillas. El alumno
podrá comunicar con las bombillas mediante Bluetooth para encenderlas o
apagarlas. Para ello, la placa tiene incorporado un microcontrolador y un
conector para un módulo Bluetooth.
● En vez de bombillas el alumno encontrará unos led’s.
■ Cada led simboliza lo siguiente:
• Led1: luz del patio.
• Led2: luz del salón.
• Led3: luz del dormitorio.
• Led4: luz del aseo.
● El objetivo es que en la práctica 3, una vez realizada la 1 y la 2, el alumno pueda
controlar mediante un teléfono móvil con Bluetooth el sistema de iluminación
del kit de las prácticas, que hará las veces de sistema domótico de un hogar.

1.1.2 Objetivos específicos

● Analizar y familiarizarse con el entorno de programación de la plataforma


“Arduino”.
● Estudiar los elementos que componen la plataforma específica de desarrollo
“Arduino BT (Bluetooth)”.
■ Conocer los componentes hardware más relevantes.
■ Conocer ciertas funciones de las librerías software de Arduino.
● Desarrollar una aplicación software sobre la plataforma “Arduino BT” que
gestione una comunicación Bluetooth.
● Desarrollar una aplicación software sobre la plataforma “Arduino BT” que
interactúe con elementos electrónicos simples.
● Diseñar e implementar una aplicación software sobre la plataforma “Arduino BT”
que combine los desarrollos de los objetivos anteriores.

2
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

2 Material y montaje

2.1 Material

● Hardware
■ Ordenador personal con sistema operativo (Windows, Linux o Mac OS).
■ Mochila USB Bluetooth (en el caso de que el ordenador personal no disponga de
Bluetooth).
■ Placa “Arduino BT (Bluetooth)” [1].
■ Alimentación para la placa “Arduino BT”.
■ Tres diodos LED y tres resistencias de 65 para el desarrollo de un circuito
electrónico simple.
■ Una placa de inserción.

● Software
■ Entorno de desarrollo “Arduino” [2].

2.2 Montaje

● Montaje de la placa “Arduino BT”.


1. Utilizando una placa de inserción, colocar y conectar los diodos LED y las
resistencias siguiendo el siguiente esquema:

2. Una vez preparado los componentes en la placa de inserción, continuar conectando


dichos componentes a la placa “Arduino BT”. Seguir el siguiente esquema:

3
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

3. Conectar la batería a la placa “Arduino BT”. Es importante conectar dicha batería


correctamente para evitar posibles daños.

● Montaje e instalación de los elementos necesarios en la parte del ordenador personal.

1. Descargar el entorno de desarrollo de la plataforma Arduino. El fichero descargado


contiene todos los elementos necesarios para la ejecución de dicho entorno.
Recomendación: en el caso de Linux, descargar la versión de 32 bits.

2. Para sistemas operativos Windows y Linux, extraer la carpeta “arduino-xxxx”,


contenida en el fichero anteriormente descargado, en cualquier directorio (por ejemplo
en el Escritorio). Esta carpeta contiene un ejecutable (en Windows) o un script de shell
(en Linux) que permite lanzar la aplicación. Para sistemas operativos Mac,
simplemente hay que instalar la aplicación descargada.

3. En el caso de disponer de un sistema operativo Linux es necesario instalar el


paquete “openjdk-X-jre” para disponer del JRE de Java y poder ejecutar el entorno de
desarrollo. También es necesario instalar el paquete “avr-libc” que permite compilar
los programas desarrollados e interactuar con el microcontrolador de la placa “Arduino
BT” (ATmega168 [3]). Para instalar dichos paquetes, abrir un terminal y ejecutar:
$ sudo apt-get install openjdk-6-jre

4
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

$ sudo apt-get install avr-libc

NOTA: La versión del paquete openjdk-6-jre (versión 6) puede ser distinta.


Recomendación: utilizar siempre la última versión disponible.

4. Conectar la mochila USB Bluetooth al ordenador personal e instalar los drivers que
permitan al sistema operativo gestionar dicho módulo (en el caso de que el sistema
operativo no los instale automáticamente).

5. Vincular la placa “Arduino BT” al ordenador personal. Para ello hay que utilizar el
software del sistema operativo (Windows, Linux o Mac OS) que permita manejar el
Bluetooth pudiendo escanear dispositivos y conectarse a la placa que se esté
utilizando. El nombre de la placa está escrito en la parte inferior de la misma y es de la
forma “ARDUINOBT-X”, donde X es un número identificador de la misma. Al
intentar conectarse, el ordenador pedirá un código PIN que, por defecto, es el “12345”.

NOTA IMPORTANTE: No modificar bajo ningún concepto el código PIN de la placa.

3 Comandos AT para el control de la placa.


● Comando AT. Si responde OK significa que el chip Bluetooth reconoce los comandos
AT.
§ Comando AT

● En la casilla de EJEMPLO, en negrita viene el comando y en formato normal la


respuesta.

● Los comandos AT se envían al dispositivo Bluetooth a través del módulo USART. Si el


comando no se ha escrito correctamente se visualizará “SYNTAX ERROR”

● Por cada comando AT explicado a continuación se debe enviar un fin y retorno de línea.

● Una vez enviado se debe recibir del módulo Bluetooth: ECO del comnado (con el fin y
retorno de línea). Se recibirá un OK sólo para el comando AT.

● Se explican los comandos básicos para la práctica. Para más detalle consultar la
documentación adjunta.

COMANDO FUNCIÓN SINTAXIS EJEMPLO


HELP Muestra los HELP (Mostrará todos los comandos que vienen descritos en

5
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

comandos este documento más otros que no se han considerado


disponibles para el para la práctica).
módulo BT.
INFO Muestra la versión INFO INFO
del firmware del Respuesta OK:
dispositivo BT y *También devuelve la clase del dispositivo WRAP THOR AI (2.2.0 build 54)
sus características. Indica la potencia de transmisión ver tabla Copyright (c) 2003-2006 Bluegiga Technologies Inc.
2. Se indica en la respuesta en “Power Compiled on Nov 29 2006 18:27:46, running on 2022-
class” 1-b2b module, psr v19
- BOCK3 version 22 (Nov 24 2006 15:28:17) (max
acl/sco 7/1)
- Bluetooth version 2.0, Power class 1
- Firmware version 2812
- up 0 days, 00:20, 0 connections (pool 1)
READY.
INQUIRY Búsqueda de INQUIRY {timeout} NAME LAP offset EJEMPLO 1, inquiry básico:
dispositivos en el Timeout: Tiempo para interrogar a un INQUIRY 1
alcance de dispositivo. 8 ≈ 10 segundos. Respuesta OK:
cobertura. NAME: Para que la respuesta devuelva el INQUIRY_PARTIAL 00:14:a4:8b:76:9e 72010c
nombre del dispositivo remoto. INQUIRY_PARTIAL 00:10:c6:62:bb:9b 1e010c
LAP code: Perfil de Acceso a Red INQUIRY 6
INQUIRY 00:14:a4:8b:76:9e 72010c
INQUIRY 00:10:c6:62:bb:9b 1e010c

EJEMPLO 2, inquiry + nombre:


INQUIRY 1 NAME
Respuesta OK:
INQUIRY_PARTIAL 00:10:c6:3a:d8:b7 72010c
INQUIRY_PARTIAL 00:10:c6:62:bb:9b 1e010c
INQUIRY 3
INQUIRY 00:10:c6:3a:d8:b7 72010c
INQUIRY 00:10:c6:62:bb:9b 1e010c
NAME 00:10:c6:3a:d8:b7 "TOM"
NAME 00:10:c6:62:bb:9b "JUANI"

CALL Crear conexión con CALL address target connect_mode CALL 00:07:80:80:52:27 1 RFCOMM
dispositivo remoto Respuesta OK:
Address: dirección mac del dispositivo CALL 0
remoto. CONNECT 0 RFCOMM 1
Target: Puerto de conexión abierto del Respuesta errónea:
dispositivo remoto. NO CARRIER 0 ERROR 406
Connect_mode: canal RFCOMM RFC_CONNECTION_FAILED
.
CLOSE Cerrar conexión CLOSE link_id CLOSE 0
con dispositivo Link_id: Identificación del enlace de Respuesta OK:
remoto conexión con el dispositivo remoto. NO CARRIER 0 ERROR 0

NAME Para obtener el NAME mac_remoto NAME 00:07:80:bf:bf:01


nombre del mac_remoto: dirección mac del dispositivo Respuesta OK:
dispositivo remoto. bluetooth remoto NAME 00:07:80:bf:bf:01 “pepe_mvl”
“Friendly name” Respuesta errónea (dispositivo remoto no responde o
no existe):
NAME ERROR 0x104 00:07:80:bf:bf:01
HCI_ERROR_PAGE_TIMEOUT

RESET Resetea el módulo RESET RESET


BT local Respuesta OK:
(si está activado se recibirá el siguiente mensaje)
WRAP THOR AI (2.2.0 build 54)
Copyright (c) 2003-2006 Bluegiga Technologies Inc.
READY.
SDP Buscar los SDP mac_remoto uuid SDP 00:07:80:80:52:15 1101
servicios ofrecidos Mac_remoto: Mac del dispositivo remoto. Respuesta OK:
por un dispositivo Uuid: Identificador del serivicio (Nos devuelve que el servicio asociado al puerto serie
remoto bluetooth se llama PracticaHWD)
SDP 00:07:80:80:52:15 < I SERVICENAME S
"PracticaHWD" > < I PROTOCOLDE

6
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

LIST Muestra LIST LIST


Información de las Respuesta OK (2 dispositivos conectados):
conexiones activas LIST 2
LIST 0 CONNECTED RFCOMM 668 0 0 243 8d 8d
00:07:80:80:38:77 1 OUTGOING ACTIVE
MASTER ENCRYPTED
LIST 1 CONNECTED RFCOMM 668 0 0 419 8d 8d
00:07:80:80:36:85 1 OUTGOING ACTIVE
MASTER ENCRYPTED

SELECT Permite SELECT conexion (Primero hacemos un List para ver el identificador
seleccionar el de cada conexión)
dispositivo que ya Conexión: Seleccionamos la conexión del SELECT 1
está conectado al dispositivo remoto al que le enviaremos Respuesta OK:
cual queremos los datos. (nada)
enviarle datos.
*Podemos tener hasta 7 conexiones con
otros dispositivos simultáneas.
SET Para configurar el Hay tres opciones: SET BT NAME PRACTI A1HWD
módulo Bluetooth. SET BT CLASS 011100
- SET BT option value SET BT PAGEMODE 3 2000 1
- SET CONTROL option values SET CONTROL BAUD 115200,8n1
- SET PROFILE profile NewName SET CONTROL ECHO 7
SET PROFILE SPP SALUDA_HWD
Para SET BT: SET BT AUTH * 1234

NAME: Para poner el nombre, por ejemplo


“PRACTICA1HWD” Si queremos obtener un listado de la configuración
AUTH *: Se configura si el dispositivo va a utilizaremos el comando SET. Ejemplo:
requerir autenticación y autorización con SET
otro dispositivo. Normalmente son 128 bits Resultado OK:
pero por la limitación de la pantalla de los SET BT BDADDR 00:07:80:83:28:ef
móviles se suelen poner entre 4 y 6 SET BT NAME PRACTI A1HWD
dígitos. SET BT CLASS 011100
(Si se quiere activar el pin SET BT LAP 9e8b33
SET BT AUTH * 1234, SET BT PAGEMODE 3 2000 1
si se quiere desactivar SET BT ROLE 0 f 7d00
SET BT AUTH *). Ver Nota 1. SET BT SNIFF 0 20 1 8
SET CONTROL BAUD 115200,8n1
CLASS: Indicar el tipo de dispositivo, si es SET CONTROL CD 00 0
un ratón, móvil, o uno creado por nosotros SET CONTROL ECHO 7
011100. SET CONTROL ESCAPE 43 00 1
PAGEMODE: Indica si el dispositivo sera SET PROFILE SPP SALUDA_HWD
descubrible, connectable, ambas cosas o SET
ninguna. Si queremos que sea
descubrible y conectable lo indicaremos
con “3 2000 1”.

Para SET CONTROL:

BAUD: Permite configurar la velocidad,


datos enviados, paridad. Si queremos que
vaya a una velocidad de 115200 baudios,
8 bits de datos, 1 bit de stop y 0 de
paridad el atributo será: “115200,8n1”
ECHO: Permite activar el ECHO, es decir,
que lo que se le envía al dispositivo BT
también se recibe. Permite depurar. Para
activarlo el valor debe ser 7.

SET PROFILE: Podemos indicar el


nombre del perfil del servicio que ofrece el
dispositivo Bluetooth. Por ejemplo,
queremos ofrecer un servicio que envíe
información como una comunicación serie
(queremos enviarle hola a un dispositivo
que se conecta a este servicio). Se le
asigna un nombre, por ejemplo
“SALUDA_HWD”.

7
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Tabla 1

Potencia máxima Potencia máxima


Rango
Clase permitida permitida
(aproximado)
(mW) (dBm)

Clase 1 100 mW 20 dBm ~100 metros

Clase 2 2.5 mW 4 dBm ~20 metros

Clase 3 1 mW 0 dBm ~1 metro

Tabla 2

NOTA 1: Aunque nuestro dispositivo no requiera de autenticación por la configuración que


el hayamos dado, si otro dispositivo al que queremos conectar la requiere nos pedirá el PIN,
para ello se puede introducir el siguiente comando aunque nuestro módulo aunque el PIN no
se queda configurado para otros dispositivos, sino para el que quiere vincularse con nuestro
dispositivo:

AUTH mac_remote pin_code

4 Programación de la placa “Arduino BT (Bluetooth)”

4.1 Desarrollo de la práctica.

1. Desarrollar un programa sobre la plataforma Arduino, utilizando la placa “Arduino


BT”, que maneje el módulo Bluetooth WT-11 que incorpora, para establecer una
comunicación con el ordenador personal.

1.1. Abrir el entorno de desarrollo de Arduino.

1.2. Definir dos funciones en el código: “void setup();” y “void loop();”.


Estas dos funciones deben implementarse siempre cuando se desarrollan
programas sobre la plataforma Arduino.

8
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

● La función setup se ejecuta una única vez cada vez que la placa se reinicia. Suele
utilizarse para realizar todos los procesos de inicialización de la placa.

● La función loop se ejecuta de forma continua en un bucle infito. Esta función


suele recoger toda la lógica que implemente el programa.

1.3. Completar la función setup con el código necesario para configurar el módulo
Bluetooth WT-11.

● En primer lugar, mencionar que el pin número 7 del microcontrolador que incluye
la placa está conectado al RESET del módulo WT-11.
● Destacar también que la comunicación entre el microcontrolador de la placa y el
módulo WT-11 se realiza a través de una UART.

Por tanto, en este caso, la función setup se encargará de resetear el módulo WT-
11 y mandarle los comandos AT pertinentes (a través de la UART) para configurar el
módulo Bluetooth y permitir la comunicación entre el ordenador y la placa.

Las funciones incluidas en las librerías de la plataforma Arduino, y que son


necesarias para completar la función setup en esta parte de la práctica, son:

- void pinMode(int pin, int modo); p.e. - pinMode(1, OUTPUT);


Configura pines del microcontrolador como entrada (INPUT) o salida (OUTPUT).

9
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

- void digitalWrite(int pin, int valor); p.e. - digitalWrite(1, HIGH);


Escribe en el “pin” especificado el valor ‘1’ (HIGH) o ‘0’ (LOW).

- void delay(int milis); p.e. - delay(100);


Realiza una espera de “milis” milisegundos.

- void Serial.begin(int baud_rate); p.e. - Serial.begin(115200);


Inicializa la UART del microcontrolador y la configura a una velocidad de “baud_rate”
baudios.

- void Serial.println(const char* cadena); p.e. - Serial.println(“cadena”);


Trasnmite una cadena de caracteres a través de la UART del microcontrolador.

Los comandos AT necesarios para configurar el módulo Bluetooth WT-11 de la


placa son:

"SET BT PAGEMODE 3 2000 1"


"SET BT NAME ARDUINOBT"
"SET BT ROLE 0 f 7d00"
"SET CONTROL ECHO 0"
"SET BT AUTH * 12345"
"SET CONTROL ESCAPE - 00 1"
"SET CONTROL BAUD 115200,8n1"

1.4. Completar la función loop con el código necesario que permita transmitir mensajes
desde la placa “Arduino BT” al ordenador personal a través de la tecnología Bluetooth.

Los mensajes que transmita la placa “Arduino BT” serán visualizados en un


Monitor Serie que incluye el entorno de desarrollo de Arduino. Cuando se abre dicho
monitor, se abre consecuentemente una comunicación serie Bluetooth entre el ordenador
personal y la placa “Arduino BT”. De esta forma, cualquier dato que el microcontrolador
de la placa envía al módulo WT-11 a través de su UART es automáticamente
retransmitido utilizando la comunicación serie que previamente se ha abierto.

Por tanto, para implementar la lógica de la función loop serán necesarias


funciones de las librerías de Arduino como las siguientes:

- void delay(int milis);

10
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

- void Serial.println(const char* cadena);

1.5. Compilar y subir el programa desarrollado a la placa “Arduino BT”

Una vez terminado el programa es necesario compilarlo. Para ello, hay que
presionar el botón “Verify” del entorno de desarrollo:

Si el código implementado es sintácticamente correcto, en el mismo entorno


aparecerá un mensaje indicando que la compilación se ha realizado satisfactoriamente.

Cuando el programa compile correctamente, se podrá subir dicho código a la


placa “Arduino BT”. Para ello, es necesario seguir un determinado proceso:

1. Primero hay que seleccionar, en el entorno de desarrollo, la placa que vamos a


utilizar para subir el código desarrollado. Seleccionamos la placa “Arduino BT w/
ATmega328”.

11
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

2. También hay que seleccionar el puerto COM que se estableció entre el ordenador
personal y la placa “Arduino BT” en el momento en que se realizó la vinculación.
Concretamente se suelen establecer dos puertos COM, uno saliente y otro entrante.
Hay que seleccionar el puerto COM saliente (mirar en la configuración del Bluetooth
para diferenciar el puerto saliente y entrante). Este puerto es utilizado por el entorno
de desarrollo para subir el programa a la placa, siempre a través de una comunicación
Bluetooth.

3. Subir el programa desarrollado a la placa. Para ello es necesario presionar el botón


de RESET de la placa “Arduino BT” y acto seguido presionar el botón “Upload” del
entorno de desarrollo.

Es necesario presionar el botón RESET de la placa “Arduino BT” ya que el


microcontrolador dispone de un “bootloader” encargado de permitir la programación
de dicha placa a través de la comunicación Bluetooth. Dicho “bootloader” solo se
ejecuta durante unos pocos segundos cuando la placa se reinicia.

12
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Si el programa se ha cargado en la placa correctamente, aparece un mensaje en el


entorno de desarrollo confirmando el resultado del proceso.

Para confirmar que el programa que se ha cargado en la placa “Arduino BT”


funciona correctamente, abrimos el Monitor Serie del entorno de desarrollo y
comprobamos si se reciben los mensajes transmitidos desde la placa.

2. Desarrollar un programa sobre la plataforma Arduino, utilizando la placa


“Arduino BT”, que reciba comandos a través de una comunicación Bluetooth y que
encienda y apague los LED’s que se han conectado a dicha placa. Para el desarrollo
de esta parte de la práctica se utilizarán los conocimientos adquiridos hasta el
momento y se elaborará un programa que cumpla con el objetivo propuesto.

Para llevar a cabo esta parte de la práctica se va a necesitar funcionalidad


adicional que permita gestionar en la placa “Arduino BT” la recepción de datos
procedente de la comunicación entre el ordenador personal y dicha placa. Las funciones
de las librerías de Arduino que se van a necesitar son:

13
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

- int Serial.available();
Indica si se ha recibido algún dato a través de la comunicación serie Bluetooth.
Devuelve 0 si no hay disponible ningún dato y 1 si hay datos preparados para ser leídos.

- char Serial.read();
Devuelve el dato, en forma de carácter, que se ha recibido a través de la
comunicación serie Bluetooth.

Una vez desarrollado el programa y después de haber sido cargado en la placa,


para transmitir los comandos desde el ordenador personal se utilizará el Monitor Serie
descrito en la primera parte del desarrollo de la práctica.

5 Hitos de la práctica.
Es muy importante no alterar ninguno de los comandos de configuración para esta placa
sobre el módulo bluetooth. El hecho de cambiarlos puede provocar el suspenso de la práctica.
Para realizar los siguientes apartados tendrás que tomar la referencia la tabla de comandos, tabla
1, explicada en este documento:

Hito 1) Realizar todos los pasos descritos en el apartado 2.2 para realizar el montaje de la
práctica. Este paso debe ser revisado por el profesor.

Hito 2) Analizar los distintos comandos de las tablas que aparecen en la sección 3. Debes
encontrar el comando para modificar la configuración de la cobertura del chip bluetooth. Indica
en la entrega final al profesor (lee la nota final) los comandos y atributos seleccionados.

Hito 3) Realizar todos los pasos descritos en el apartado 4.

14
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Hito 4) Realizar un programa para la placa de Arduino que integre un protocolo para recibir una
serie de comandos para controlar el encendido y apagado de los led’s de la placa.
● Un ejemplo del protocolo está explicado en los anexos
● Cada led simboliza lo siguiente:
• Led1: luz del patio.
• Led2: luz del salón.
• Led3: luz del dormitorio.
• Led4: luz del aseo.
● El objetivo es que en la siguiente práctica, una vez realizada la 1 y la 2, el
alumno pueda controlar mediante un teléfono móvil con Bluetooth el sistema
de iluminación del kit de las prácticas, que hará las veces de sistema domótico
de un hogar.

Hito 5 - optativo) Incorporar un sensor de temperatura a la placa. Además, habrá que incorporar
la interpretación de un comando que cuando se reciba se envíe al teléfono móvil del usuario la
temperatura.

NOTA: El día de la entrega final el alumno deberá adjuntar en la memoria cómo ha ido
realizando cada uno de los hitos de esta práctica, detallando las cuestiones de diseño e
implementación. Se valorarán diagramas de estados y también indicar los roles que se han
adquirido en la práctica, así como las tareas de cada rol y el porcentaje de participación.

15
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Anexos
Anexo sobre el protocolo de encendido de bombillas

Recepción datos para


el control de bombillas.

Lectura del paquete.


@11 + “\cr” Encendida Bombilla 1.

¿Recibido OK1ON?
Visualizar respuesta Enviar al teléfono:
recibida. OK1ON

Lectura del paquete.


@10 + “\r” Apagar Bombilla 1.

¿Recibido OK1OFF?
Visualizar respuesta Enviar al teléfono:
recibida. OK1OFF

Desconectar la conexión Espera nuevas


BT. 16 conexiones.
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Fin

NOTA: LOS COMANDOS DESCRITOS EN ESTE DIAGRAMA PARA ENCENDER O APAGAR


BOMBILLAS SON UN EJEMPLO. SI QUIERES PUEDES CAMBIAR EL FORMATO. PERO
RECUERDA: DEBEN EMPEZAR POR @.

17
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Anexo para manejo de Linux


Minicom

Es una aplicación desarrollada para Linux que permite manejar los terminales conectados
al PC. En este caso, utilizaremos su funcionalidad para comunicarse con el puerto serie de la
placa de entrenamiento de la práctica.

● Deberás instalar el paquete minicom. A continuación, se muestra un ejemplo para Debian


o Ubuntu:
o apt-get install minicom

● Para arrancar el programa ejecutaremos “minicom –s” para configurar los valores de la
comunicación con el puerto serie.

o Como se observa en la siguiente figura se selecciona “Configuración de la puerta


serial”.

Imagen 1
o En este caso está todo correcto, pero si queremos cambiar alguna opción tenemos
que pulsar la letra indicada en cada opción. En este caso para cambiar la
configuración de los baudios habrá que pulsar la tecla E.

Imagen 2

o Si queremos cambiar la velocidad tendremos que pulsar la letra del abecedario


que se corresponda con la opción deseada. En este caso la I.

18
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

Imagen 3

● A continuación, pulsamos en la opción Salir y estaremos en un Terminal con el cual


podremos comunicarnos con el puerto serie igual que con el hyperterminal de Windows.

Programa en c

En este caso, se os facilitará un programa para realizar las mismas tareas que en Windows.
El programa se ejecutará en un terminal del siguiente modo:
./serial_test dispositivo velocidad núm_bits bit stop paridad tipo_pantalla

NOTA: - Tipo pantalla: Es el formato de visualización en pantalla de la información


1 hexadecimal, 2 decimal, 3 hexadecimal/ascii, 4 dec/ascii y 5 ascii

Ejemplo:

./serial_test /dev/ttyS0 9600 8 1 0 5

Nota: Es importante, tener permisos de lectura y escritura en /dev/ttyS0. Para ello, como
root se debe ejecutar en un terminal:
chmod a+rx /dev/ttyS0

Para introducir los comandos se hace igual que en el hyperterminal. Tecleamos los mismos
comandos que para el caso del punto anterior.

Referencias
[1] http://www.arduino.cc/en/Main/ArduinoBoardBluetooth
[2] http://www.arduino.cc/en/Main/Software
[3] http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf

19
DTE Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2011-2012

20

También podría gustarte