Saltar al contenido

Nunca Más, Ni Una Más (NMN1M): libro de guardia para radioafición y 11 metros

Desarrollo en el laboratorio de Acuántico Power

Wiki oficial de NMN1M 1.0.0a1 · Alpha

«Nunca Más, Ni Una Más» es un libro de guardia para radioafición y 11 metros/CB: registra tus contactos, organiza varios libros, sitúa las estaciones en un mapa, muestra estadísticas en vivo, detecta duplicados e integra rigctld, HamQTH y WSJT-X.

Puede instalarse como una aplicación independiente y sencilla, sin necesidad de PoorSDR4All, o como plugin de PoorSDR4All. Cuando se integra, aparece en el botón Log de la consola y se abre como la misma aplicación en una ventana independiente, utilizando además el tema visual seleccionado en PoorSDR4All.

Ventana principal de NMN1M con el formulario de QSO, los contadores y el mapa mundial de estaciones trabajadas
Ventana principal de NMN1M: entrada de QSO y mapa mundial de contactos.

Nunca Más, Ni Una Más (NMN1M)

Libro de guardia y contest logger para radioafición y 11 m/CB. Aplicación independiente o plugin para PoorSDR4All.

Versión
1.0.0a1 · Alpha
Plataforma
Python 3.11+ · aplicación independiente o plugin de PoorSDR4All
Estado Alpha: NMN1M está disponible para probarlo y utilizarlo, pero todavía necesita validación con más equipos, sistemas y flujos de trabajo. Haz copias de seguridad periódicas de tus libros y conserva los ADIF exportados.

Qué es NMN1M

NMN1M combina un libro de guardia general con funciones de concurso. Los libros General y 11m siempre están disponibles: el primero utiliza indicativos y entidades de radioafición; el segundo reconoce las divisiones habituales de 11 metros. Las plantillas opcionales adaptan el formulario, las columnas y las exportaciones a cada concurso.

IndependienteSe instala y se ejecuta con el comando poorsdr-libro-guardia. No exige tener PoorSDR4All.
Integrado con PoorSDR4AllInstalado en el mismo entorno de Python, PoorSDR4All lo descubre como plugin y añade el botón Log.
HAM y 11 m/CBMantiene separados los libros principales y aplica el sistema de país o división adecuado a cada uno.
Datos localesLos QSO se guardan en bases SQLite del usuario. El mapa básico y la identificación de países funcionan sin depender de un servicio web.

↑ Volver al índice

Descarga e instalación

La descarga principal es el código fuente completo alojado en GitHub. NMN1M requiere Python 3.11 o posterior y Tkinter. Antes de instalar, comprueba que Python y su interfaz gráfica Tk estén disponibles en tu sistema.

Linux

unzip nmn1m-main.zip
cd nmn1m-main
python -m pip install .
poorsdr-libro-guardia

Si prefieres Git:

git clone https://github.com/Acuantico/nmn1m.git
cd nmn1m
python -m pip install .
poorsdr-libro-guardia

Windows

Descarga y descomprime el ZIP, abre PowerShell dentro de la carpeta y ejecuta:

py -m pip install .
poorsdr-libro-guardia
Integrarlo con PoorSDR4All: instala NMN1M con el mismo Python o entorno virtual que utiliza PoorSDR4All. Al volver a abrir la consola, aparecerá el botón Log. NMN1M no necesita copiarse dentro del directorio de PoorSDR4All.

Para actualizar una instalación hecha desde Git, entra en la carpeta del repositorio, ejecuta git pull y vuelve a ejecutar python -m pip install --upgrade .

↑ Volver al índice

Primer arranque

  1. Abre Ajustes → Estación / actividad e introduce tu indicativo HAM, tu indicativo o identificador de 11 m si utilizas ese libro y tu locator.
  2. En Libros principales, elige General o 11m. El libro activo aparece marcado con ✓ y su nombre queda visible en la cabecera.
  3. Si quieres que frecuencia y modo lleguen desde la radio, configura rigctld en Ajustes → Radio / rigctld.
  4. Registra un QSO de prueba, comprueba que aparece en la tabla y crea una primera copia de seguridad.
No necesitas conexión permanente a Internet. El registro, las bases de datos, el mapa y la detección local de país continúan funcionando. HamQTH sí necesita conexión y credenciales propias.

Ventana principal

Cabecera y estado

ElementoFunción
Libros principalesCambia entre General y 11m. El libro activo se identifica con ✓.
ConcursosMuestra las plantillas de concurso instaladas y la opción Importar plantilla….
Ajustes…Abre la configuración de radio, estación, libros y sincronización.
Frecuencia / Banda / ModoPuede leerlos desde rigctld o aceptar valores escritos a mano. La banda se calcula automáticamente a partir de la frecuencia.
Estado de radioInforma si rigctld está conectado, desconectado o intentando reconectar.

Entrada QSO

Campo o controlCómo se utiliza
Indicativo (Call)Identifica país o división y muestra bandera y nombre. También avisa si el indicativo ya está trabajado en la banda y modo actuales.
Orden rápida desde CallSi escribes un modo —USB, LSB, CW, AM, FM, FT8, FT4…— o una frecuencia en MHz y pulsas Intro, NMN1M intenta enviarlo a la radio en lugar de guardar un QSO.
RST enviado / recibidoInforme de señal. El formulario propone valores iniciales según el libro o concurso activo.
Serial automáticoSolo aparece cuando la plantilla de concurso utiliza seriales. Propone el siguiente número libre.
Nombre, QTH, Grid, Potencia y NotasDatos complementarios del contacto. Los campos visibles pueden cambiar según la plantilla.
Consultar HamQTHConsulta manualmente el indicativo. Si configuras las credenciales, la consulta automática se inicia después de una breve pausa al escribir.

Tabla y mapa

  • QSOs: tabla paginada de 120 contactos por página. Pulsa una cabecera para ordenar y una fila para cargar ese contacto en el formulario.
  • Multiplicadores / QSOs: contadores actualizados con el libro y los filtros activos.
  • Mapa: rueda para ampliar o reducir, arrastrar para desplazar, clic sobre una estación para seleccionarla y filtrar la tabla, doble clic para recuperar la vista completa. También dispone de botones +, − y Reset.

↑ Volver al índice

Registrar, corregir y eliminar un QSO

  1. Comprueba frecuencia, banda y modo.
  2. Escribe el indicativo. Revisa el país y el aviso de duplicado.
  3. Completa RST y los datos que necesites.
  4. Pulsa Guardar QSO o presiona Intro.

Limpiar vacía el formulario y recupera sus valores iniciales. Para corregir un contacto, selecciónalo en la tabla, modifica el formulario y pulsa Actualizar seleccionado. Para borrarlo, selecciónalo y utiliza Eliminar seleccionado; NMN1M solicitará confirmación.

Duplicado no significa necesariamente inválido. El aviso informa de que ese indicativo ya existe en la banda y modo actuales; la decisión de registrar o no el nuevo contacto depende de tu actividad o de las reglas del concurso.

Ventana de Ajustes

Radio / rigctld

Configura el host y el puerto del servidor rigctld —por defecto 127.0.0.1:4532—. Puedes conectar, desconectar, solicitar una lectura inmediata, activar la lectura periódica y hacer que NMN1M intente conectarse al arrancar. Esta pestaña también controla el reenvío UDP de WSJT-X hacia otra aplicación.

Estación / actividad

Guarda tu indicativo HAM, el identificador opcional para 11 m, tu locator, el nombre de la actividad o concurso actual y las credenciales de HamQTH.

Log

  • Selecciona qué libro o plantilla administras y qué base de datos utiliza.
  • Crea, carga, renombra o elimina bases separadas para una misma plantilla.
  • Importa registros CSV o ADIF.
  • Crea una copia de seguridad de la base actual.
  • Vuelca un concurso al libro General o 11m correspondiente, con vista previa antes de confirmar.
  • Exporta CSV y ADIF; las plantillas compatibles de concurso también permiten Cabrillo.
  • Abre la carpeta donde se guardan los libros.
  • Activa la recepción automática de QSO registrados por WSJT-X.

Sincronización

Permite activar este equipo como servidor y configurar otros como clientes. Todos deben utilizar el mismo puerto y la misma clave compartida.

Plantillas de concurso

General y 11m son los dos libros principales y siempre están presentes. Las plantillas de concurso son complementos opcionales: cambian el formulario, las columnas, los multiplicadores y las exportaciones según las reglas previstas por cada plantilla.

El repositorio ofrece actualmente plantillas para CQ WPX, IARU HF y SM en la carpeta contest-templates/.

  1. Descarga únicamente el archivo .py del concurso que vayas a utilizar.
  2. Abre Concursos → Importar plantilla….
  3. Selecciona el archivo y confirma su nombre y tipo de log.
  4. La plantilla queda disponible inmediatamente; no es necesario reiniciar.
Importa plantillas solo desde fuentes de confianza. Una plantilla es código Python ejecutable y se ejecuta dentro de NMN1M. Los identificadores reservados General y 11m no pueden reemplazarse mediante una importación.

↑ Volver al índice

Integración con WSJT-X y rigctld

Leer y controlar la radio mediante rigctld

NMN1M no abre directamente el puerto CAT: se conecta a un servidor rigctld. Si utilizas PoorSDR4All, activa su proxy rigctld y conecta NMN1M a la dirección y puerto configurados. De esta forma la consola, NMN1M y otros programas compatibles pueden compartir el acceso a la radio.

Recibir QSO desde WSJT-X

En Ajustes → Log, activa Escuchar WSJT-X por UDP. El puerto predeterminado de NMN1M es 2237; configura WSJT-X para enviar allí sus mensajes UDP. Cuando WSJT-X registra un contacto, NMN1M lo incorpora al libro activo.

Si otro programa también necesita esos mensajes, activa el reenvío UDP y especifica su host y puerto —el destino predeterminado es 127.0.0.1:2240—. Así NMN1M recibe el paquete y entrega una copia al siguiente programa.

Comprueba el libro activo antes de operar. Los contactos recibidos por UDP se incorporan al libro o plantilla que NMN1M tenga seleccionado.

Sincronización entre equipos

La sincronización mantiene los libros General, 11m y las plantillas de concurso al día entre varios equipos de una misma red local. Cada QSO tiene un identificador estable: las altas, modificaciones y eliminaciones se intercambian en ambos sentidos sin duplicarse al repetir la operación.

Configurar el servidor

  1. Abre Ajustes → Sincronización.
  2. Elige la dirección de escucha y un puerto; el valor inicial es 8080.
  3. Escribe una clave compartida que no sea fácil de adivinar.
  4. Activa el servidor y aplica los cambios.
  5. Anota la IP local mostrada por NMN1M.

Configurar un cliente

En el otro equipo, introduce la IP del servidor, el mismo puerto y la misma clave. Pulsa Sincronizar ahora. Si un mismo QSO ha cambiado en ambos equipos, se conserva la revisión más reciente. Para sincronizar una plantilla de concurso, ésta debe estar instalada con el mismo identificador en el receptor.

Solo para una LAN de confianza. No abras el servidor de sincronización directamente a Internet. Si necesitas acceder desde fuera de casa, entra primero en tu red mediante una VPN y expón únicamente el servicio VPN. Si el servidor web de PoorSDR4All u otro programa ya utiliza el puerto 8080 en el mismo equipo, asigna a NMN1M otro puerto libre.

La sincronización no sustituye una copia de seguridad: replica también modificaciones y eliminaciones.

↑ Volver al índice

Dónde se guardan tus datos

En Linux, la configuración se guarda en:

~/.config/poorsdr/libro-guardia/settings.json

Los libros, copias y bases SQLite se almacenan bajo:

~/.local/share/poorsdr/libro-guardia/

En Windows y macOS se utilizan los directorios de configuración y datos equivalentes del usuario. Cada libro o base seleccionada conserva sus QSO en su propio archivo SQLite. Los datos no se guardan dentro del paquete instalado, por lo que reinstalar o actualizar NMN1M no debería eliminarlos.

Rutina recomendada: crea periódicamente una copia de la base actual y exporta ADIF. Guarda al menos una copia fuera del equipo donde utilizas NMN1M.

Atajo de teclado

AtajoAcción
IntroGuarda el QSO desde cualquier campo del formulario. Si el foco está en Indicativo, primero intenta interpretar el contenido como una frecuencia o un modo destinado a la radio.

Solución de problemas

ProblemaQué comprobar
No aparece el botón Log en PoorSDR4AllComprueba que NMN1M esté instalado en el mismo entorno de Python que PoorSDR4All y reinicia la consola.
No conecta con la radioConfirma que rigctld o el proxy de PoorSDR4All estén activos, que host y puerto sean correctos y que el cortafuegos no bloquee la conexión local.
WSJT-X no añade contactosRevisa que la recepción UDP esté activada, que ambos programas usen el mismo puerto y que WSJT-X haya registrado realmente el QSO.
No aparece país o banderaVerifica el indicativo y el libro seleccionado. General utiliza prefijos HAM y 11m utiliza divisiones de CB; algunos indicativos especiales pueden necesitar corrección manual.
La sincronización fallaComprueba IP, puerto, clave compartida, cortafuegos y que ambos equipos estén en la misma LAN. Asegúrate de que el puerto no esté ocupado.
No puedo exportar CabrilloCabrillo solo está disponible cuando la plantilla de concurso activa implementa esa exportación.

Herramientas relacionadas para la estación

Consulta El primer equipo de radioaficionado para situar el conjunto de la estación, la wiki de PoorSDR4All para el control del uSDX y la integración SDR, y IRCB para conectar otros transceptores a un ordenador con Windows.

Licencia, datos y soporte

El código propio de NMN1M se distribuye bajo PolyForm Noncommercial 1.0.0. Es código fuente disponible, no una licencia de código abierto aprobada por la OSI. Los usos comerciales requieren un acuerdo separado con Acuantico Power.

Los datos de GeoNames conservan CC BY 4.0 y los recursos de flag-icons conservan su licencia MIT. Los textos y atribuciones completos están incluidos en LICENSE, LICENSES/ y DATA_PROVENANCE.md dentro del repositorio.

↑ Volver al principio