Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Question Saber si un dispositivo pierde señal Wifi

Hola a todos.

Trabajo con D5 y mi problema/necesidad es la siguiente:

Tengo uno/varios dispositivo/s wifi (tablet/portatil/PDA) conectado/s por wifi a un servidor (W8, W7 ó XP). Me gustaria monitorizar en el servidor y saber en todo momento la intensidad de la señal del/los dispositivo/s conectado/s (Como cuando se ven en el dispositivo las 5 rayitas verticales). Esto es para establecer como una especie de seguridad y decir por ej. si hay 5 rayitas, nada; si hay 3 rayitas, mensaje en el servidor de "se esta perdiendo la señal de la PDA1" y si hay una o menos (cuando normalmente debería de haber 5 ) sacar un mensaje "urgente" diciendo "se estan llevando el termina PDA1/2/3...etc".

Si sabés de alguna rutina o idea que pueda monitorizar esto os lo agradecería un montón.

Muchas gracias a todos por vuestro interés.
Marcial
Responder Con Cita
  #2  
Antiguo 21-10-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No tengo claro que eso puedas hacerlo desde el Servidor o debas hacerlo desde los clientes.
Seguro que puedes conocer los dispositivos conectados (por ejemplo vía WMI), pero no se si podrás acceder a esos datos (intensidad de señal), ya que eso es un dato que ves desde el dispositivo, no desde el servidor.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Bueno Neftalí, seguro que tienes razón. Entonces, en el programa que ejecutan los clientes (Via Terminal Server y que está logicamente en el Servidor) y con un timer en ese programa, habría recoger ese dato y que lo leyera el programa principal que es el que estaría vigilando si se pierde señal porque se estan llevando el dispositivo.

Pero ¿alguna idea o rutina de como hacerlo?
Responder Con Cita
  #4  
Antiguo 21-10-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por marcial Ver Mensaje
Bueno Neftalí, seguro que tienes razón.
No, no,... Yo no iría tan lejos.. ;-)
Como te he dicho es algo que no tengo claro, pero no lo tomes como una afirmación, porque es más una intuición o una deducción, que una seguridad.
No lo descartes e investígalo.



Cita:
Empezado por marcial Ver Mensaje
...en el programa que ejecutan los clientes (Via Terminal Server y que está logicamente en el Servidor) y con un timer en ese programa, habría recoger ese dato y que lo leyera el programa principal que es el que estaría vigilando si se pierde señal porque se estan llevando el dispositivo.
Más o menos algo así es lo que a mi se me había ocurrido.
Desde los clientes sí que debe ser accesible la fuerza o la intensidad de señal.
Como tú bien dices, ese datos es el que habría que "pasar" desde el cliente al servidor cada X tiempo.

(1) La consulta creo que se puede hacer vía WMI. Revisa el blog de Rodrigo Ruz, porque creo que hay ejemplos al respecto.
(2) En cuanto a la comunicación entre clientes y servidor, si están en la misma red, puedes utilizar sockets (algo sencillo bastaría). en el FTP del club, es posible que encuentres algún otro ejemplo al respecto.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Vaya, por desgracia hay un problema: Clase no valida aqui

Código Delphi [-]
 FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM WiFi_NetworkAdapter','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;

Y claro, anulando esa linea ya vienen luego una serie de errores en cascada.

Por lo visto, y segun dice Rodrigo "Maybe your Wifi Adapter driver does not install a CIMWiFiProvider which is necesary to register these classes".

Yo tengo un Router Comtrend HG5636+ de Jazztel (al que no tuve que instalar ningún driver para que funcionara) y en la web del fabricante no vienen drivers para W7, los trae para XP,NT y 2000. La verdad es que no se si instalar uno de esos drivers pero quiza me arriesgue a que luego no funcione el router. Además, según he leido por ahí, los de XP y luego ejecutar desde W7 con compatibilidad para XP no funcionan.

Seguiré mirando y si no, trataré de buscar otra solución para que no se lleven los tablets/ Pda's

Gracias Neftalí y a los que no habéis podido ayudarme.
Responder Con Cita
  #6  
Antiguo 21-10-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Pero dónde estás ejecutando esta línea?
¿Tienes un adaptador WIFI en ese equipo?

Que el router tenga WIFI no tiene nada que ver con esto. Esto te estará dando las características del adaptador wifi del equipo en el que lo estás ejecutando, no del router.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Vaya, lo que es el no saber.

Mi equipo no tiene adaptador wifi, tiene un router con una antena. Yo pensaba que como por ej.un portatil se conecta via wifi con mi servidor, pues que ya estaba todo hecho; que mi servidor tenía todo lo que hacia falta para implementar esta solución..

Digamos que es la configuración más estandard, un equipo y un router wifi. Por lo visto la solución para que no se lleven las tablets es más compleja que la que yo creia.

¿Alguna sugerencia para averiguar si las tablets/Pda's están fisicamente cerca del servidor?

Saludos
Responder Con Cita
  #8  
Antiguo 21-10-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por marcial Ver Mensaje
¿Alguna sugerencia para averiguar si las tablets/Pda's están fisicamente cerca del servidor?
Amarrada con una cuerda
Le puedes poner un chip RFID, de esos que envían una señal y salta una alarma.
Responder Con Cita
  #9  
Antiguo 21-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como dice Neftali, ese código te va a dar la recepción que tiene cada equipo, no se me ocurre otra cosa que lo ejecutaras en cada portátil. ¿ Y desde donde deseas verificar la recepción ?

Saludos


Edito: ¡ Me hiciste buscar que #@!& es un chip RFID ! (no es descabellado... )
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 21-10-2013 a las 19:56:19.
Responder Con Cita
  #10  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Hola Ecfisa
Es un restaurante de lujo que pretende entregar una/s tablet/pda a los clientes para que ellos se encargen su propia comanda. Entonces habría un PC digamos en la barra con el que estarían conectados por TermServer las tablets. En ese PC se estaría ejecutando el programa para el control de las comandas, mesas, etc., y tendría por ej. un timer que recibiria las señales de las tablets conectadas con el PC. Las tablets estarían ejecutando un programa ubicado en ese mismo PC.

Por ej. yo podría hacer que la tablet leyera un fichero y con el timer prog.de las comandas del PC chequeara si estaba leido. Si no lo leyera es que la tablet estaría fuera del alcance. Entonces eso significa que se lo han llevado y aqui entraría la solución de la cuerda de Casimiro. Investigaré sin embargo sobre la otra solución de RFID a ver si es viable o no en precio y operatividad.

Gracias
PD.Casimiro, voy a decirle al cliente lo de la cuerda. El tio es un panolis de mil demonios que seguro que se cae de espaldas.
Responder Con Cita
  #11  
Antiguo 21-10-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No se que tablets estas usando, pero es posible saber si que antenas estan encendidas (como el WIFI, Bluethooth, etc) y que tipos de redes (WAN, Celular, local) están abiertas.

Lo que NO te va a decir es si hay comunicación, que por lo general es lo que *realmente* uno quiere saber.

En ese caso, solo existen 2 metodos:

1- Desde el cliente: Haces una llamada a un sitio web, periodicamente. Asi es como se hace con los dispositivos iOS y el ejemplo de codigo de Reachability. Podrias usar www.google.com u otro similar (osea, haces PING o un GET)

2- Desde el servidor: Vas logeando cada vez que el cliente asoma su cara. Y tienes un timeout.

Si quieres algo superfacil de implementar que te da excelente desempeño y muy escaso overhead (que sirve para mezclar los dos anteriores e implementa algo asi como el indicador de presencia de un chat):

http://www.pubnub.com/
__________________
El malabarista.
Responder Con Cita
  #12  
Antiguo 21-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola marcial.

También habría que considerar cuál es la distancia máxima estimada que se podrán alejar las tablets, tal vez se solucione buscando un router Wifi con la potencia adecuada...

No soy experto en la materia pero encontré estos enlaces que tal vez te sirvan:

Alcance de una antena, router o USB Wifi. En este sitio que mencionan, hay información sobre varios routers, también hay una utilidad para el cálculo de distancia entre antenas

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 21-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Hola Mancx. Mira, es que la idea es que el cliente con la tablet no se pueda conectar a internet; sólo servirá para manipular su comanda. Aunque se podrían hacer pings, también se podría leer un fichero cada "2 segundo" y si no lo lee no hay alcance y saltaría la alarma. Pero creo que con ambas soluciones, cuando salte la alarma quizá ya sea tarde.

Hola Ecfisa. No creo que sea problema de conseguir routers con mas alcance, lo que yo quería con lo de la intensidad de la señal es averiguar si el tablet se está alejando del router; es decir, que yo se que en la sala en la que están los tables tienen 4 rayitas de intensidad en toda la sala; pues bien, si tienen tres o dos....es que se están alejando y entonces que salte la alarma pero antes de perder la conexión, porque entonces estarán en la calle con los tablets en el bolsillo.

Si como decia Neftalí, la intensidad sólo la puede averiguar la tablet y no el servidor, quizá fuera otra solución que ese dato se intentara guardar en un fichero que leyera periodicamente el programa principal de las comandas. Pero el problema sería cómo grabar ese ficherito con la intensidad. Creo además que el problema se complica (la solucion de www.pubnub.com) porque todo ha de estar hecho con D5.

De todas formas seguiré investigando sobre vuestras ideas.
Responder Con Cita
  #14  
Antiguo 21-10-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Ya que lo que te interesa es la ubicacion de los objetos y no la comunicacion:

http://www.parl.clemson.edu/~ahoover...owe-thesis.pdf

(Resumen: Usando GPS, RFID y otros)

Un posible metodo:

http://stackoverflow.com/questions/8...ifi-in-android

http://stackoverflow.com/questions/7...d-on-wifi?rq=1

La idea es que operas sobre los principios de como funcionan los GPS. Marcas los puntos fijos donde esta el acces point y utilizas las "fuerzas" relativas de la señal para generar un mapa que te indica en base a la fuerza donde esta el aparato. Luego triangulando te daria la ubicacion aproximada.

Pero eso puede resultar complicado...

Soluciones ya hechas, que se podrian "pegar" a las tablets y funcionan parecido a GPS:

http://mashable.com/2013/07/18/find-keys-apps/#_

http://www.npr.org/blogs/alltechcons...find-your-keys
__________________
El malabarista.
Responder Con Cita
  #15  
Antiguo 22-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por marcial Ver Mensaje
Hola Ecfisa. No creo que sea problema de conseguir routers con mas alcance, lo que yo quería con lo de la intensidad de la señal es averiguar si el tablet se está alejando del router; es decir, que yo se que en la sala en la que están los tables tienen 4 rayitas de intensidad en toda la sala; pues bien, si tienen tres o dos....es que se están alejando y entonces que salte la alarma pero antes de perder la conexión, porque entonces estarán en la calle con los tablets en el bolsillo.
Hola marcial.

Aaaa, había entendido otra cosa , ¿ Entonces es para evitar posibles "extravíos" ?

Si se debe evitar que los tablets salgan a la calle, la sugerencia de Casimiro me suena con mas fuerza todavía.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #16  
Antiguo 22-10-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo para este caso optaría por una seguridad más física.
Piensa que hay más opciones por las que la tablet puede perder comunicación y vas a estar más pendiente de esos avisos que de lo que realmente interesa.

Si la tablet va a ser para pedir comandas, porque no la "atas" físicamente a cada mesa. De esa forma, cada mesa tiene su tablet (como entiendo que debe ser) y tú estás más tranquilo.

En las exposiciones, museos,... es habitual ver los terminales con presentaciones interactivas que están "atados".

Algo similar a esto, aunque seguro que hay otras cosas parecidas.



Independientemente puedes hacer algo por software, que en tu caso bastaría con un programa en los clientes y si estás conectado por TS, bastaría con que dejaran cada x segundos un fichero o una marca en Base de Datos, que sería revisada por un programa en el servidor.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #17  
Antiguo 22-10-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Bueno, bueno; vaya aporte.

Gracias Mamcx por tus link. Por desgracia el resumen del tan interesante primero es: "None of the methods tested worked as expected". Sin embargo, las opciones que propones de "pegar" dispositivos a las tables es muy a tener en cuenta y además a precios muy aceptables (sobre todo el último link).

Tambien agradecer a Neftalí su aporte (por cierto tambien a tener muy en cuenta mas bien el el futuro, ya que ahora el cliente no va a poner una tablet en cada mesa +- 35 porque se le iría de presupuesto).

Voy a hablarle al cliente de la solución de pegar una etiquetita electronica http://www.microsiervos.com/archivo/...-perdidos.html (este link en español) y de la opción de software que aporta Neftalí (o de ambas a la vez) y así haré. Esto es una solución física/software-D5 apropiada, ya que no dispongo de las herramientas (XE5) para las soluciones Android.

Muchas gracias por vuestra ayuda.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
saber en que puerto usb recibo una señal Citlalli OOP 1 10-05-2011 21:49:19
Ver señal TV en un form Ferrari Varios 1 05-03-2010 17:19:50
Señal de ECG Gustavo Gowdak OOP 2 17-10-2006 02:36:44
Señal por puerto paralelo b3nshi Varios 9 18-09-2006 12:35:04
saber cuando se pierde la conexion en un IdTCPClient Spynosa Internet 4 25-07-2006 14:56:31


La franja horaria es GMT +2. Ahora son las 10:14:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi