A remote control program to record Schottky signal and archive the data files in the server.
On the hardware side, it consists of a spectrum analyzer FSVR-7, a data recorder IQR-100, and a home-made trigger system (see a separate repo for details) largely based on Arduino Yún.
Simply stating, the work flow goes like first sampling the RF signal into a digital IQ stream by the FSVR-7 upon the trigger events provided by the Arduino Yún, then recording the IQ digits as data files by the IQR-100 and transferring them back to the server.
This implementation adopts Qt-based Graphical User Interface (GUI) to provide the end user with operational convenience.
daq.py and multithread.py should reside in the same folder.
Python 3PyQt5sys,re,time,socket,logging,subprocess,json,traceback
- Connect the server to the network and create a shared disk.
- Change the IP in the
Arduino Yún's code to the IP of server and upload the code to theArduino Yún. - Power all the devices (
FSVR-7,IQR-100,Arduino Yún) and connect them to the network. (The IPs of them may need to be the same with the socket IPs in code) - Map the shared disk of the server from
IQR-100, and adjust the drive letter of the actual disk in the code.
- Launch the program
python3 daq.py - Wait for the calibration of
FSVRto complete (meanwhile all the buttons are disabled), then set acquisition parameters (hit theset buttonto lock the parameters):center frequency(default: 242.9 MHz)span(default: 500 kHz)reference level(default: -50 dBm)duration(default: 10 s)
- choose the acquisition mode:
- trigger mode:
auto(default, using the trigger signal to start collecting)manual(2 seconds after pushingstart buttonto start collecting)
- collecting file mode:
continuously collecting(default, successively acquiring data before pushingpause button)fixed file collecting(stop after acquiring the set number of the files)
- trigger mode:
- Hit the
start buttonto start the acquisition - Exit mode:
Ctrl + w(pop a message box to confirm the exit operation, hityesto quit)- during the acquistion processing: waiting the current file to be finished, then quit the program
- at stop status: quit after hitting
yes
X button(immediately quit the system without any prompt)
All raw data files will be transferred to the server storage folder at the end of collection, unless the size of a single file is larger than 1 GB.
All important events with timestamps will automatically be recorded in daq.log.
This repository is licensed under the GNU GPLv3.