Requisito de bluetooth muy simple

4

Tengo un requisito muy, muy simple para un módulo Bluetooth / solución Arduino. Deseo buscar e informar periódicamente la ID del dispositivo para detectar cualquier dispositivo Bluetooth presente. La lógica real con respecto a una mayor identificación de los dispositivos se produciría en sentido descendente. Creo que incluso SDP es una exageración para esta aplicación.

En términos muy simples, quiero usar esta información para informar a mi solución de automatización del hogar si ciertas personas están en casa o no.

Estoy bastante cómodo con el desarrollo de Arduino y con la interfaz con el hardware; han realizado un extenso trabajo con XBee y otros dispositivos de RF, pero tienen poca experiencia práctica con el desarrollo de Bluetooth.

Mi pregunta es esta: ¿es esto una implementación tan trivial como supongo que será? ¿Debería la mayoría de los módulos Bluetooth disponibles ser capaces de soportar este requisito? ¿Alguien tiene sugerencias con respecto a un módulo específico que sea una buena opción? Estoy buscando la solución de menor costo posible, ya que la mayoría de los módulos Bluetooth disponibles parecen ser una exageración masiva para este problema.

    
pregunta buzzdata

3 respuestas

7

¡Sí, esto es tan fácil como crees!

La mayoría de los módulos Bluetooth integrados (módulos que tienen una pila incorporada, en lugar de solo HCI que requieren que use una pila externa) le permitirán escanear (consultar) los dispositivos. Recientemente he estado jugando con varios, los módulos de Bluegiga, como el WT12 tienen una interfaz serial particularmente agradable y fácil de usar. Para esos módulos es solo un caso de conexión a un UART, enviar el comando de consulta al módulo y leer las respuestas (una línea por dispositivo que incluye la dirección MAC y el nombre del dispositivo).

La mayoría de los módulos que he visto tienen comandos e interfaces similares. Espere pagar $ 20-40 por un módulo de este tipo.

    
respondido por el Al Bennett
3

¿Cuál es tu interfaz? Si está utilizando un UART, deberá usar el estándar HCI de la especificación Bluetooth para comunicarse con un chip. No está claro si se trata de un proyecto de hobby para producción en masa o un simple hobby. En MP puedes obtener módulos Bluetooth muy por debajo de 4 $. Los chips generalmente están en el rango de 0.75-1 $, sin embargo, este número aumentará debido a la parte frontal y la antena de RF. Debe enviar sus datos a FCC / TELEC, etc., para diferentes mercados, por lo que para pequeñas cantidades busque los módulos con aprobación.

Según el software, no hay una pila de Bluetooth de código abierto realmente buena por ahí. El de Linux es grande y feo por lo que estás haciendo. Hay un proyecto de código abierto para implementar una pila de Bluetooth en el iPhone y he visto personas que lo conectan a los procesadores de tipo ARM, por lo que es donde empezar. Se llama BTStack (http://code.google.com/p/btstack/). Es realmente básico pero probablemente haga que tu proyecto funcione. Las pilas comerciales comienzan desde 20.000 NRE + de regalías en decenas de centavos.

    
respondido por el Frank
1

Así que acabo de comenzar a ver el mismo problema (detección de ocupantes para la automatización del hogar). Estoy empezando desde la perspectiva de un termostato en lugar de un sistema de toda la casa, pero el problema aquí es el mismo.

Una cosa que encontré bastante rápidamente con el chip WN-41 es que la interfaz de alto nivel (conjunto de comandos) no proporciona suficiente visibilidad para detectar un dispositivo Bluetooth a menos que esté en el módem "descubra". (Por lo general, los teléfonos celulares NO están en el modo "descubrirme" porque usa mucha energía).

Como tal, no es realmente una opción y lo único que no es el comando de alto nivel establecido en el WN-41 es la interfaz HCI.

Todavía no he podido encontrar una biblioteca HCI adecuada, aunque he encontrado un par de implementaciones parciales y / o relacionadas que podrían funcionar con alguna adaptación. He ordenado un par de desgloses de BlueGiga (uno de Jeff Rowberg en el que hice clic en "Quiero uno", pero todavía no están en stock) y uno de WES (www.goews.com) que se está vendiendo actualmente. el WT12 por $ 50.

Desafortunadamente, su placa WT12 no exporta los pines RTS / CTS en el encabezado pequeño, por lo que tiene que ir sin control de flujo (parece una mala idea) o tiene que cargar el pin completo 11/12 encabezados en el lado opuesto del tablero para extraer 6 pines de conexiones.

Además, la interfaz SPI de Bluegiga no sirve para nada más que mezclar el firmware en el Bluegiga porque no lo admiten como interfaz para iWrap o HCI y no obedecen la especificación SPI para lo que hacen los pines cuando los El pin CS es IDLE.

Así que creo que la placa de Jeff es la mejor solución que he encontrado hasta ahora, pero aún necesito ponerme en contacto con ella y ver si reconocerá la proximidad de mi iPhone sin poner el teléfono en modo de descubrimiento.

Si encuentra una solución mejor, hágamelo saber.

    
respondido por el Owen DeLong

Lea otras preguntas en las etiquetas