DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
MASTER EN SISTEMAS TELEMÁTICOS E INFORMÁTICOS DOMÓTICA Y SISTEMAS EMBEBIDOS PARA COMUNICACIONES INALÁMBRICAS
GUIÓN PRÁCTICA 2: Comunicación PIC y módulo Bluetooth Conexión hardware y configuración a bajo nivel entre un PIC y un módulo Bluetooth
Profesor: Cristina Rodríguez Sánchez
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
GUIÓN PRÁCTICA 2: Comunicación PIC y módulo Bluetooth Conexión hardware y configuración a bajo nivel entre un PIC y un módulo Bluetooth
ÍNDICE 1
OBJETIVO DE LA PRÁCTICA............................................ ................................................................... ............................................ ..................... 3 1.1 Objetivo General........................................ General............................................................... .............................................. ................................ ......... 3 1.2 Objetivos Específicos. .............................................. ..................................................................... ........................................ ................. 3 2 MATERIAL Y MONTAJE.............................................. ...................................................................... ............................................... ......................... 3 2.1 Material...................................................... Material............................... .............................................. .............................................. ................................ ......... 3 2.2 Montaje Hardware ............................................. .................................................................... .............................................. ......................... 5 NSAMBLAD OR ............................................. 3 DISEÑO DEL PROGRAMA EN E NSAMBLADOR .............................................................. ................. 6 4 DISEÑO DE LA APLICACIÓN DE CONTROL PARA EL MÓDULO BLUETOOTH. ...... ......... ...... ..... 10 4.1 Diagrama del Ejemplo “ejepicbt1.asm” .............................................. ......................................................... ........... 15 4.2 Diagrama general.............................................. general...................................................................... .............................................. ...................... 16 4.3 Diagrama A: Configuración de los registros del PIC16F876......................... 17 4.4 Diagrama B: Configuración para Bluetooth..................... Bluetooth ............................................ .............................. ....... 18 4.5 Diagramas de control comunicación BT. ............................................ ....................................................... ........... 19 4.5.1 Diagrama conexión con otro módulo Bluetooth..................................... Bluetooth..................................... 19 4.5.2 Diagrama del protocolo de control de encendido de las bombillas........ bombillas. ....... 20
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
1 OBJETIVO DE LA PRÁCTICA 1.1 Objetivo General. Al terminar la práctica el alumno deberá ser capaz de: -
Realizar un programa que desde el microcontrolador permita conexiones inalámbricas por Bluetooth para controlar el sistema de encendido de los LEDs. Se tendrá que realizar un protocolo que desde el microcontrolador permita recibir peticiones desde dispositivos móviles con Bluetooth. - Realizar un diseño físico y lógico para la conexión hardware entre un microcontrolador (PIC 16F876) con un módulo Bluetooth realizando una configuración a bajo nivel. El lenguaje de programación podrá ser C o podrá ser ensamblador. o - Opción opcional y complementaria: realizar la opción utilizando el módulo Arduino presentado en la práctica 1. El lenguaje de programación será java para Arduino. o
1.2 Objetivos Específicos. Al terminar la práctica el alumno deberá ser capaz de: Con respecto al microcontrolador del kit: -
Interpretar y conocer los comandos AT para la comunicación con el módulo Bluetooth. Conocer las especificaciones del PIC16F876. Conexión física entre el PIC16F876 y el módulo USART del módulo Bluetooth. Enviar a través del módulo USART del microcontrolador los comandos AT para la configuración de la comunicación. - Probar la correcta transmisión y recepción de los datos. - Realizar un protocolo para recibir tramas de datos que controlen el encendido/apagado de bombillas, simuladas por unos LEDs. - Una vez depurado este protocolo, en la siguiente práctica (práctica 3), se realizará un programa para un teléfono móvil, que “utilizará” el protocolo implementado para comunicarse con el kit del microcontrolador, y así, controlar el sistema domótico de manera inalámbrica. Con respecto al kit de Arduino: - Analizar los comandos y librerías - Configurar el puerto serie para la comunicación con el chip de Bluegiga. -
2 MATERIAL Y MONTAJE 2.1 Material -
Hoja de especificaciones del PIC16F876 (PIC16F87X.pdf). Cable conexión Puerto serie RS232. Alimentación para el módulo bluetooth y el pic. PC con Sistema Operativo Windows o Linux.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
-
CD con MPLAB IDE para Windows. Programa ejemplo “ejepicbt1.asm” en ensamblador del directorio “programas_ejemplo_HD\ENSAMB_PIC”.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
2.2 Montaje Hardware
Figura 1. En la figura aparece un reloj de 4Mhz, puede ser ese mismo o bien uno de 3.6864, revisa tu placa.
En la figura anterior, se presenta el diseño lógico de las conexiones entre el microcontrolador y el módulo Bluetooth de Bluegiga del kit de las prácticas. Como se puede observar, tanto la alimentación como la tierra, deben ser las mismas para que ambos dispositivos tengan las mismas referencias. La resistencia que se pone en el pin Vpp es para evitar que el dispositivo esté haciendo reset continuamente (más información en el datasheet del PIC16F876). Es necesario que ambos (módulo BT y pic16f876) tengan el mismo nivel de tensión de alimentación puesto que los pines RX y TX dependen del valor con que se alimente el pin Vdd (datasheet PIC16F876). Estos pines se cruzan en la conexión con el módulo BT debido a que cuando el microcontrolador envía por TX el otro módulo lo debe recibir por RX. Y lo mismo con el pin RX del PIC. El reloj de cristal puede ser de 4Mhz o de 3.6864Mhz, debes
comprobar este valor para realizar los cálculos que se van a requerir para esta práctica. En los pines RB6 y RB5 se han puesto led’s junto con resistencias, para que sirva para depurar lo que sucede en el programa. Es decir, que se enciendan dependiendo del estado del control que hayamos implementado para el microcontrolador. También los utilizaremos para que simulen dos bombillas. Una vez realizadas las conexiones de la figura, el siguiente paso es conectar la alimentación al módulo Bluetooth (que suministrará la alimentación para el PIC).
Nota: Se suele conectar para una mejor protección del circuito un condensador de 100nF entre Vdd y Vss.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
3 DISEÑO DEL PROGRAMA EN ENSAMBLADOR -
Paso 1: Instalar el MPlab. Programa para compilar código a bajo nivel, como ensamblador.
-
Paso 2: Abrimos el MPLab. Desplegamos el menú Project y elegimos “Create New Proyect”. A continuación, aparece un “Wizard” que nos guiará en la creación del proyecto. Pulsamos “Siguiente”. Ver siguiente figura.
Figura 2
-
Paso 3: Elegimos el dispositivo. En este caso seleccionaremos “PIC16F876”. Pulsamos siguiente.
Figura 3
-
Paso 4: Indicamos el path del compilador, del linkador de librerías como aparece en la siguiente figura. Pulsamos siguiente.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
Figura 4
-
Paso 5: Indicamos el nombre del proyecto en la casilla “Proyect Name”, lo denominaremos “practicaPIC”. En la casilla de “Proyect Directory” indicamos el path del proyecto, podemos cambiarlo pulsando la tecla “Browse”. Y finalmente pulsamos siguiente.
Figura 5
-
Paso 6: En la siguiente figura aparece un menú para añadir un fichero a nuestro proyecto, pero puesto que partimos de 0 no lo añadimos. Sino, simplemente aparecerían dos ventanas: en la de la izquierda aparecen los archivos de nuestro ordenador, buscamos el que queremos añadir y pulsamos la tecla “Añadir”. A la derecha aparecerán los ficheros que se hayan añadido.
-
Paso 7: Pulsamos “Finalizar” y nuestro proyecto ya está creado. Ver siguiente figura.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
Figura 6
-
Paso 8: Una vez creado el proyecto nos aparecerá en la parte izquierda de la pantalla una ventana en la que se incluyen los ficheros de nuestro proyecto. Paso 8.1: Si no tenemos el código de ningún fichero que queramos añadir a o nuestro proyecto pulsamos: “File New”. Aparece una ventana en blanco. Escribimos el código del fichero. Guardamos el fichero con extensión “.asm”. Paso 8.2: Una vez que tenemos el código, en la ventana del proyecto pulsamos o con el botón derecho del ratón sobre “Source Files” y seleccionamos “Add Files…”. Nos aparece un menú para seleccionar el archivo guardado en nuestro PC con extensión “.asm”. !
!
! !
Figura 7
-
Paso 9: Lo siguiente será configurar los bits del dispositivo. Para ello pulsamos sobre “configure” “configure bits”. Los configuramos con los datos que aparecen en la siguiente figura. Oscillator: XT. Cristal de cuarzo externo. o Watchdog Timer: Desactivado. o Power Up Timer: Desactivado. o Brown Out Detect: Desactivado. o Low Voltage Program: Activado. Trabaja con tensión baja. o Flash Program Write: Activado. Permitimos reescribir la flash del pic. o Data EE Read Protect: Protección de datos del pic16f876 para lectura o desactivado. Code Protect: Desactivado. Se puede cambiar el programa del dispositivo. o Reprogramar. !
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
Figura 8
-
Paso 10: Finalmente compilamos el programa pulsando el icono “build”.
“compile” y
-
Paso 11: Si no ha habido ningún problema al compilar saldrá una ventana indicándolo. Ahora podemos grabar el programa en el pic. Para ello primero tenemos que seleccionar el programador. En nuestro caso, seleccionaremos en el menú “Programmer” “PICSTART PLUS”. !
o
Indicamos el puerto en el que está conectado el programador: “Programmer” “Settings” !
Figura 9
-
Paso 12: Posteriormente activamos el programador en el mismo menú “Programmer” “Enable”. !
-
Paso 13: Los iconos del programador se activarán. Existen 4: read, write, verify, clear. Pulsamos el botón “clear”, y posteriormente “write”. Si no ha habido ningún problema indicará que se ha producido de forma satisfactoria la programación.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4 DISEÑO DE LA APLICACIÓN DE CONTROL PARA EL MÓDULO BLUETOOTH. - MODO DE DEPURACIÓN: Para probar el correcto funcionamiento del montaje y del programa en ensamblador se puede utilizar un modo de depuración del montaje HW: Una vez hecho el montaje HW, y programado el pic16f876 con el programa o para la comunicación con el módulo BT, se conecta el conector serie USART del módulo BT al PC utilizando el cable RS232. Lo siguiente es abrir un hyperterminal, en Windows o Linux. Con las mismas o características que la práctica 1. Por último, alimentar el montaje HW. o A continuación, en el hyperterminal podremos ver los comandos AT que se o envían y reciben entre el microcontrolador al módulo BT. -
Junto al material de la práctica se ha dejado un ejemplo de un programa en ensamblador “ejepicbt1.asm” que realiza la configuración del módulo USART del PIC16f876 para la comunicación con el módulo USART del módulo bluetooth. El programa tiene un ejemplo de cómo configurar un chip Bluetooth a 9600 baudios pero con un reloj de 4Mhz. Tienes que modificarlo para que vaya a 9600 baudios pero para un reloj de 3.6864Mhz. NOTA: Recuerda que el chip BT, por defecto, está configurado a 115200 baudios. Utiliza el comando que realiza esta tarea. Posteriormente, vuelve a modificar la configuración del hiperterminal para que vaya a 9600 baudios).
-
El programa “ejepicbt1.asm” realiza las labores descritas en el diagrama 4.1. Y una vez realizada la configuración serie, comienza a enviar al módulo de Bluegiga. Lo que le envíamos como ejemplo es el comando “AT”. Y recibiremos “AT + fin de línea + retorno de carro + OK + fin de línea + retorno de carro”.
-
En el diagrama 4.2 se presenta el esquema a seguir para la realización de la práctica TOTAL de la práctica.
-
Con este ejemplo, el guión de la práctica 1 y los diagramas de inicialización descritos a partir de los diagramas de los apartados 4.3 y 4.4 podremos configurar nuestro módulo bluetooth para que otros dispositivos se conecten a él.
-
Para que te funcione correctamente la recepción tienes dos opciones: o o
Desactivar el eco. Modificar la subrutina de Recibir_Serie para que no haya problemas al transmitir y recibir datos por la USART del pic. Se ha señalado en rojo la parte que cambia con respecto al código origende ejemplo. Recibir_Serie
BANKSEL RCSTA bcf RCSTA,CREN bsf RCSTA,CREN Esperar_Dato ; Recibir_Serie ; Esperar_Dato BANKSEL PIR1 ; Las dos lineas siguientes las comentamos para el simulador unicamente
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
btfss PIR1,RCIF goto Esperar_Dato bcf PIR1,RCIF BANKSEL RCREG movf RCREG,W RXdato
; Prueba si el buffer de RX esta lleno ; Recibir_Serie ; Esperar_Dato ; No hay dato ; Hay dato ; Si el buffer esta lleno lo lee y guarda
BANKSEL dato_REC movwf dato_REC return Si no utilizas ninguna de las dos opciones es posible que en la siguiente práctica tengas problemas para que el pic reciba los datos enviados desde el teléfono. HITOS A SEGUIR: (Recuerda que el informe de esta práctica debes de ir haciéndolo a medida que hagas la práctica, sólo se entregará al profesor el día de la entrega de la memoria final, pero recuerda estar atento a las pautas de entrega en clase de partes del código o especificaciones. Este trabajo continuo se valora positivamente en la nota final) Consejo importante: vas a empezar a utilizar un hardware diseñado por el departamento de tecnología electrónica, por los propios profesores de la asignatura, que con un coste muy pequeño te ofrecen la posibilidad de crear tu desarrollo de un mini-sistema embebido para encender/apagar leds (bombillas). Además, estas placas las hemos ido evolucionando desde el año 2006, te rogamos que las tratas con el respeto adecuado ya que otros compañeros tuyos tamibén las utilizarán, para esta asignatura y para otras. Tienes que ser paciente con el hardware, hace lo que le dices, pero es díficil de depurar. Así que lee atentemente los hitos e intenta seguir los consejos que te damos.
Hito 1: La configuración Bluetooth que se debe realizar se describe en el diagrama 4.3 y 4.4 es: i) Configuración del módulo UART del pic16f876 (diagrama 4.3). ii) Configuración registros del módulo Bluetooth a través de comandos AT (diagrama 4.4). (1) Nombre del dispositivo: “DOMOLUZ”. (2) Tipo de dispositivo: “Remote Control”. Ayuda en el documento “BluetoothBaseBand.pdf”. (3) Nombre del servicio “Serial Port”: “ServLight”. (4) Conectable y descubrible por otros dispositivos. (5) Si queremos Autentificación el PIN=”1234”. O si no queremos que haya autentificación no introducimos el PIN. (6) El rango de cobertura del dispositivo Bluetooth será de 10-20 metros. (7) Para finalizar, se puede manda un reset para que comience a trabajar el módulo Bluetooth con los parámetros de configuración dados. Con este comando, si hubiese alguna conexión previa no cerrada, se terminaría. El ejemplo de este comando no viene en el diagrama, pero se puede incluir así como otros que se consideren necesarios para mejor la práctica.
Hito 2: El siguiente paso será implementar el protocolo de control de bombillas. Puede seguirse otro de manera opcional, pero se debe seguir el mismo criterio de simplicidad. Protocolo para encender las bombillas. Diagramas del apartado 4.5:
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
(1) Una vez establecida la conexión entre el kit (pic+módulo bt) y otro dispositivo bluetooth (pc ó teléfono móvil) se debe realizar lo siguiente: Desde el teléfono móvil con bluetooth se envía: Paquete para encender bombilla: @i1 + \r Donde “i” es el número de bombilla que se quiere o encender. Paquete para apagar bombilla: @i0+ \r Donde “i” es el número de bombilla que se quiere o encender. La respuesta desde la placa de la práctica a estos paquetes si se han recibido correctamente, es decir, cumplen la sintaxis: Respuesta a los paquetes: OK\r !
•
•
!
•
Hito 3: Simular : 1) Utilizando el manual de MPLAB subido en la web de la asignatura se deberán seguir los pasos para simular el código desde el MPLAB. 2) Debes describir qué bits has testeado para la simulación. 3) Recuerda que para recibir y enviar por la UART hay ciertos bits en las subrutinas (putchar y recibir_serie) que no permiten ser cambiados desde el simulador. Piensa como lo harías. Hito 4: Bajar a placa y validar desde el hiperterminal: 1) ANTES DE BAJAR A PLACA SE DEBE: a. Configurar el chip bluetooth para disminuir la velocidad a 9600 baudios. Recuerda que se ha acordado que el pic va a hablar a 9600 baudios a un reloj de 3.6864 Mhz. Y recuerda también que el bluetooth va por defecto a 115200 baudios. b. También se recomienda quitar el ECO del chip bluetooth para evitar errores en el código. Si no quitas el eco recuerda que todo lo que se manda por la UART del pic al bluetooth se replica, por lo tanto, tu programa de leer los paquetes de encendido/apagado puede fallar ya que va a tener que leer demasiados caracteres, y si no se hace un uso eficiente de la UART puede fallarte el código. c. Recuerda también echar un vistazo al datasheet del pic para ver qué bits debes reiniciar en la UART para evitar problemas para leer del buffer de la UART. Esto no es obligatorio pero conveniente que lo intentes averiguar. 2) Compila la versión donde sólo se envían los comandos AT descritos en del diagrama 4.4. 3) Tendrás que leerte el manual para bajar el programa utilizando el ic-prog. Recuerda que el entorno MPLAB tiene su propio simulador y grabador de pics, pero vamos a utilizar uno muy económico y que sólo requiere de un programa: ic-prog. 4) Para grabar el código con el ic-prog localiza el fichero .hex generado al realizar un “build all” de tu práctica. Copia el .hex y cárgalo a tu pic desde el ic-prog. Recuerda leer el manual. 5) Enciende la placa y desde tu móvil comprueba que se ha cambiado el nombre del chip bluetooth. a. Si tienes problemas para ver el nombre desde tu móvil asegúrate que la antena está bien conectada. Si no toca levemente con el dedo. b. Otra cosa que puedes hacer es encender la placa conectada al hiperterminal y QUITANDO EL PIC. Es decir, como si estuviésemos en la práctica 1 para hacer lo siguiente:
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
i. Teclea el comando SET y mira (con el pic quitado) si los registros del bluetooth se han actualizado. Por ejemplo, cambie el nombre del dispositivo y no le pongas PIN. ii. Comprueba que está a 9600 baudios. iii. Si no se han alterado los comandos del bluetooth avisa al profesor. Comprueba que has compilado el código y configurado los bits de reloj y del pic (recuerda en la parte del manual del MPLAB donde se hablaba del menú en MPLAB configure-> configure bits, tienes que ponerlo igual que en el manual). iv. Si te sigue sin funcionar comprueba que has configurado el pic, el reloj y los bits de Vcc/MCLR correctamente desde el ic prog. v. Si te sigue sin funcionar avisa al profesor. c. Para probar que te funciona el código, o que al menos has grabado bien, AHORA SÍ QUE TIENES QUE PONER EL PIC EN LA PLACA Y CONECTARLA AL HIPERTERMINAL, enciende la placa conectado al hiperterminal, comprueba que los Leds del inicio se apagan y se encienden (recuerda el código de ejemplo). Por favor, apaga la placa y enciéndele adecuadamente utilizando el conector cada vez que hagas cambios en el software del pic. No coloques el pic con la placa encendida porque puedes estropearla. d. Es aconsejable ponerse en ciertos puntos encender/apagar un led para saber por que partes vas del código en tiempo real. Ten en cuenta que entre encender y apagar un led tienes que meter una Pausa para que te de tiempo ver como se encienden y se apagan. 6) Haz lo mismo (pasos Hito 4 del 1 al 4) con la versión de código que sólo examina el protocolo de encendido/apagado de bombillas. a. Para probar esta parte SÍ TIENES QUE CONECTAR EL PIC A LA PLACA Y LA PLACA AL HIPERTERMINAL. b. Recuerda tener bien configurado los bits del menú de mplab (configure -> configure bits) y en el ic-prog (reloj de cristal, tipo de pic, etc). c. Ahora tienes al hiperterminal funcionando como sniffer de tu práctica. Cuando escribas por el teclado es como si le estuvieses enviando al pic comandos como si fueras el chip bluetooth. Es decir, cuando le escribes cosas por teclado al pic te llegan como si fueras el móvil que le ha enviado por bluetooth un comando de encender/apagar. d. Así que prueba a enviar encender la bombilla 1 desde el teclado a ver que pasa. e. A veces se recomienda en el código del pic utilizar un led como depurador, de tal modo que, sabes si está analizando bien la trama. Se dice como ejemplo un led pero puedes utilizar los que quieras hasta que consigas entender que te funciona. f. Otros compañeros utilizan lo siguiente: i. Cuando el pic recibe correctamente una secuencia de encendido/apagado el propio pic envía OK1, OK2, OK3… indicando el 1, 2, 3… el estado del funcionamiento del pic. ii. Si te falla quita el chip bluetooth con cuidado pero pidiendo permiso antes a la profesora. NO suele ser el problema pero si tienes algo mal del código te puede dar una excepción que no atiendes porque no se detecta.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
NOTA: Si utilizas un adaptador usb-rs232 puedes tener problemas a utilizar el ic-prog. Por eso se recomienda que hagas uso de los ordenadores de prácticas que tienen rs232 aunque sea para grabarte el programa y depurar con el hiperterminal. NOTA: En la entrega final de la práctica cada uno de estos hitos debe estar documentado correctamente. NOTA PARA LA SIGUIENTE PRÁCTICA: antes de implementar la siguiente práctica tienes que haber testeado si tu programa para el PIC funciona para recibir las peticiones de encendido/apagado. Para ello, conecta la placa al hiperterminal y escribe los comandos por el teclado que enviaría el móvil. Si la placa enciende y apaga la bombillas que le indicas por los comandos del hiperterminal (teclado), debería ser automático que te funcionase con el teléfono móvil. Esto es porque también le llegarán de manera serializada los comandos al microcontrolador del kit, pero en vez de utilizar el puerto serie para comunicarse con él, se realizará por Bluetooth mediante el envío de comandos desde un teléfono móvil o un PC. El objetivo es poder enlazar esta práctica con la siguiente, que será sobre el programa en el teléfono móvil que se encargará de controlar el sistema domótico.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.1 Diagrama del Ejemplo “ejepicbt1.asm”
Inicio Configuración serie del PIC 9600 baudios, 8 bits, 1 bit stop, 0 paridad. Habilitada la transmisión. Reloj 3.6864Mhz
Envío del comando “AT + fin de línea + retorno de carro” al módulo BT Lectura respuesta “AT + fin de línea + retorno de carro + OK + fin de línea + retorno de
carro”
Fin
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.2 Diagrama general
Inicio Configuración serie del PIC 57600 baudios, 8 bits, 1 bit stop, 0 paridad. Habilitada la transmisión.
Configurar comunicación Bluetooth con comandos AT enviados al módulo BT
Procesar comunicaciones
Atender peticiones NO
¿fin? SÍ Fin
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.3 Diagrama A: Configuración de los registros del PIC16F876 Configurar el registro TXSTA y RXSTA USART: Activar el bit TXEN (permitir transmisión) Activar el bit RXEN (permitir recepción) Activar el bit BRGH (alta velocidad). Configuración asíncrona.
Atributos de la comunicación serie: 9200 baudios, (3.6864Mhz) 8 bits, 1 bit stop, 0 paridad
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.4 Diagrama B: Configuración para Bluetooth Configurar comunicación Bluetooth con comandos sddd AT
Enviar al módulo BT:
Enviar al módulo BT:
SET BT NAME DOMOLUZ
SET BT POWER X X
Recibir del módulo BT:
Recibir del módulo BT: SET BT POWER X X
SET BT NAME DOMOLUZ
Enviar al módulo BT: SET BT CLASS xxxxxx
Configuración Bluetooth realizada con éxito.
Recibir del módulo BT: SET BT CLASS xxxxxx
Enviar al módulo BT: SET BT PAGEMODE x 2000 1
Recibir del módulo BT: SET BT PAGEMODE 3 2000 1
Enviar al módulo BT: SET PROFILE SPP ServLight
Recibir del módulo BT: SET PROFILE SPP ServLight
Enviar al módulo BT: SET BT AUTH * 1234
Recibir del módulo BT: SET BT AUTH * 1234
Nota: Se deben rellenar los campos donde está la Xs por los bytes requeridos par ala funcionalidad que se pide.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.5 Diagramas de control comunicación BT. 4.5.1 Diagrama conexión con otro módulo Bluetooth -
En el siguiente diagrama se muestra el proceso en el cual un teléfono móvil u otro dispositivo bluetooth solicita la conexión con el servicio 1101 (UUID_SERVICIO) del módulo Bluetooth. - El proceso es gestión de aceptar la comunicación se realiza por el propio módulo Bluetooth, sólo es necesario leer por el puerto serie continuamente. Por ello, es importante configurar de modo correcto todos los registros del módulo para que el proceso sea automatizado. - Por tanto, el siguiente paso es quedarse escuchando en el puerto serie abierto con el módulo Bluetooth y una vez que un dispositivo se conecte al módulo, el propio chip BT, internamente responderá con la cadena
-
“RING [link id] 00:07:80:00:00:00 [channel] RFCOMM ” Link_id: Será el identificador del enlace para la conexión. Channel: será el canal abierto para la conexión RFCOMM. Cuando dos dispositivos se desconectan el mensaje dado por el chip BT es “NO CARRIER ”.
Procesar comunicaciones.
RING 0 MAC_TELEFONO 1 RFCOMM
(llamada de conexión entrante)
Enviar al teléfono: CONNECT 0 MAC_TELEFONO 1 RFCOMM
Conexión establecida con el teléfono y el módulo Bluetooth.
Recepción datos para el control de bombillas. Diagrama 4.5.2
*externo: Teléfono móvil u otro dispositivo Bluetooth que se haya conectado a nuestra placa de la práctica.
DTE
Domótica y Sistemas Embebidos para Comunicaciones Inalámbricas- Curso 2010-2011
4.5.2 Diagrama del protocolo de control de encendido de las bombillas. Recepción datos para el control de bombillas.
ó
@11 + “\cr”
Lectura del paquete. Encendida Bombilla 1.
¿Recibido OK1ON? Visualizar respuesta recibida.
Enviar al teléfono:
@10 + “\r”
Lectura del paquete. Apagar Bombilla 1.
¿Recibido OK1OFF? Visualizar respuesta recibida.
Enviar al teléfono:
Desconectar la conexión BT.
Espera nuevas conexiones.
OK1ON
OK1OFF
Fin NOTA: LOS COMANDOS DESCRITOS EN ESTE DIAGRAMA PARA ENCENDER O APAGAR BOMBILLAS SON UN EJEMPLO. SI QUIERES PUEDES CAMBIAR EL FORMATO. PERO RECUERDA: D EBEN EMPEZAR POR @.