コード例 #1
0
	def read(self):
		from rtlsdr import RtlSdr
		self.onListDevDeselected()
		self.listDev.DeleteAllItems()
		serial_numbers = RtlSdr.get_device_serial_addresses()
		for i in serial_numbers:
			device_index = RtlSdr.get_device_index_by_serial(i)
			item = self.listDev.InsertItem(0, str(device_index))
			self.listDev.SetItem(item, 1, str(i))
			try:
				devicesList = eval(self.conf.get('SDR-VHF', 'deviceslist'))
			except: devicesList = []
			for ii in devicesList:
				if ii['serial'] == i: self.listDev.SetItem(item, 2, str(ii['ppm']))
		device = self.conf.get('SDR-VHF', 'sdraisdeviceindex')
		ppm = self.conf.get('SDR-VHF', 'sdraisppm')
		gain = self.conf.get('SDR-VHF', 'sdraisgain')
		port = self.conf.get('SDR-VHF', 'sdraisport')
		if ppm: self.ppm.SetValue(ppm)
		if gain: self.gain.SetValue(gain)
		if port: self.port.SetValue(port)
		else: self.port.SetValue('10110')
		if device:
			listCount = range(self.listDev.GetItemCount())
			for i in listCount:
				if device == self.listDev.GetItemText(i, 0):
					self.listDev.Select(i)
					self.onListDevSelected()
					break
コード例 #2
0
 def get_info_from_device_serial(self, device_serial):
     self.device_serial = device_serial
     if self.device_index is None:
         self.device_index = RtlSdr.get_device_index_by_serial(
             device_serial)
     sdr = RtlSdr(device_serial=device_serial)
     self._get_info_from_device(sdr)
     sdr.close()
コード例 #3
0
 def device_index(self):
     i = getattr(self, '_device_index', None)
     if i is None:
         serial_number = self.device_config.serial_number
         if serial_number is None:
             i = 0
         else:
             i = RtlSdr.get_device_index_by_serial(serial_number)
         self._device_index = i
     return i
コード例 #4
0
 def device_index(self):
     i = getattr(self, '_device_index', None)
     if i is None:
         serial_number = self.device_config.serial_number
         if serial_number is None:
             i = 0
         else:
             i = RtlSdr.get_device_index_by_serial(serial_number)
         self._device_index = i
     return i
コード例 #5
0
	def read(self):
		from rtlsdr import RtlSdr
		self.onListDevDeselected()
		self.listDev.DeleteAllItems()
		serial_numbers = RtlSdr.get_device_serial_addresses()
		for i in serial_numbers:
			device_index = RtlSdr.get_device_index_by_serial(i)
			item = self.listDev.InsertItem(0, str(device_index))
			self.listDev.SetItem(item, 1, str(i))
			try:
				devicesList = eval(self.conf.get('SDR-VHF', 'deviceslist'))
			except: devicesList = []
			for ii in devicesList:
				if ii['serial'] == i: self.listDev.SetItem(item, 2, str(ii['ppm']))
		device = ''
		ppm = ''
		gain = ''
		port = ''
		try:
			with open('/etc/default/dump1090-fa', 'r') as f:
				for line in f:
					if 'RECEIVER_OPTIONS=' in line:
						line = line.replace('\n', '')
						line = line.strip()
						items = line.split('=')
						item1 = items[1].replace('"', '')
						item1 = item1.strip()
						options = item1.split(' ')
						#--device-index 1 --gain -10 --ppm 0
						device = options[1]
						gain = options[3]
						ppm = options[5]
			with open('/etc/lighttpd/conf-available/89-dump1090-fa.conf', 'r') as f:
				for line in f:
					#$SERVER["socket"] == ":8081" {
					if '$SERVER["socket"]' in line:
						line = line.replace('\n', '')
						line = line.strip()
						items = line.split('==')
						item1 = items[1].replace('"', '')
						item1 = item1.replace(':', '')
						item1 = item1.replace('{', '')
						port = item1.strip()
		except Exception as e: print(str(e))
		if ppm: self.ppm.SetValue(ppm)
		if gain: self.gain.SetValue(gain)
		if port: self.port.SetValue(port)
		if device:
			listCount = range(self.listDev.GetItemCount())
			for i in listCount:
				if device == self.listDev.GetItemText(i, 0):
					self.listDev.Select(i)
					self.onListDevSelected()
					break
コード例 #6
0
	def read(self):
		from rtlsdr import RtlSdr
		self.onListDevDeselected()
		self.listDev.DeleteAllItems()
		serial_numbers = RtlSdr.get_device_serial_addresses()
		for i in serial_numbers:
			device_index = RtlSdr.get_device_index_by_serial(i)
			item = self.listDev.InsertItem(0, str(device_index))
			self.listDev.SetItem(item, 1, str(i))
			try:
				devicesList = eval(self.conf.get('SDR-VHF', 'deviceslist'))
			except: devicesList = []
			for ii in devicesList:
				if ii['serial'] == i: self.listDev.SetItem(item, 2, str(ii['ppm']))
コード例 #7
0
ファイル: ifscsdr_device.py プロジェクト: jpmsb/IFSCSDR
    def __init__(self,
                 server='127.0.0.1',
                 port='5000',
                 device_index=0,
                 serial_number=None):
        super().__init__(device_index=device_index,
                         serial_number=serial_number)
        threading.Thread.__init__(self)

        if serial_number is not None:
            self.__serial_number = serial_number
            self.__device_index = RtlSdr.get_device_index_by_serial(
                serial_number)
        else:
            self.__serial_number = RtlSdr.get_device_serial_addresses(
            )[device_index]
            self.__device_index = device_index

        self.__port = port
        self.__server = server
        self.__sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
from numpy import *
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
from rtlsdr import RtlSdr
import time
from SSN_modul.Received_power import received_power
from SSN_modul.Received_power import received_power2
from SSN_modul.self_psd import selfpsd

# Get a list of detected device serial numbers (str)
serial_numbers = RtlSdr.get_device_serial_addresses()

#---------------------------------------------------------first sensor
# Find the device index for a given serial number
device_index0 = RtlSdr.get_device_index_by_serial(serial_numbers[0])
sdr0 = RtlSdr(device_index0)
sdr0.sample_rate = 3.2e6
sdr0.center_freq = 1600*1e6
sdr0.gain = 4
#---------------------------------------------------------second sensor
device_index1 = RtlSdr.get_device_index_by_serial(serial_numbers[1])
sdr1 = RtlSdr(device_index1)
sdr1.sample_rate = 3.2e6
sdr1.center_freq = 1600*1e6
sdr1.gain = 4
N = 1
M=128
NN=100
def receive_power1():
    rec=NN # time of samples
コード例 #9
0
def get_sdr_device(sdr_serial_number):
    """ get SDR device ID from the serial number"""
    return RtlSdr.get_device_index_by_serial(sdr_serial_number)
コード例 #10
0
from tkinter import *
from tkinter import ttk
import time as ti

#
from SSN_modul.gui_test import guitest
from SSN_modul.Actions import Actions

#
from rtlsdr import RtlSdr
# Get a list of detected device serial numbers (str)
serial_numbers = RtlSdr.get_device_serial_addresses()
print('serial_numbers:', serial_numbers)
# ---------------------------------------------------------first sensor
# Find the device index for a given serial number
device_index0 = RtlSdr.get_device_index_by_serial(
    serial_numbers[0])  # here is the first sensor
# print('choosed device index:',device_index0)
sdr1 = RtlSdr(device_index0)
sdr1.sample_rate = 1e6
sdr1.center_freq = 434 * 1e6
sdr1.gain = 1
# second sensor
device_index1 = RtlSdr.get_device_index_by_serial(
    serial_numbers[1])  # here is the first sensor
# print('choosed device index:',device_index1)
sdr2 = RtlSdr(device_index1)
sdr2.sample_rate = 1e6
sdr2.center_freq = 434 * 1e6
sdr2.gain = 1

# ----------------------------------------------------------------------
コード例 #11
0
	def OnRefreshButton(self, event=0):
		from rtlsdr import RtlSdr
		serial_numbers = RtlSdr.get_device_serial_addresses()
		self.listApps.DeleteAllItems()
		for i in self.appsDict:
			item = self.listApps.InsertItem(0, i['name'])
			if i['name'] == 'AIS': 
				self.listApps.SetItem(item, 1, _('installed'))
				sdraisdeviceindex = self.conf.get('SDR-VHF', 'sdraisdeviceindex')
				if sdraisdeviceindex:
					self.listApps.SetItem(item, 2, sdraisdeviceindex)
					for ii in serial_numbers:
						if sdraisdeviceindex == str(RtlSdr.get_device_index_by_serial(ii)):
							self.listApps.SetItem(item, 3, ii)
				sdraisppm = self.conf.get('SDR-VHF', 'sdraisppm')
				if sdraisppm: self.listApps.SetItem(item, 4, sdraisppm)
			elif i['name'] == 'GQRX':
				if not os.path.isdir(self.conf.home+'/.config/gqrx'):
					self.listApps.SetItem(item, 1, _('not installed'))
					self.listApps.SetItemBackgroundColour(item,(200,200,200))
				else:
					self.listApps.SetItem(item, 1, _('installed'))
					try:
						device = ''
						gqrx_conf = configparser.ConfigParser()
						gqrx_conf.read(self.conf.home+'/.config/gqrx/default.conf')
						inputDevice = gqrx_conf.get('input', 'device')
						inputDevice = inputDevice.replace('"','')
						inputDevice = inputDevice.split('=')
						if inputDevice[0] == 'rtl': device = inputDevice[1]
						if device:
							self.listApps.SetItem(item, 2, device)
							for ii in serial_numbers:
								if device == str(RtlSdr.get_device_index_by_serial(ii)):
									self.listApps.SetItem(item, 3, ii)
						gqrxppm = gqrx_conf.get('input', 'corr_freq')
						if gqrxppm: self.listApps.SetItem(item, 4, str(int(gqrxppm)/1000000))
					except Exception as e: print('error getting gqrx settings: '+str(e))
			elif i['name'] == 'ADS-B':
				if not self.platform.isInstalled('piaware'):
					self.listApps.SetItem(item, 1, _('not installed'))
					self.listApps.SetItemBackgroundColour(item,(200,200,200))
				else:
					self.listApps.SetItem(item, 1, _('installed'))
					try:
						with open('/etc/default/dump1090-fa', 'r') as f:
							for line in f:
								if 'RECEIVER_OPTIONS=' in line:
									line = line.replace('\n', '')
									line = line.strip()
									items = line.split('=')
									item1 = items[1].replace('"', '')
									item1 = item1.strip()
									options = item1.split(' ')
									#--device-index 1 --gain -10 --ppm 0
									device = options[1]
									ppm = options[5]
									self.listApps.SetItem(item, 2, device)
									self.listApps.SetItem(item, 4, ppm)
									for ii in serial_numbers:
										if device == str(RtlSdr.get_device_index_by_serial(ii)):
											self.listApps.SetItem(item, 3, ii)
					except Exception as e: print(str(e))
			elif i['name'] == 'DAB':
				if not self.platform.isInstalled('welle.io'):
					self.listApps.SetItem(item, 1, _('not installed'))
					self.listApps.SetItemBackgroundColour(item,(200,200,200))
				else:
					self.listApps.SetItem(item, 1, _('installed'))
					self.listApps.SetItem(item, 2, _('First available'))
			elif i['name'] == 'DVB-T':
				if not self.platform.isInstalled('w-scan'):
					self.listApps.SetItem(item, 1, _('not installed'))
					self.listApps.SetItemBackgroundColour(item,(200,200,200))
				else:
					self.listApps.SetItem(item, 1, _('installed'))
					self.listApps.SetItem(item, 2, _('First available'))
		
		self.onListAppsDeselected()
		if self.started:
			self.started = False
			self.statusUpdate()
			self.started = True
		
		indexAis = self.listApps.GetItemText(0, 2)
		indexAdsb = self.listApps.GetItemText(1, 2)
		if indexAis == indexAdsb:
			try:
				subprocess.check_output(['systemctl', 'is-enabled', 'openplotter-rtl_ais']).decode(sys.stdin.encoding)
				worksAis = True
			except: worksAis = False
			try:
				subprocess.check_output(['systemctl', 'is-enabled', 'dump1090-fa']).decode(sys.stdin.encoding)
				worksAdsb = True
			except: worksAdsb = False
			if worksAis and worksAdsb:
				self.listApps.SetItemBackgroundColour(0,(255,0,0))
				self.listApps.SetItemBackgroundColour(1,(255,0,0))
コード例 #12
0
            raise SystemExit("Stopped Listening for the Remote Signal!")


# Added a Proper Entry Point I Guess
if __name__ == "__main__":
    # Start SDR
    try:
        device = 0

        # Get a list of detected device serial numbers (str)
        devices = RtlSdr.get_device_serial_addresses()
        print("Devices: " + str(devices))
        if len(devices) is 0: raise Exception("No Detected RTLSDR Devices!!!")
        # Find the device index for a given serial number
        device_index = RtlSdr.get_device_index_by_serial(
            devices[device]
        )  # You can insert your Serial Address (as a string) directly here
        sdr = RtlSdr(device_index)
        #sdr = RtlSdr() # If you don't have more than 1 device, this will work fine.
    except OSError:
        print("Could Not Find RTLSDR!!! Is It Locked???")
        sys.exit(2)
    except IndexError:
        print("Choose a Valid Device ID!!!")
        sys.exit(2)
    except Exception as error:
        print("I Cannot Find A RTLSDR!!!")
        sys.exit(2)

    # configure device
    measured = 314873e3  # Hz - 314,873.000 kHz