RX888D - how to start ?

已查看 61 次
跳至第一个未读帖子

Tom McDermott

未读,
2023年7月24日 19:40:172023/7/24
收件人 ham...@googlegroups.com、TAPR TangerineSDR Modular Software Defined Radio
The RX888D MKII has been received, installed ka9q-radio, created fft nwisdom, installed & started avahi.

In trying to start rx888d as standalone, and as daemon, there seem to be missing some files.   

./rx888d g5rv &   - fails no such file or directory

The only things $find / -name 'rx88*'    found are:

/home/tom/ka9q-radio/rx888d@.service
/home/tom/ka9q-radio/rx888.h
/home/tom/ka9q-radio/rx888.o
/home/tom/ka9q-radio/rx888.c
/home/tom/ka9q-radio/rx888d.conf

Thus the command(s) to run rx888d fail.  Was an rx888d executable supposed to be generated?

-- Tom, N5EG

Michael Hauan

未读,
2023年7月24日 19:54:102023/7/24
收件人 ham...@googlegroups.com、TAPR TangerineSDR Modular Software Defined Radio
The only code I'm using (got rid of any other potential competing Cypress drivers) is ka9q-radio.  Simple git clone.  
Read the INSTALL.txt to get the required libraries and see where everything goes.  
Then "make" and "sudo make install" will get everything in the right places.  
I guess you got this far, for sure.
Add yourself to the "radio" group.  
Follow the instructions in docs/FFTW3.md in the ka9q-radio directory to create and move a wisdom file.  
You'll have to re-login to get in the group.  
You might examine the /etc/radio/rad...@rx888-generic.conf to confirm the virtual radios you want and to decrease the sample rate (if you want) which by default is at 128MHz. 
Then enable and start rad...@rx888-generic.service using systemctl.  
If it's running ok (check with sudo systemctl status radiod@rx888-generic) you should be good to go.  
Confirm by running "monitor wspr-pcm.local" (or whatever pcm-streams you configured).


--
Please follow the HamSCI Community Participation Guidelines at http://hamsci.org/hamsci-community-participation-guidelines.
---
You received this message because you are subscribed to the Google Groups "HamSCI" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hamsci/CACO3nRQLGR%2BHOMOqEq_B8ahbWR4RLs-pCNtWPGFDz%2BhD1CHM-A%40mail.gmail.com.

Tom McDermott

未读,
2023年7月24日 20:22:082023/7/24
收件人 ham...@googlegroups.com、TAPR TangerineSDR Modular Software Defined Radio
Thanks, Michael.    I went through the install instructions in ka9q-radio successfully, and also the instructions on
the Utah WebSDR pages.  That all went properly.

I've added myself to the radio group, and logged-out/logged-in, my user is showing as
a member of the radio group.  But nothing changed - rx888d executable is still not found anywhere.

-- Tom, N5EG


Michael Hauan

未读,
2023年7月24日 20:28:592023/7/24
收件人 ham...@googlegroups.com
I think it runs via the service. 
I haven’t tried to execute it directly since listening to Phil and Rob last week.  
Before that, I also executed radiod from the command line to make it easier to start and stop rather than stopping or starting the service.  But now I’m just using the default config in /etc/radio and starting the service.  

Michael Hauan

未读,
2023年7月24日 20:29:512023/7/24
收件人 ham...@googlegroups.com
I recall Phil saying he wrapped the frontends into radiod so no need to start rx888d directly anymore.

On Jul 24, 2023, at 19:21, Tom McDermott <tom....@gmail.com> wrote:

Michael Hauan

未读,
2023年7月24日 20:37:592023/7/24
收件人 ham...@googlegroups.com
BTW — if you intend to use wspr-decoded, I’ve been using the following script with some success.  Just run "wspr-decoded wspr-pcm.local &” (assuming you’ve made the [wspr] definition active in rad...@rx888-generic.conf).  That will decode wspr signals in each frequency and store them in a separate subdirectory of ~/recordings/wspr.  The following script (change your call and grid square) will parse the files and upload them.  I put it on a cron job to run every 10 min.

---
import os
import subprocess
import requests

def process_and_upload_wspr(directory, call, grid):
    print(f"Processing and uploading in directory: {directory}")

    # Change to the target directory
    os.chdir(directory)

    # Input and output file names
    ALL_WSPR_FILE = "ALL_WSPR.TXT"
    ALLMEPT_FILE = "ALLMEPT.TXT"

    # Remove lines that contain the value of CALL from ALL_WSPR.TXT
    with open(ALL_WSPR_FILE, 'r') as input_file:
        lines = input_file.readlines()

    with open(ALL_WSPR_FILE, 'w') as output_file:
        for line in lines:
            if call not in line:
                output_file.write(line)

    # Sort the data by highest SNR, print unique date/time/band/call combinations,
    # and then sort them by date/time/frequency
    sort_cmd = f"sort -nr -k 4,4 {ALL_WSPR_FILE} | awk '!seen[$1\"_\"$2\"_\"int($6)\"_\"$7] {{print}} {{++seen[$1\"_\"$2\"_\"int($6)\"_\"$7]}}' | sort -n -k 1,1 -k 2,2 -k 6,6 -o {ALLMEPT_FILE}"
    subprocess.run(sort_cmd, shell=True)

    # Upload the processed data using curl
    files = {'allmept': open(ALLMEPT_FILE, 'rb')}
    data = {'call': call, 'grid': grid}
    response = requests.post(url, files=files, data=data)

    if response.status_code == 200:
        print("Upload successful.")
        # Empty the ALL_WSPR.TXT file after a successful upload
        open(ALL_WSPR_FILE, 'w').close()
    else:
        print("Upload failed.")

    # Clean up the temporary file
    os.remove(ALLMEPT_FILE)


if __name__ == "__main__":
    # Directory where the subdirectories are located
    base_directory = os.path.join(os.path.expanduser("~"), "recordings", "wspr")

    # Common values for call and grid
    CALL = "AC0G"
    GRID = "EM38ww"

    # Iterate through all subdirectories under ~/recordings/wspr
    for subdirectory in os.listdir(base_directory):
        full_directory_path = os.path.join(base_directory, subdirectory)
        if os.path.isdir(full_directory_path):
            process_and_upload_wspr(full_directory_path, CALL, GRID)



----


On Jul 24, 2023, at 19:21, Tom McDermott <tom....@gmail.com> wrote:

Jonathan

未读,
2023年7月24日 20:48:112023/7/24
收件人 ham...@googlegroups.com、TangerineSDR Listserv
Tom,

Like Michael said, rx888d was integrated into radiod but was not documented yet, so initiate radiod with an appropriate config file (there are some you can modify). Use & to run it as a background process or write a script. Choose the appropriate sampling rate for the frequencies of interest to reduce resource usage.  

Jonathan
KC3EEY

回复全部
回复作者
转发
0 个新帖子