Lab0 PlutoSDR环境配置

作者:

  • 游理钊:lizhaoyou@xmu.edu.cn
  • 汤智榕:ttangzr@163.com

时间:

  • 初稿:2022年1月30日
  • 修正:2022年12月30日

简介

ADI Pluto是一种低成本的软件无线电设备,非常适合教学。Pluto可以在Windows系统下运行,也可以在Linux系统下运行,只需要安装好相应的驱动。本课程将采用Python语言进行编程,推荐使用Python 3.7。Python编程的IDE可以使用Pycharm。

Windows 10

1、下载并安装PlutoSDR-M2k-USB-Drivers-v0.8

https://github.com/analogdevicesinc/plutosdr-m2k-drivers-win/releases/download/v0.8/PlutoSDR-M2k-USB-Drivers.exe

2、下载并安装libiio-0.23.gc14a0f8-Windows-setup

https://github.com/analogdevicesinc/libiio/releases/download/v0.23/libiio-0.23.gc14a0f8-Windows-setup.exe

3、下载并安装miniconda (主要用于管理Python环境,也可用conda)

https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.9.2-Windows-x86_64.exe

4、安装必要python packages

$ conda activate base
$ pip install pylibiio==0.23.1
$ pip install pyadi-iio==0.0.12
$ pip install scipy==1.7.3 numpy==1.21.4

5、插入Pluto硬件,并进行测试

$ conda activate base
$ 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()

Linux (Ubuntu 16.04/18.04)

推荐使用裸系统,使用虚拟机会降低性能

1、下载并安装miniconda (用于管理Python环境,也可用conda)

$ sudo mkdir -p /opt
$ sudo chmod -R 777 /opt
$ wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh" -O /opt/miniconda3.sh --no-check-certificate
$ bash /opt/miniconda3.sh
$ conda activate base

2、安装package依赖

$ sudo apt-get update
$ sudo apt-get install git libxml2 libxml2-dev bison flex libcdk5-dev cmake libusb-1.0-0 libusb-1.0-0-dev libavahi-common-dev libavahi-client-dev libaio-dev -y

3、安装libiio

$ cd /opt/
$ git clone --branch v0.23 https://gitee.com/ttangzr/libiio.git libiio
$ cd libiio
$ cmake ./
$ make all -j4
$ sudo make install
$ sudo ldconfig
$ cd bindings/python/
$ sudo python setup.py.cmakein install

4、安装libad9361-iio

$ cd /opt/
$ git clone --branch v0.2 https://gitee.com/ttangzr/libad9361-iio.git libad9361-iio
$ cd libad9361-iio
$ cmake ./
$ make -j4
$ sudo make install

5、安装pyadi-iio等packages

$ pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyadi-iio==0.0.11 scipy==1.7.3 numpy==1.21.4

6、插入Pluto硬件,并进行测试

$ conda activate base
$ 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()