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 3
PyQt5
sys
,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
FSVR
to complete (meanwhile all the buttons are disabled), then set acquisition parameters (hit theset button
to 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 button
to 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 button
to start the acquisition - Exit mode:
Ctrl + w
(pop a message box to confirm the exit operation, hityes
to 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 important events with timestamps will automatically be recorded in daq.log
.
This repository is licensed under the GNU GPLv3.