Python 3.11.3
Pyadi-iio 0.0.14
Pylibiio 0.23.1
TX OOK @ 433.96 MHz
import adi
import iio
sdr = adi.Pluto('ip:192.168.2.1')
ctx = iio.Context('ip:192.168.2.1')
phy = sdr.ctx.find_device("ad9361-phy")
v = phy.reg_read(0x37)
print(f"ID: {hex(v)}")
center_freq = 433.96e6 # Hz
sample_rate = 0.521e6 # Hz Minimum is 521 KSPS
num_samples = 2**16
sdr.gain_control_mode_chan0 = "fast_attack"
#sdr.gain_control_mode_chan0 = 'manual'
#sdr.rx_hardwaregain_chan0 = 30.0 # allowable range is 0 to 74.5 dB
sdr.rx_lo = int(center_freq)
sdr.sample_rate = int(sample_rate)
sdr.rx_rf_bandwidth = int(sample_rate) # filter width, just set it to the same as sample rate for now
sdr.rx_buffer_size = num_samples
#rssi = sdr._ctrl.find_channel('voltage0').attrs['rssi'].value
#print(rssi.replace(" dB", ""))
#rssi = sdr._get_iio_attr('voltage0', 'rssi', False)
#rssi_symbol = phy.reg_read(0x1A7)
#rssi_symbol_lsb = phy.reg_read(0x1AB)
#rssi = (rssi_symbol << 1) + rssi_symbol_lsb
try:
while True:
rssi = sdr._ctrl.find_channel('voltage0').attrs['rssi'].value
rssi = -float(rssi.replace(" dB", ""))
print(rssi)
except KeyboardInterrupt:
print("Keyboard exit")
Kommentit
Tämän blogin kommentit tarkistetaan ennen julkaisua.