46 votos

Es La Comunicación Bluetooth Posible Sin Emparejamiento?

Estoy trabajando en un dispositivo que puede de forma inalámbrica activar un sistema de "al instante". La primera cosa que me vino a la mente fue el uso de la tecnología RFID que tiene la ventaja de instantánea y hoteles de la comunicación. Sin embargo, estoy interesado en utilizar mi teléfono bluetooth para realizar esta tarea en su lugar.

Así que mi pregunta es, para utilizar la comunicación Bluetooth, hay una manera de comunicarse sin necesidad de emparejamiento? En otras palabras, en un muy simplista nivel, supongamos que mi Bluetooth receiever está a la espera de un código de "abc123". Un dispositivo Bluetooth, como un teléfono, está programado para constantemente transmitir este código. Al recibir el código, el sistema comienza a hacer lo que su supone que una vez que se concede el acceso. Este sistema permitiría eliminar la vinculación de la barrera, por supuesto, a costa de la seguridad.

Así es este concepto de una posibilidad? Tengo poca comprensión de Bluetooth protocolos de enlace en un muy nivel técnico, pero si alguien me puede dar una ventaja, puedo empezar a aprender a partir de ese punto. No considero que mi limitada comprensión de una restricción.

33voto

FredB Puntos 496

Sí, es totalmente posible. Me comentó sobre esto anteriormente, y desde entonces han visto más. Usted puede tener la activación de dispositivo Bluetooth enviar la señal de activación a través de su nombre descriptivo.

El nombre descriptivo es el nombre legible por el usuario que aparece en la lista cuando la búsqueda de un dispositivo Bluetooth para emparejar. La velocidad a la que esta activa depende de la rapidez con que el dispositivo de recepción de las encuestas para los nombres descriptivos. Usted no ha mencionado qué tipo de dispositivo de recepción en el que estás usando, pero he encontrado este PDF (Pg.35) se detalla el proceso para la actualización de los nombres descriptivos de los dispositivos Bluetooth dentro del alcance.

Usted puede encuesta para los nombres descriptivos como a menudo como usted requiere. Si su dispositivo de accionamiento cambia su nombre descriptivo para el código de activación, abc123, entonces el dispositivo receptor será capaz de ver ese nombre sin emparejamiento y activar cualquier tarea que se está intentando llevar a cabo. Esto también permite que usted tiene una multitud de códigos de activación, creo que usted puede conseguir hasta 248 bytes para el amistoso nombre de Bluetooth.

Usted también puede buscar en intencionadamente abrirse a Bluejacking. Yo no estoy familiarizado con él, pero si la seguridad no es un tema que podría funcionar.

13voto

Sergio Morales Puntos 822

Esto se puede lograr con una tecnología dentro del Bluetooth de la marca llamado Bluetooth Smart (o Bluetooth de Baja Energía / Bluetooth 4.0) Y también dependiendo del teléfono que usted tiene.

La principal ventaja con la Energía Baja de Bluetooth es que consume mucha menos energía, y la vida esperada de un dispositivo puede ser años, dependiendo del intervalo de conexión, y de cuánto es la publicidad en una batería de celda de moneda.

Para resolver este problema usted puede poner el código en cuestión dentro de la publicidad de los datos del chip. (Bluetooth 4.0 Núcleo De La Especificación. Volumen 3, Parte C, Sección 11.1.4 o 11.1.10)

Hay 3 principales fabricante de chips que producen Energía Baja chips (TI, RSE y Nordic Semiconductor)

Nórdicos tienen una conectividad chip llamado nRF8001 (un chip de conectividad, plenamente calificado dispositivo) y un SoC nRF51822. El beneficio del uso de la nRF8001 es que usted puede utilizar su procesador de elección, y no tiene que preocuparse por el Bluetooth especificación de esto es manejado por el chip. El beneficio de nRF51822 es que es un sistema en chip y reduce la lista de materiales, que se está ejecutando Cortex-M0 y debe ser completo cuando se libera.

TI tiene el 8051 SoC chip cc2540 y la RSE tiene el chip SoC RSE µEnergy

Todo se reduce a su necesidad y preferencia en el procesador y la funcionalidad/precio

12voto

Hamish Downer Puntos 460

La respuesta corta es sí, es posible usar el Bluetooth sin necesidad de emparejamiento. Sin embargo, es todavía va a ser siempre un punto-a-punto. También hay problemas potenciales con la no-utilización de emparejamiento (principalmente la falta de seguridad y la falta de un buen soporte para este modo de operación). Si se puede hacer depende de su receptor de Bluetooth del hardware. Estoy asumiendo que usted está utilizando el estándar Bluetooth en lugar de Bluetooth de baja energía (que es completamente diferente y no muy bien apoyado en los teléfonos móviles). Si usted está usando de baja energía, entonces estás transmisor sería una baja de un dispositivo de energía y estás receptor sería algo que está a la escucha de los mensajes. No he usado este, así que no puedo dar ninguna información sobre esto, así que me quedo con 'normal' Bluetooth.

Como yo lo veo, hay dos problemas a superar:

  1. Desactivar el pin de emparejamiento

  2. Conexión automática de la iniciación

Voy a cubrir el número 2 en la primera como me da la impresión de que esto es lo que realmente estás interesado (disculpas si me estoy leyendo este equivocado). Con el fin de hacer esto desde un teléfono u otro 'maestro' del dispositivo, esto es la continua búsqueda de dispositivos Bluetooth remotos. Cuando reconoció que era aplicable, sería conectará automáticamente y enviar algunos datos o de otros que se iba a iniciar cualquier acción que se requiere. Otros han mencionado el uso del Bluetooth nombre descriptivo para este proceso y que es sin duda una manera de hacerlo. Mis experiencias de Bluetooth nombres descriptivos (especialmente, pero no exclusivamente, con la pila Bluetooth de Microsoft) es que no son tan robustos un método de escaneo. Usted probablemente iba a hacer mucho mejor utilizar el Dispositivo Bluetooth de Clase, que se emiten a la misma hora, que es el único dispositivo de dirección. Esta clase de dispositivo tiene un gran número de pre-especificado entradas para cosas como teléfonos móviles, ordenadores portátiles, ordenadores de sobremesa, etc, etc. Si utiliza uno de los no-estándar, las clases de dispositivo (por ejemplo, 00:00:00), recibirás al instante capaces de filtrar la gran mayoría de los dispositivos Bluetooth. Usted puede entonces conectarse con el resto del dispositivo y hacer algún tipo de petición-reconoce comunicación para iniciar su acción. Si usted hace esto adecuadamente oscuro (o comprobar el nombre descriptivo como una segunda consideración), debe implícitamente filtrar cualquier incorrecta de los dispositivos.


En cuanto a número 1, el pin de emparejamiento no es muy lógico si vas a crear transitoria conexiones, pero todavía puede ser la mejor manera de lograr lo que usted desea hacer. Si quieres evitar el pin de emparejamiento, se pueden encender y apagar un pareadas conexión se puede hacer. La forma de hacerlo depende del receptor Bluetooth a la aplicación, pero aquí hay algunos ejemplos:

  1. Bluegiga WT12: utilice el comando SET BT AUTH *
  2. National Semiconductor LMX9838: uso GAP_SET_SECURITY_MODE comando con el modo de seguridad 1 (sin vinculación)

etc.

Conectar el dispositivo puede hacerse sin necesidad de emparejamiento. Si el dispositivo de iniciar la conexión es la misma que la del receptor, esto es muy sencillo. Si usted está usando un PC con Windows, usted puede ir a través de la laboriosa tarea de crear un nuevo proceso de conexión y seleccione "no usar un pin", aunque Windows probablemente la va a pedir un pin cuando se conecta (0000 generalmente funciona, pero es muy escamosa). Si usted está usando python con pybluez, es muy simple:

import bluetooth
sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((<insert MAC address>, <insert port number>))

Sin embargo, si desea conectarse desde un teléfono móvil, se vuelve mucho más complicado. El SDK de Android no parece apoyo impares conexiones:

El actual Android Bluetooth API requiere que los dispositivos emparejados antes de que una conexión RFCOMM puede ser establecido. (Emparejamiento es se realiza de forma automática cuando se inicia una conexión cifrada con la Api de Bluetooth.)

(a partir de http://developer.android.com/guide/topics/connectivity/bluetooth.html). Hay maneras de evitar esto, pero son muy complicadas y no se admite también. Si usted está usando un iPhone, a continuación, conectividad Bluetooth es una lata de gusanos (licencias, etc), así que se los dejo por ahora.


Habiendo dicho todo esto, casi todas las API que he mirado permite emparejar y cómo desvincular a ser llevada a cabo (con la notable excepción de python/pybluez, pero eso es sólo una envoltura alrededor de la pila de Microsoft en Windows, así que usted puede llamar siempre a la baja de nivel de la función directamente). Así, cuando se ha detectado un dispositivo con el derecho a la clase de dispositivo, ¿por qué no se conecta automáticamente (con un predefinidos de vinculación número de pin), realizar la conexión, enviar los datos que se requiere, desconecte y vuelva a desincronizar. Nada de esto requeriría la intervención del usuario, y mientras no lo estás haciendo miles de veces (lo que potencialmente podría causar problemas con la memoria EEPROM de desgaste), no debería causar ningún problema. También le ahorrará un montón de problemas con el intento de obtener diferentes APIs para trabajar bien con lo que es percibido como un método no estándar a través de Bluetooth.

4voto

itaysk Puntos 55

Sí bluetooth la comunicación es posible sin la sincronización de dispositivos.Uso insecureRfcom relación con la seguridad del rfcom.No requiere de vinculación para la transferencia de datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X