Foro de elhacker.net

Comunicaciones => Hacking Mobile => Mensaje iniciado por: pogolin en 4 Agosto 2009, 20:42 pm



Título: encontrar dispositivos con un modulo hci0 y al mismo tiempo enviar con hci1
Publicado por: pogolin en 4 Agosto 2009, 20:42 pm
 :huh:    

hola amigos foreros

Estoy realizando una aplicacion en java que trabaja con bluez de marketing por proximidad bluetooth y realizando unas pruebas masivamente
 me encontre que el proceso de busqueda y envio  a dispositivos es un poco lento,  aun asi  que considero que mi proceso de trabajo es bueno
 pero creo que el dispositivo se atrofia al momento de buscar y enviar ya que solo estoy trabajando con uno, teniendo encuenta lo que se sabe de que
 solo existen 7 conexiones  simultaneas y todo eso.

Entonces se me ocurrio utilizar mas de un modulo bluetooth para trabajar,  pero no he logrado hacer mi busqueda de dispositivos en un modulo al mismo
 tiempo que envia el otro.

mi pregunta si me pueden ayudar comentando que clase o modulo de bluez  me permitiria trabajar simultaneamente con hci0 y hc1

No soy un programador muy  avanzado  en el tema de programacion de bluetooth entonces como que tengo algunas dudas todavia del tema.

[/pre]


Título: Re: encontrar dispositivos con un modulo hci0 y al mismo tiempo enviar con hci1
Publicado por: kavastudios en 5 Agosto 2009, 09:37 am
no soy bueno en java, pero creo que eso lo puedes hacer con hilos , donde un hilo este controlando un disp que haga el inquiry y lo que vaya obteniendo se guarde en algun arreglo y desde el otro disp hacer el envio


Título: Re: encontrar dispositivos con un modulo hci0 y al mismo tiempo enviar con hci1
Publicado por: SirGraham en 5 Agosto 2009, 15:49 pm
Hola,

Opinion personal:

Yo por de pronto no usaria Java. No te aporta nada a este tipo de desarrollos y la eleccion del mismo vendra mas seguramente lo habras hecho por desconocimiento o experiencia en C/C++.

Java a parte de ser mas lento tiene mas restricciones al acceso a hardware: Memoria, ficheros, Bluetooth etc...

El lenguaje C se desarrollo excusivamente para hacer S.O. Unix, del cual derivan todas las distribuciones de Linux. Esto para desarrollar una aplicacion en Linux es transcendental dado que permite un mayor acceso y control.

Partiendo de eso, desde C/C++ SI TIENES un acceso al soporte de THREADS y a la SELECCION DE MODULOS a los cuales puedes ponderar el envio, permitiendo un uso mas logico y racional de los recursos.

Intentar hacer marketing de proximidad con un solo modulo, sin optimizaciones y en ambito de concurrencia te va dar malos resultados. Si a eso le sumas hacerlo en Java, pues todavia peor...

Me temo que es lo que hay...

Saludos,
Sir Graham.





Título: Re: encontrar dispositivos con un modulo hci0 y al mismo tiempo enviar con hci1
Publicado por: pogolin en 5 Agosto 2009, 16:29 pm
Hola,

Gracias por sus comentarios,  y si la forma de hacerlo seria con hilos o  THREADS, y de hecho asi lo hago solo que no encontrado el metodo o clase que me permita separa y  decirle a un modulo en especifico que adquiera o que envie. lo que he logrado hacer hasta ahora es que si tengo conectado dos modulos cambiar cual va ha trabajar y solo estoy como swicheando los modulos pero lo que necesito es saber que metodo de un alguna clase del paquete bluez me permite crear 2 objetos tipo modulo y asi trabajar con ellos o algo asi.

Y en lo que corresponde SirGraham tienes mucha razon con lo de java y las otras observaciones que publicaste.

Si alguien me pudiera ayudar con algun ejemplo, no importa si es en C/C++  o java.

 De antemano gracias.





Título: Re: encontrar dispositivos con un modulo hci0 y al mismo tiempo enviar con hci1
Publicado por: SirGraham en 5 Agosto 2009, 20:59 pm
Hola,

Independientemente del lenguaje que uses, parte de la base de que la comunicacion que hacemos nosotros es de "bajo nivel" osea... con BlueZ (en el caso de Linux) pero usando Sockets. No llegamos a los comandos HCI (mas que en algun caso por necesidad) pero siempre sin usar funciones superiores.

Por lo que no es necesario ninguna clase superior.
Solo el concepto de conexion y el thread. Y eso seguro que lo tiene tambien Java.

Claro esto implica que tienes que implementar el protocolo de Obex tu mismo....

Saludos,
Sir Graham.