在安装PySDR前你需要安装libiio和libad9361-iio,详细安装教程可以看我之前写的文章。
注意:gr-iio和PySDR冲突(来源),所以安装gr-iio之前请按照这篇文章卸载老版本的gr-iio和GNU Radio,并使用
sudo apt install gnuradio
安装新版本GNU Radio(v3.10),新版本内置了gr-iio无需再安装。
安装流程
首先从官方仓库拉取源码,然后使用python安装依赖以及安装:
git clone --branch v0.0.14 https://github.com/analogdevicesinc/pyadi-iio.git
cd pyadi-iio
pip3 install --upgrade pip
pip3 install -r requirements.txt
sudo python3 setup.py install
如果报错Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate...
,则在安装命令后加上--trusted-host
参数(来源),即
pip3 install -r requirements.txt -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
验证安装
安装完毕后,打开python命令行,执行下列程序:
python3
import adi
sdr = adi.Pluto('ip:192.168.2.1') # or whatever your Pluto's IP is
sdr.sample_rate = int(2.5e6)
sdr.rx()
若报错module 'iio' has no attribute 'Context'
,则可能是gr-iio没有卸载,在gr-iio之前编译时使用的build目录下执行sudo make uninstall
即可。以上程序正常运行结果见下图。