Un diario para todos los clientes#
Cada cliente de ic705suite trae su diario (hamrlog, F6) en un fichero SQLite propio. Con el core en un servidor, lo normal es tener un solo diario para todos: el del portátil, el del ordenador de casa y los QSO que FT8 apunta solo en el servidor.
Para eso el diario va en una base de datos PostgreSQL en la máquina del core.
El core lo abre allí y, cuando un cliente se conecta, le dice cómo llegar a él (a
la dirección con la que el cliente llegó al core, y detrás del token del core).
En los clientes no hay que configurar nada: solo necesitan el extra postgres
(los ejecutables de Linux y Windows ya lo llevan).
Preparar PostgreSQL#
En la máquina del core (Debian, Ubuntu, Raspberry Pi OS):
sudo apt install postgresql
sudo -u postgres createuser --pwprompt ic705suite # pide la contraseña
sudo -u postgres createdb -O ic705suite hamrlog
Guarda la contraseña en un fichero que solo lea tu usuario:
install -m 600 /dev/null ~/.config/ic705suite/logbook-db-password
nano ~/.config/ic705suite/logbook-db-password # la contraseña, en una línea
Los clientes se conectan a la base de datos por la red, así que PostgreSQL tiene
que escucharla. En /etc/postgresql/*/main/postgresql.conf:
listen_addresses = '*'
y en pg_hba.conf, una línea para tu red local:
host hamrlog ic705suite 192.168.1.0/24 scram-sha-256
sudo systemctl restart postgresql y listo.
Configurar el core#
En la configuración del core:
[logbook]
database = "postgresql+psycopg://ic705suite@localhost/hamrlog"
password_file = "~/.config/ic705suite/logbook-db-password"
Reinicia el core. Desde entonces el diario (F6, o ic705suite log
solo) es el mismo desde cualquier cliente conectado a ese core, y FT8 apunta cada
QSO una sola vez, desde el core.
Pasar el diario que ya tienes#
--copy-logbook copia un diario entero (con sus identificadores) a otra base de
datos vacía:
ic705suite --copy-logbook \
sqlite:////home/yo/.local/share/hamrlog/hamrlog.sqlite3 \
postgresql+psycopg://ic705suite:CONTRASEÑA@raspberrypi.local/hamrlog
Hazlo antes de empezar a apuntar en el diario compartido: si el destino ya tiene
algún QSO, se niega (nunca sobrescribe nada). En Windows, el diario de hamrlog
está en %APPDATA%\hamrlog\hamrlog.sqlite3.
LoTW desde el core#
Con el diario compartido, el core puede firmar y subir a LoTW (de la ARRL) los QSO nuevos, apunte quien los apunte, y traer las confirmaciones.
- En la máquina del core:
sudo apt install trustedqsl xvfb. TQSL necesita una pantalla aunque no se vea; xvfb se la da. - Tu certificado de LoTW y una Station Location en
~/.tqslde esa máquina (cópialos de un ordenador donde ya funcione TQSL). - En la configuración del core:
[lotw]
location = "Casa" # el nombre de la Station Location en TQSL
# key_password = "" # solo si la clave de firma tiene contraseña
username = "EA7KLX" # la cuenta de la web de LoTW, para las confirmaciones
password = "..."
# bands = ["160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m"]
Cada pocos minutos sube lo pendiente y cada pocas horas trae las confirmaciones.
Por defecto solo HF (bands lo cambia); nunca los QSO por repetidor, que LoTW no
cuenta, ni los de otros operadores. Cada QSO guarda LOTW_QSL_SENT y
LOTW_QSL_RCVD con sus fechas, como en ADIF. FT8 usa las confirmaciones para
marcar las entidades ya confirmadas.
QRZ.com#
Con la clave de acceso del diario de QRZ.com (en QRZ: tu logbook > Settings > API Access Key):
[qrz]
api_key = "XXXX-XXXX-XXXX-XXXX"
# bands = [...] # HF si no se dice otra cosa
ic705suite --qrz-status # comprueba la clave y enseña el diario de QRZ
ic705suite --qrz-upload # sube los QSO que no se hayan subido aún
El fichero de configuración guarda contraseñas y claves (la radio, LoTW, QRZ, el
token del core): que solo lo lea tu usuario (chmod 600).
El diario en el panel de KDE Plasma#
Un applet para Plasma 6 enseña en su icono los QSO de hoy y, al abrirlo, los contadores del diario, los últimos QSO (un clic busca el indicativo en QRZ.com) y una banda y un modo para filtrarlos. Lee el mismo diario que abren los clientes (el del core, si es compartido).
Se instala desde el código de la suite:
git clone https://github.com/manuel-alcocer/ic705suite
ic705suite/packaging/plasma/install.sh
y se añade al panel como cualquier otro. En sus ajustes se dice cómo se ejecuta
ic705suite y cada cuánto refresca. Por debajo usa ic705suite --logbook-json
[BANDA] [MODO], que imprime el diario en JSON y sirve para cualquier otro
script.