UbuntuでADALM-PlutoをPythonから触る

先日analog devices社の販売するソフトウェア無線キット、ADALM-Plutoを購入し、セットアップを行ったので詳細をメモしておく。Ubuntu20.04にて行った。

環境構築

ユーザーガイドはこちらにあり、特にpythonからの利用方法はここにまとまっている。そのためあえてここで説明するまでもないかもしれない…

強いて言うならばUbuntuを利用している場合、libiioのインストール後にpyadi-iio quickstartにしたがってパスを通す必要があることくらい。(libiioのインストール時に特にオプションをつけなかった場合)

自身の場合は以下のように.bashrcに記載した

export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.8/site-packages

また、libiioにはビルド済みパッケージも存在しているが、自身の環境ではこれを利用できなかった。(実行時になぜかSegmentation Faultとなった)そのためアンインストールし、ソースからビルドしてインストールしたところ、問題なく実行できた。

利用方法

ドキュメントexampleなどがあるので分からないことがあればこのあたりを参照すればいいように思う。以下はこれらに対する補足。

adi.Pluto()uriについて

Customizing the Pluto configuration内に説明があったりする。libiioに含まれるコマンド、iio_info -Sで情報が取れる。uriの指定はADALM-Plutoが複数接続されている場合に役に立つらしい。

ADALM-Plutoの型番

ad936xに属しており、恐らくデフォルトではad9363だと思われる。ちなみにad9364へのアップデート方法についてはCustomizing the Pluto configurationの「Updating to the AD9364」を参照すべし。

sdr.tx()を利用するとなぜかSegmentation Faultが出る

プログラム終了時にsdr.tx_destroy_buffer()を呼んだら出なくなった(気がする)。

参考資料

Built with Hugo
Theme Stack designed by Jimmy