Subir un LOG WSPR a LOTW - eQSL

Todos los mensajes o spots recibidos por la red WSPR son almacenados en una Base de Datos llamada WSPRnet, que es pública, por lo que se puede:

  1. Descargar parejas de registros (A y B) en las que el que en el registro A el indicativo que aparece como TX es RX en el registro B y viceversa (2-way) y que además tengan una diferencia de tiempo menor a 5',  lo que supone un "WSPR QSO" (En el protocolo WSPR cada mensaje dura 2' por lo que lo mínimo intervalo  para poder tener un TX y un RX  entre dos estaciones en simplex serían 4', damos un minuto más de margen de sincronismo y parece razonable estos 300"=5' o incluso si se quiere se puede ampliar a 600"=10'; LoTW admite diferencias de hasta 30' para hacer un match de QSL). No es necesario que se hayan producido en la misma banda pues es radioafición es comun comunicarse usando bandas distintas paa cada sentido de la comunicación.
  2. Crear un fichero formato .adi
  3. Firmar el fichero .adi  y subirlo (upload) a la web LOTW (Previamente ha debido darse de alta en LOTW).

1 - Descargar los registros emparejados en un intervalo menor a 5' lo que supone un "QSO"

En la web https://wspr.rocks/ se hace la consulta SQL para extraer los registros emparejados o match con un formato lo más parecido posible al esperado por la hoja excel de conversión a formato .adi de forma que nos evitemos manipulaciones

Esta es mi última versión

  • SELECT tx.id AS id_A, replace(toString(tx.frequency/1000000), '.', ',') AS f_A_MHz, 'WSPR' AS Mode, formatDateTime(tx.time, '%d/%m/%Y') AS date_A, replace(formatDateTime(tx.time, '%R'), ':', '') AS time_A,  tx.tx_sign AS TX_A, tx.power AS power_A_dBm, tx.rx_sign AS RX_A, tx.snr AS SNR_A_dB, rx.id AS id_B, 
    formatDateTime(rx.time, '%d/%m/%Y') AS date_B, replace(formatDateTime(rx.time, '%R'), ':', '') AS time_B, 
    replace(toString(rx.frequency/1000000), '.', ',') AS f_B_MHz, rx.tx_sign AS TX_B , rx.power AS power_B_dBm,  
    rx.rx_sign AS RX_B, rx.snr AS SNR_B_dB FROM wspr.rx tx INNER JOIN wspr.rx rx  ON tx.tx_sign = rx.rx_sign  AND tx.rx_sign = rx.tx_sign AND abs(toUnixTimestamp(tx.time) - toUnixTimestamp(rx.time)) <= 300 
    WHERE tx.time BETWEEN '2025-07-10' AND '2025-07-10 23:59:59' AND rx.time BETWEEN '2025-07-10' AND '2025-07-10 23:59:59' AND tx.tx_sign ='EA5JTT' ORDER BY  tx.time ASC;


En este caso concreto la QUERY obtiene parejas de registros TX/RX que se han producido en menos de 300" entre la estación EA5JTT y otra estación entre el día 7-7-2025 y el 10-7-2025

Parte de la respuesta en la que aparecen los datos del registro A

Parte de la respuesta en la que aparecen los datos del registro B


El resultado lo copiamos y lo pegamos directamente en una hoja de Excel o de OpenOffice Calc

 
2 - Crear un fichero formato .adi

Descargar desde https://wb8nut.com/resources/ la hoja de cálculo llamada "Manual_ADI_entry.xls"
 
Abra la hoja de cálculo y:
  • En la hoja LOG pegar las columnas desde nuestra hoja de calculo. Hay que cambiar el formato de las celdas de tiempo para que admitan 4 ceros principales
  • En la hoja ADIF aparecerán convertidos automáticamente los registros al  formato que espera LOTW (si no aparecen copie una fila y copiela las veces que haga falta)
  • Salvar el libro como excel con otro nombre
  • Salvar la hoja ADIF como CSV con, como separador y ' como separador de texto y la extensión .adi
Formato ADIF (.adi) de LoTW, como se observa es un formato de etiquetas en UFT-8 (fichero plano o de texto)


3 - Firmar el fichero  y subirlo a LOTW (Previamente ha debido darse de alta en LOTW)
  • Desde el programa TSQL firmar un libro y subirlo automaticmente a LoTW (se usa firma electrónica que podria servir para firmar por ejemplo eQSL en PDF, esto lo he logrado en Windows pero no en MAc y ARRL no me han sabido contestar pues han dicho que ese no es su fin).
  • Comprobar en LOTW que ha subido sin errores


si todo ha ido bien si consulta por un indicativo de los que ha obtenido en la QUERY de SQL de WSPRnet debera ver toda la información que ha pasado a LoTW, en este caso probamos con G4LEN



Y ahora suerte de que los corresponsales hagan lo propio y queden confirmados los QSO's con una QSL, para lo cual deben cumplirse los siguientes criterios:
  • Deben coincidir
    • Indicativo
    • Modo
    • Banda (Esto obliga a duplicar los registros para las dos bandas de no ser la misma en A y en B)
    • Hora con una cierta tolerancia de 30'
Observe como queda LoTW cuando se usa una banda o bandas cruzadas en el QSO WSPR


El formato ADIF (.adi) es directamente importable a la web  https://www.eqsl.cc/, generando un email con los resultados de la importación.


Log de eQSL
El formato ADIF (.adi) tambien directamente importable a la web de QRZ.COM





Referencias

No hay comentarios:

Publicar un comentario

El extraño caso de los callsign inexistentes en WSPR

En este momento desconozco a que se debe que mi estación WSPR RX reciba spots procedentes de indicativos inexistentes pero que todos ellos t...