Página 1 de 1

Alarma Remota

Publicado: 08 Feb 2011, 21:45
por frp64
Buenas, la idea era tener una especie de botón de alarma por software, tendríamos un equipo servidor (donde se recepciona la alarma), y un equipo cliente (quien manda la alarma).

En el lado cliente:

Código: Seleccionar todo

TCPStartup()

$socket = -1
$ip = TCPNameToIP (hostname.dyndns.org")
$socket = TCPConnect ($ip, 65432)
if $socket = -1 then
	Exit 0
EndIf
While 1
	TCPSend($socket, "alarma")
	if @error then ExitLoop
	HotKeySet("{ESC}", "_Exit")
Wend

Func _Exit()
	Exit 0
EndFunc
En el lado servidor:

Código: Seleccionar todo

TCPStartup()

$socket = TCPListen ("192.168.1.X", 65432, 5000)
if $socket = -1 then
	Exit
EndIf
Do
	$socketconect = TCPAccept($socket)
Until $socketconect <> -1
While 1
	$recv = TCPRecv($socketconect, 100)
	If $recv = "alarma" Then
		for $i = 0 To 10	
			Beep (500 * $i, 5000)
			HotKeySet("{ESC}", "_Exit")
		next
	EndIf
	HotKeySet("{ESC}", "_Exit")
Wend

Func _Exit()
	Exit
EndFunc
	
Primero, configuramos en el router servidor una DNS dinámica (http://www.dyndns.org), así tendremos en todo momento la ip de nuestro equipo mediante un simple "ping", luego, traducimos ese hostname a IP, mediante el comando TCPNameToIP, luego, nos conectamos a dicho equipo mediante el puerto 65432, y finalmente, generamos una alarma de frecuencia variable (Beep).

Saludos

Re: Alarma Remota

Publicado: 09 Feb 2011, 01:42
por BasicOs
Gracias por la aplicación,
Es super simple y a la vez muy potente por usar dos programas en dos pcs separados por la red de internet, y utilizando este internet como medio de ejecutar tareas a distancia, de un pc a otro, :smt038 :smt038 :smt038 :smt038 :smt038
Salu22:)

Re: Alarma Remota

Publicado: 09 Feb 2011, 09:16
por Ximorro
¡Buen trabajo!

Sólo un par de sugerencias, con ánimo de mejorar el programa:
.- HotKeySet asigna a la tecla la función que le dices, y eso dura todo el programa o hasta que le quitas la asignación. Así que es mala idea reasignar continuamente dentro del bucle, pon el HotKeySet una sóla vez al principio del programa (o antes del bucle, pero fuera de él).
.- Cuando haya error no hagas un EXIT sin indicar un error o advertencia al usuario, si el programa sale silenciosamente pero no hace lo que se espera de él puede ser muy complicado saber lo que está pasando.

Re: Alarma Remota

Publicado: 10 Feb 2011, 03:29
por Chefito
Es buena la idea :smt002 .

Sabiendo esto, imagínate todo lo que podrías hacer a distancia. Se podrían hacer muchas cosas. La imaginación es el límite :smt001 .

Saludos.

Re: Alarma Remota

Publicado: 15 May 2012, 10:56
por frp64
Gracias por la corrección Ximorro, ya he comprobado en otro script que lo mejor es poner las 'teclas calientes' al principio del script.

Saludos