Escolar Documentos
Profissional Documentos
Cultura Documentos
Este post es una continuacin de nuestro esfuerzo para mejorar host USB 2.0
para la biblioteca Arduino haciendo especial hincapi en el perfil SPP Bluetooth
y capacidad de Luminardo para iniciar la conexin a un hardware Bluetooth
SPP-conscientes remoto. La ltima vez que se ha descrito lo que tuvo que ser
cambiado en la biblioteca para que Luminardo para iniciar el emparejamiento
de secuencia. Hoy vamos a avanzar ms all y descubrir lo que ms tiene que
hacer. Pero antes de proceder primero que necesitamos hacer para algunas
preparaciones para asegurarnos de que tenemos las herramientas y la
documentacin a la mano. Tenga en cuenta que este post no establece una
meta para hacer una completa gua Bluetooth, es ms bien un ejemplo que
demostrates dnde empezar y cmo aprender con el fin de resolver un
problema relacionado con la pila BT.
Y, por ltimo que necesitaramos un dispositivo para conectarse. Podra ser otro
PC o Laptor con adaptador Bluetooth o un adaptador ELM327. En este ltimo
caso un adaptador debe ser alimentado como en esta etapa no es necesario en
la comunicacin fsica con el autobs del coche y que es suficiente para aplicar
solamente la tensin de alimentacin. Tambin es extremadamente
inconveniente para ejecutar experimentos en un coche ya sea dentro de un
garaje oscuro o un lugar de estacionamiento, un laboratorio casero sera un
lugar mejor. Cualquier fuente de alimentacin de 12 V CC capaz de entregar al
menos 100 mA har. Durante nuestras pruebas hemos utilizado una fuente de
alimentacin de banco como se muestra en las fotos de abajo. Asegrese de
que usted consigue la derecha de polaridad: cable marrn es GND, cable rojo
es + 12VDC.
Todas las interacciones con los servicios de SDP y RFCOMM se realizan a travs
de interfaz L2CAP subyacente, por razones de simplicidad lo consideran como
una capa de transporte troncal. Antes de cualesquiera solicitudes se pueden
enviar a los servicios ya sea SDP o RFCOMM una conexin a ese servicio tiene
que ser establecida por medio del conjunto estndar de comandos L2CAP. El
orden de estos comandos es importante. En la mayora de los casos, si un
comando est mal formado o enviado en el momento inapropiado ser
ignorado y ningn paquete de error de cualquier tipo ser enviado lo que sin
duda hace que la solucin de problemas ms difciles. Una secuencia tpica de
establecer conexin con un SDP (RFCOMM o cualquier otro) el servicio es la
siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Los datos ACL: manejar 43 banderas 0x02 dlargo 12
L2CAP (s): Conecte req: psm 1 scid 0x0040 // saliente solicitud de conexin
al PSM = 1 (Service Discovery Protocol) de un cliente con SCID = 0x0040
(Fuente Canal Identificador, un identificador nico de nuestro punto final o
cliente)
> Datos ACL: manejar 43 banderas 0x02 dlargo 16
L2CAP (s): Conecte rsp: dcid resultado 0x0040 0x0040 scid 0 0 Situacin //
respuesta de conexin entrante de un extremo remoto con DCID = 0x0040 con
resultado y el estado se establece en 0 (xito)
Conexin exitosa
<Los datos ACL: manejar 43 banderas 0x02 dlargo 12
L2CAP (s): Config req: DCID 0x0040 banderas 0x00 clen 0 // saliente
SOLICITUD CONFIG desde nuestro punto final con los parmetros de
configuracin (banderas) ajustado en 0
> Datos ACL: manejar 43 banderas 0x02 dlargo 20
L2CAP (s): Config req: DCID 0x0040 banderas 0x00 clen 8 // SOLICITUD
CONFIG entrante del extremo remoto
MTU 60
FlushTO 65535
<Los datos ACL: manejar 43 banderas 0x02 dlargo 18
L2CAP (s): Config rsp: flags 0x0040 scid 0x00 resultado 0 clen 4 // saliente
RESPUESTA CONFIG desde nuestro punto final
MTU 60
> Datos ACL: manejar 43 banderas 0x02 dlargo 18
L2CAP (s): Config rsp: flags 0x0040 scid 0x00 resultado 0 clen 4 //
RESPUESTA CONFIG entrante del extremo remoto
MTU 48
La segunda consola registra datos en formato RAW y le da la oportunidad de
ver flujo de bytes real. La misma porcin de los datos se ver as:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<0000:. 02 2a 20 0C 08 00 01 00 00 02 03 04 00 01 00 40 * ............ @ //
saliente CONEXIN SOLICITUD L2CAP CMD (0x02 en la direccin 0x0009)
0010: 00.
<0000:. 02 2a 20 0C 08 00 01 00 00 04 04 04 00 40 00 00 * .......... @ .. //
saliente SOLICITUD L2CAP CONFIG (0x04 en la direccin 0x0009)
0010: 00.
<0000:. 02 2a 20 12 00 00 01 00 0e 05 4c 0a 00 40 00 00 * ....... L .. @ .. //
saliente RESPUESTA L2CAP CONFIG (0x05 en la direccin 0x0009)
0010: 00 00 00 01 02 00 3c ..... <.
10
11
12
13
14
15
16
17
18
=== === Encabezado HCI
02 2a HCI hanle con banderas del PP y BC
20 0c HCI ACL longitud total de datos (que en realidad especifica 0x000C
longitud total
de acuerdo con Bluetooth Core Spec. rev.4.0, Host Controller Interface Spec
Funcional)
y ser 0C 00 en lugar de 20 0C pero no te preocupes de eso ahora - que
funciona para nosotros de todos modos
00 08 L2CAP longitud de carga til
00 01 L2CAP ID del canal (0x0001 para ACL-U, consulte Bluetooth Core Spec.
Rev.4.0,
Control de enlace lgico y Adaptacin del Protocolo de Especificaciones,
pgina 54)
02 L2CAP_CMD_CONNECTION_REQUEST
Identificador de 03 paquetes
04 00 Comando de carga til Longitud
01 00 SDP_PSM
40 00 SCID, Fuente Canal Identificador
CONEXIN L2CAP estructura de paquetes RESPUESTA
1
2
3
4
5
6
7
8
9
10
11
=== === Encabezado HCI
02 2a 20 10 00 0C 00 01 00 - encabezado HCI, como el anterior, por favor ver
la estructura paquete de PETICIN DE CONEXIN L2CAP
23
24
25
26
27
28
29
Caso 1-st en nuestro registro generada por sniffer
=== === Encabezado HCI
02 2a 20 0C 00 08 00 01 00 - encabezado HCI, como el anterior, por favor ver
la estructura paquete de PETICIN DE CONEXIN L2CAP
04 L2CAP_CMD_CONFIG_REQUEST
Identificador 4c de paquetes
0c 00 Comando longitud de carga til
40 00 DCID (Destino Canal Identificador, en otras palabras, un ID de punto final
remoto)
00 00 Banderas
01 Config Opt: type = MTU (Maximum Transmission Unit) - Sugerencia
02 Config Opt: longitud
3c 00 MTU
02 Config Opt: type = Tiempo de espera Flush
02 Config Opt: longitud
ff ff tiempo de espera Flush
L2CAP CONFIG estructura de paquetes RESPUESTA
1
2
3
4
5
6
7
8
9
10
11
12
13
=== === Encabezado HCI
30 de marzo 2014 | Etiquetas: Bluetooth Core Spec, dongle Bluetooth, del perfil
de Bluetooth, bricolaje, L2CAP, Luminardo, Magictale, RFCOMM, SDP, SPP, host
USB | Categora: Luminardo | Deja un comentario
Traductor de Google para empresas:Google Translator ToolkitTraductor de sitios
webGlobal Market Finder