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.

Hexacopter Yapmak

Hexacopter yapmaya çalışıyorum, parçaların bir kısmını satın aldım, öncelikli hedefim, uçabilen birşeyler yapmak, daha sonra, 3 axis gimbal ve fpv ekleyerek devam edeceğim.

IMG_0506

IMG_0507

SOAPUI tarih saat alanlarını otomatik doldurmak

Tarih ve saat alanlarını el ile girmek yerine, o anki tarihi kullanmak, aşağıdaki gibi mümkün oluyor.

<bas:tarih>${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(new Date())}</bas:tarih>

Yüksek çözünürlüklü ekranlarda Netbeans

Windows çalıştıran High DPI ayarı yapılmış yüksek çözünürlüklü ekranlarda netbeans bir garip görünüyor. Bu durumdan kurtulmak için
C:\Program Files\NetBeans 8.0.2\etc\netbeans.conf
dosyası içerisinde


-J-Dsun.java2d.dpiaware=true

anahtarını

-J-Dsun.java2d.dpiaware=false

olarak değiştirebilirsiniz.

Oracle BPM ve BPEL süreç durumları

süreçlerin durumlarını veri tabanından görebilmek için şu sorgu kullanılabilir:

SELECT CASE state 
  WHEN 0 THEN 'Running'
  WHEN 1 THEN 'Completed' 
  WHEN 2 THEN 'Running with Faults'  
  WHEN 3 THEN 'Completed with Faults'  
  WHEN 4 THEN 'Running with Recovery Required'  
  WHEN 5 THEN 'Completed with Recovery Required'  
  WHEN 6 THEN 'Running with Fault and Recovery Required'  
  WHEN 32 THEN 'Unknown'  
  WHEN 64 THEN 'Stale'  
  END AS STATE, COUNT(state) FROM SOAINFRA.COMPOSITE_INSTANCE WHERE source_name = '<servis adi>' GROUP BY state ORDER BY state;

SQL Developer Rendering Hataları

Windows 8 altında oracle sql developer özellikle menüleri gösterirken problem yaşıyor. Bu durumdan kurtulmak için
/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
dosyasına

AddVMOption -XX:MaxPermSize=256M

satırını ekleyip, şu satırları çıkardığınızda problem çözülüyor

#AddVMOption -Dsun.locale.formatasdefault=true
#AddVMOption -Dorg.netbeans.CLIHandler.server=false

Oracle BPM Human Task ADF deploymenti kurtarmak

Eğer yanlışlıkla BPM süreçlerinizin ekranlarını eski ekranlar üzerine deploy ederseniz, ve yedek de almadıysanız, yapabileceğiniz birşey var.

weblogic tmp klasörü altına, .appmergegen ile başlayan geçici dosyalar oluşturuyor ve bunları silmiyor.

Bu dosyaları, örneğin

/oracle/middleware/user_projects/domains/soa_domain/servers/AdminServer/tmp/.appmergegen_1429102056582_IB_Merkez_BPM.ear

klasörü altında bulabilirsiniz. Deploymentinizi geri almak için,

  1. Bir önceki tarihli klasörü bilgisayarınıza kopyalayın
  2. Klasör adını düzeltin (örneğin IB_Merkez_BPM.ear)
  3. Klasörün içerisine girerek, bütün dosyaları seçin ve zipleyin.
  4. Zip dosyasının uzantısını ear olarak değiştirin.
  5. Dosyayı, sunucuda ulaşabileceğiniz bir yere kopyalayın
  6. Weblogic üzerinden eski versiyonu silin. (Deployments altından seçip delete diyerek)
  7. weblogic üzerinen normal bir şekilde deploy edin.
  8. Deploy ettiğiniz ear’ı start edin.

Hepsi bu.

Bir dahaki sefere Human Task’ları deploy ederken, versiyonlamayı ve deployment öncesinde yedek almayı unutmayın.