Kategori arşivi: SDR

Ubuntu 18.10 üzerinde SDRAngel ve Adalm Pluto kurulumu

Bu yazıda SDRAngel uygulamasının Adalm Pluto ile birlikte kullanılmak üzere kurulumunu anlatacağım.

Öncelikle github üzerinden sdrangel uygulamasını bilgisayarımıza indiriyoruz.
git clone https://github.com/f4exb/sdrangel.git

Gerekli bağımlılıkları sistemimize kurmamız gerekiyor. Bu bağımlılıkların bazılarını paket yöneticisi yerine kaynak kodlarından da kurabiliriz, fakat ubuntu 18.10 için yeterince yeni versiyonları zaten paket yöneticisinde bulunuyor. Adalm pluto iio kullandığı için, libiio paketlerini de kurmamız gerekiyor.


sudo apt-get install cmake g++ pkg-config libfftw3-dev libqt5multimedia5-plugins qtmultimedia5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtbase5-dev libusb-1.0 librtlsdr-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libsqlite3-dev libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev libiio0 libiio-dev

SDRAngel QT ile geliştirilmiş bir uygulama. Bu uygulama için makefile dosyasını cmake ile hazırlayacağız. Bunun için öncelikle bir dizin açıyoruz. Derleme için gerekli dosyalar ve daha sonra derlenmiş uygulama bu klasörde olacak.

cd sdrangel/
mkdir build
cd build

cmake ile makefile dosyamızı oluşturuyoruz;

cmake .. -DLIBIIO_INCLUDE_DIR=/usr/include/ -DLIBIIO_LIBRARY=/usr/lib/x86_64-linux-gnu/libiio.so

ve derliyoruz. (-j 8 parametresinden, 4 çekirdek 8 thread bir işlemci üzerinde derlediğimi anlamışsınızdır)

make -j8

Eğer benim gibi yüksek çözünürlüklü (HiDPI) ya da 4k ekran kullanıyorsanız, QT’nin “efsanevi” scaling ayarları yüzünden pek birşey kullanamayacaksınız. Bu durumda aşağıdaki gibi bazı ortam değişkenlerini ayarlamak gerekmekte.


export QT_SCALE_FACTOR=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCREEN_SCALE_FACTORS=2

PlutoSDR plugini SDRAngel uygulamasında olmasına rağmen, plutoyu görmedi SDRAngel, ben de SoapySDR sürücüsü üzerinden ilerlemeye karar verdim.

soapysdr’ın diğer sürücülerini ve bağımlılıklarını kurmak için, biraz üşengeç bir metod şu şekilde.

sudo apt install sopysdr*

Aşağıdaki komutlarla, soapysdr sürücüsünü de kurabilirsiniz.

git clone https://github.com/jocover/SoapyPlutoSDR.git
cd SoapyPlutoSDR/
mkdir build
cd build/
cmake ..
make
sudo make install

Daha sonra soapysdr üzerinden pluto diğer yazılımlarla da (örneğin cubicsdr) çalışacaktır.


Adalm Pluto

Uzun zamandır yolunu beklediğim Adalm-pluto SDR modülü sonunda geldi. Şimdi sıra basit bir FM Radyo alıcısı yaparak sistemi test etmekte.

Pluto Alma-Gönderme Frekans Modu

Öncelikle, Pluto’nun kendi sitesinde dahi bahsedilen modu yapmak istiyorum. Anlaşılan ilk plutolarda AD9363 yerine AD9464 kullanmışlar. Gerçi, AD9363 kullananlarda da bu modun işe yaradığı söyleniyor. Deneyip göreceğiz. Bu mod sayesinde 325-3800 MHz arasında olan alma-gönderme frekans aralığı, 70MHz. 6GHz. arasına çıkacak, ve 20MHz olan bant genişliği de 56 MHz’e çıkacak.
Plutoyu bilgisayarımıza taktığımızda, kendisini bir network cihazı, bir usb hafıza aygıtı ve bir de seri port olarak gösteriyor.
Öncelikle, en sevdiğimiz uygulama (screen, kermit…) ile Plutoya bağlanıyoruz. Bunun yerine, ssh ile de bağlanabiliriz, ssh root@192.168.2.1 şeklinde.


koray@koray-g752v:~$ kermit -l /dev/ttyACM0 -b 115200
Removing stale lock /var/lock/LCK..ttyACM0 (pid 9785 terminated)
C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5 (64-bit)
Copyright (C) 1985, 2011,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/koray/) C-Kermit>c
Connecting to /dev/ttyACM0, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

Welcome to Pluto
pluto login: root
Password:
Welcome to:
______ _ _ _________________
| ___ \ | | | / ___| _ \ ___ \
| |_/ / |_ _| |_ ___ \ `--.| | | | |_/ /
| __/| | | | | __/ _ \ `--. \ | | | /
| | | | |_| | || (_) /\__/ / |/ /| |\ \
\_| |_|\__,_|\__\___/\____/|___/ \_| \_|

v0.27
http://wiki.analog.com/university/tools/pluto

Bağlandıktan sonra, aşağıdaki komutlar ile, uboot değişkenlerini düzenliyoruz.

# fw_printenv attr_name
## Error: "attr_name" not defined
# fw_setenv attr_name compatible
# fw_setenv attr_val ad9364
# fw_printenv attr_val
attr_val=ad9364
# reboot
#
Communications disconnect (Back at koray-g752v)
----------------------------------------------------
(/home/koray/) C-Kermit>

Yeniden başlattıktan sonra, aşağıdaki gibi değişikliklerimizin olup olmadığını görebiliriz


# fw_printenv attr_val
attr_val=ad9364

Firmware Güncellemesi

192.168.2.1 adresine herhangi bir tarayıcı ile bağlanınca, aşağıdaki gibi yeni bir firmware olduğunu görüyoruz. Bu yeni firmware’i linkten indirip, kurmamız gerekiyor.

update etmek çok kolay, pluto.frm dosyasını, plutonun oluşturmuş olduğu diske kopyalayıp, diski eject etmek yetiyor. daha sonra, LED1 ledi yanıp sönmeye başlıyor; bu led sönene kadar bekliyoruz, işlem bittiğinde yeniden başlıyor ve tekrar mount oluyor disk, bu arada usb kablosunu kesinlikle çıkarmıyoruz. Hepsi bu.

gqrx

Siz de benim gibi ubuntu kullanıyor ve zaten SDR uygulamalarını kurmuş iseniz, öncelikle bunları kaldırmanız gerekiyor. PlutoSDR libiio ve gqrx’in belli versiyonlarını istiyor.

sudo apt-get purge --auto-remove gqrx
sudo apt-get purge --auto-remove libgnuradio*
sudo apt purge --autoremove gqrx-sdr libiio* libad9361-*

daha sonra, aşağıdaki komutlar ile PPA’ları sistemimize ekliyor ve kurulumu yapıyoruz.


sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update

Son olarak kurulumu yapıyoruz


sudo apt-get install gqrx-sdr

hepsi bu.