Skip to content

HB9VQQ/FarFlux

Repository files navigation

FarFlux

Project Goal is to facilitate the setup of a global network of CW Beacon Monitor Stations based on modern data storage and analytics technology to study and visualize HF Propagation paths for Amateur Radio communication.

FarFlux is a Windows utility which imports CW Beacon Logs from Faros and uploads the data to an InfluxDB for further processing by a observability tool like Grafana. FarFlux validates the Faros Beacon Logs and uploads only Beacon Spots where evidence >1. The Program can be scheduled to run via the Windows Task Scheduler to upload CW Beacon Spots every 15 minutes to the database.

InfluxDB provides a free cloud-hosted database with a data retention of 30 days which can be upgraded to (paid) unlimited data retention at anytime. Alternatively InfluxDB OSS can be installed on your own server (self-hosted) on Linux, MacOS, Docker and Kubernetes

  • If you use the cloud-hosted database provided by InfluxDB (free or paid plan) the communication port is 443 (TLS encryption)
  • If you self-host the InfluxDB OSS the default communication port is 8086 (unencrypted or TLS encrypted)

Grafana is Open Source Software, available as a free hosted service or can be downloaded and self-hosted on many different platforms. An example of a CW Beacon Monitor based on InfluxDB and Grafana can be found here CW Beacon Monitor.

image

Prerequisites

  • Working Faros installation
  • Internet connection
  • Admin access to a InfluxDB instance
  • Admin access to a Grafana instance

Installation

Download the latest FarFlux Release from the dist folder and start the MSI installer file. Accept the default install path and click on Next. Once the installation is completed click on Finish.

image

Important : The FarFlux Program has to be started with Admin privileges. Right-click the FarFlux Program and select "Run as administrator"

Configuration

The FarFlux Software requires the configuration from your InfluxDB in order to write to the database. From "File" select "Settings" to configure FarFlux.

  • InfluxDB URL (e.g. https://eu-central-1-1.aws.cloud2.influxdata.com)
  • OrganizationID (e.g. MyOrg)
  • Bucket (database bucket, e.g. beacon)
  • Token (All Access Token for authentication)
  • Port used for communication if you use a self-hosted InfluxDB (defaults to 443/TLS)

Then click on "Apply"

Example Screenshot (cloud-hosted)

image

image

Windows scheduled Task

Click on "Schedule Task" to create a windows task scheduler job which uploads the Faros beacon spots every 15 minutes to the database.

image

image

Once the Task has been successfully created you can safely close FarFlux (Exit), no need to keep it running. From now on the CW Beacon spots from Faros will be uploaded to the InfluxDB through the schduled Windows task every 15 minutes. Check the Data Explorer in the InfluxDB web based user interface to confirm that Beacon Spots upload is successful. Once confirmed you can go ahead with Grafana and add the Database as a Data Source to build some nice dashboards.

Grafana - adding InfluxDB as a Datasource

Logon to your Grafana web interface and go to Configuration --> Data Sources. Click on "Add data source" image

Select InfluxDB image

Configure the Settings. Make sure you set it to the default Data Source and fill in

  • URL to your InfluxDB
  • Organization (OrgID from your InfluxDB)
  • Token (Access token from your InfluxDB)
  • Default bucket (data bucket from your InfluxDB)

Example Screenshot (cloud-hosted InfluxDB)

image

Finally click on "Save & Test" to confirm successful DB connection with your provided credentials.

If the Test has succeeded you are now ready to build Grafana dashboards. To help you get started, I have added a simple Dasboard Template to the Github Repository. You can import the Template in Grafana and all you need to change is the name of the Database bucket in each panel to reflect your setting.

Easiest way to do that, import the Template file (.json) into a text editor and search the file for "hb9cu". Replace all occurrences of "hb9cu" with your bucket name. When finished your are ready to import the Template into Grafana.