Mandar datos a CWOP

Iniciado por abelix, Miércoles 25 Enero 2006 23:02:06 PM

Tema anterior - Siguiente tema

abelix

***
Cumulus Congestus
Mensajes: 572
Peralejos de las Truchas.
Ubicación: Peralejos de las Truchas
En línea
Hola,
estoy intentando mandar datos de la estación al CWOP (Citizen Weather Observation Program, parte del ARPS) mediante telnet. Es decir, he pasado de programas comerciales y he modificado un script en perl que enviaba datos a Weatherunderground. El problema es que no hay manera de que me acepte los datos, ni mediante el script de perl ni manualmente haciendo un telnet.

Manualmente obtengo esto:

telnet arizona.aprs2.net
Trying 206.123.154.98...
Connected to arizona.aprs2.net (206.123.154.98).
Escape character is '^]'.
# javAPRSSrvr 3.10b09
user CW4214 pass -1 vers linux-wx2000-2
CW4214>APRS,TCPXX*:@252138z4035.58N/00154.40W_030/a000g000t021r000p000h00b10170linux
# javAPRSSrvr 3.10b09 25 Jan 2006 21:52:05 GMT T2WXCWOP 206.123.154.98:23


o esto otro:


telnet arizona.aprs2.net
Trying 206.123.154.98...
Connected to arizona.aprs2.net (206.123.154.98).
Escape character is '^]'.
# javAPRSSrvr 3.10b09
user CW4214 pass -1 vers linux-wx2000-2
# javAPRSSrvr 3.10b09 25 Jan 2006 21:54:28 GMT T2WXCWOP 206.123.154.98:23
CW4214>APRS,TCPXX*:@252154z4035.58N/00154.40W_060/a000g000t020r000p000h00b10170linux
# javAPRSSrvr 3.10b09 25 Jan 2006 21:54:48 GMT T2WXCWOP 206.123.154.98:23

O cosas similares.
os pongo el trozo de código perl para enviar los datos. la variable $res contiene la cadena con los datos (algo así: CW4214>APRS,TCPXX*:@252154z4035.58N/00154.40W_060/a000g000t020r000p000h00b10170linux)


$telnet = new Net::Telnet ( Timeout=>10,
                            Errmode=>'die');
print("Abrimos: is0grb.ods.org\n");
$telnet->open('arizona.aprs2.net');
$output=$telnet->get;
print "\n$output";
print "Mandamos: user CW4214 pass -1 vers linux-wx2000-2\r\n";
$telnet->print ("user CW4214 pass -1 vers linux-wx2000-2\r\n");
$output=$telnet->get;
print "$output";
sleep 3;
print("Mandamos: $res\r\n");
$telnet->print("$res\r");
#print $res;
$output=$telnet->get;
print "$output";
$telnet -> close;


Pero el resultado es algo así:


# javAPRSSrvr 3.10b09
Mandamos: user CW4214 pass -1 vers linux-wx2000-2
# logresp CW4214 unverified, server T2WXCWOP
Mandamos: CW4214>APRS,TCPXX*:@252158z4035.58N/00154.40W_060/a000g000t020r000p000h00b10170linux
read timed-out at ws2000toaprs line 494

o cosas similares (lo he cambiado muchas veces y probado tropecientas).

¿alguien sabe cómo se mandan estos datos? es decir, la secuencia correcta. Conectarse al servidor, cuando se obtiene la respuesta X mandar user..., esperar la siguiente respuesta o mandar inmediatamente los datos....

Gracias
=== Peralejos de las Truchas 40º35'35"N 1º24'54W 1.187msnm 3003b===

abelix

***
Cumulus Congestus
Mensajes: 572
Peralejos de las Truchas.
Ubicación: Peralejos de las Truchas
En línea
Bueno, ye me lo he solucionado solo. Me sobraba una "a" en el mensaje con los datos.

Un saludo
=== Peralejos de las Truchas 40º35'35"N 1º24'54W 1.187msnm 3003b===