Skip to content

bolidozor/scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


scripts

◦ Unleashing Power, Script by Script!

◦ Developed with the software and tools listed below.

Python Markdown

GitHub top language GitHub code size in bytes GitHub commit activity GitHub license

Table of Contents


Overview

The scripts repository within Bolidozor is composed of Python scripts useful to station administration. It features functionalities like executing coordinated commands on multiple remote radio stations, detecting linearly frequency-modulated signals, and analyzing data files. With precise value filtration, optimized data extraction, visualization, and remote station coordination.


Features

Feature Description
** Architecture** Modular architecture centered around script-based implementations, with diverse utilities for signal detection, file parsing, and remote executions.
** Documentation** Documentation is minimalistic and could be improved to explain the purpose/usage of all scripts/features for enhanced understandability.
** Dependencies** The project relies on common Python libraries like NumPy for mathematical operations and Paramiko for remote SSH connectivity.
** Modularity** Scripts are neatly structured for handling specific tasks, showing good modularity which aids in maintainability and flexibility of the codebase.

Project Structure


Modules

Root
File Summary
extract.py The script reads file(s) passed as arguments and extracts date and time from each line. Then it subtracts 5 minutes from each datetime object. These manipulated dates and times are stored and converted to a correct format for future use in terminal commands. Lastly, it issues a terminal command to list the contents of a certain directory on a remote server through SSH.
lfms_detector.py The Python script is a signal processing application that detects linearly frequency-modulated signal segments. The script splits signal samples into frames, multiplies the frames by a window function and processes them through Discrete Fourier Transform (DFT). The script then generates a 2D array and searches for the local maxima of each frame. The identified maxima signify the detection of frequency-modulated signals. The script also produces waterfall plots of the detections.
bzfind The script utilizes python to parse specific file formats through Bolidozor's file software structure. It searches for files in the predefined repository root, and extends the functionality for sorting data files with unique operations; such as limiting time of origin, collection path, and filename with regex filters. Upon successful matching guided by user-defined parameters, it yields the found entities as output. It’s especially useful for dealing with bulk recordings and snapshot handling.
bzremote This Python script, bzremote, executes pre-specified commands on multiple remote Bolidozor radio monitoring stations concurrently. A hostname list from a designated file determines the commands' target hosts. You can specify the commands using templates, replacing a placeholder, "%" with the hostname. Additionally, adjustable options include changing the default host-group set and varying the count of concurrently running command instances.

Getting Started

Installation

  1. Clone the scripts repository:
git clone https://github.com/bolidozor/scripts.git
  1. Change to the project directory:
cd scripts
  1. Install the dependencies:
pip install -r requirements.txt

Using scripts

bzremote

The ./bzremote sshpass -p odroid ssh % df -h should not be used anymore. The stations should be accessed using a private key (shared for selected users at space.astro.cz). Then the bzremote script can be run without sshpass, e.g. ./bzremote ssh % df -h

Contributing

Contributions are always welcome! Please follow these steps:

  1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
  2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
  3. Create a new branch with a descriptive name (e.g., new-feature-branch or bugfix-issue-123).
git checkout -b new-feature-branch
  1. Make changes to the project's codebase.
  2. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
  1. Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
  1. Create a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.

License

This project is licensed under the GPL 3 License.

About

Collection of Bolidozor-related scripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages