Mesajlar Etiketlendi ‘raspberry’

web SDR

Yayınlandı: Ağustos 23, 2017 / Hardware & Software
Etiketler:, , , , , , , ,

SDR yazısında, rtl-sdr’nin nasıl kullanılacağını anlatmıştım. Şayet kurulumu raspberry pi veya bir linux işletim sistemi üzerine yaptıysanız, bir kaç ilave ile sisteminizi web-sdr’ye dönüştürmek çok kolay. (konunun yasal boyutlarını bilmiyorum ancak amatör bantlarda kalındığı sürece sorun olmaz diye düşünüyorum)

SDR yazılımları ve RTL-SDR dongle kullanmak için bir kaç alternatif var.
* windows işletim sistemine kurmak
* raspberry pi (veya benzerleri) üzerine kurmak
* linux işletim sistemine kurmak

OpenWebRx yazılımı ile SDR web server yapmak istiyorsak, windows burada devre dışı kalıyor. Pi için gerekli imaj dosyasını (jessie sürümü) netten kolaylıkla bulup indirebilir ve bir SD karta yazıp kullanmaya başlayabilirsiniz.
PC üzerinde kullanmayı düşünüyorsanız, en kolayı windows üzerinde sanal linux çalıştırmak. Bunun 2 yolu var.
VirtualBox veya VMware yazılımlarına uygun hazır imaj dosyasını indirip çalıştırmak veya yine bu yazılımlar üzerinden sıfır kurulum yapmak.

Artık çalışan bir sanal linux makinanız (veya raspberry pi) olduğunu varsayarak devam edersek, aşağıdaki komutlarla RTL dongle kurumunu yapalım.

sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev

git clone git://git.osmocom.org/rtl-sdr.git

cd rtl-sdr/

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON

make

sudo make install

sudo ldconfig

sudo bash -c ‘echo -e “\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n” >> /etc/modprobe.d/blacklist.conf’

sudo rmmod dvb_usb_rtl28xxu

Artık modül kullanıma hazır. Komut satırında <sudo rtl_test -a> komutu ile modülü test edebilirsiniz. Buraya kadar herşey yolunda ise;
OpenWebRx’i kurabiliriz. (yazılım, HA7ILM çağrı işaretli radyo amatörüne aittir)

git clone https://github.com/simonyiszk/openwebrx.git

git clone https://github.com/simonyiszk/csdr.git

cd csdr

make

sudo make install

Konfigürasyon:

sudo nano ../openwebrx/config_webrx.py

Burada gerekli kullanıcı ayarlarını (IP, port vs.) yapmanız gerekiyor. (benim kullandığım modül VHF/UHF bandında çalıştışıyor, HF için kullanacaksanız, center_ freq ve sample_rate değerlerini, kullanılacak frekansa göre değiştirmek gerekir) (server_host_name değerine, bilgisayarın IP adresini yazabilirsiniz)

Çalıştırma:

cd ../openwebrx

./openwebrx.py

aynı PC üzerinde bir tarayıcı açarak, localhost:portno ile test yapabilirsiniz. (lokalhost yerine IP tanımlanmışsa, ağdaki diğer PC’lerden veya telefonunuzdan da erişim mümkün) internet üzerinden erişim için modemde port yönlendirme yapmak gerekebilir.

Konfig dosyası içinde sdr.hu sitesine kayıt olmak için gerekli yönerge de mevcut.

OpenWebRx benzeri, daha kapsamlı yazılımlar bulmak ve çalıştırmak mümkün. Ancak basit bir webSDR denemesi için, bu yazılımın yeterli olduğunu düşünüyorum. Sorularınız için mail adresimi kullanabilirsiniz.

SDR – Software Defined Radio

Yayınlandı: Ağustos 17, 2017 / Hardware & Software
Etiketler:, , , , ,

Piyasada 8-10$’a bulunabilen DVB-T USB modüller ile basit bir yazılım tabanlı alıcı yapmak mümkün. Kullanılan çipe göre frekans aralığı değişse de,
herhangi bir SDR yazılımı ile (SDR#, HDSDR gibi) 25-2000MHz arasında kullanılabiliyor. Ayrıca donanım modifikasyonu ile, HF’de de çalıştırmak mümkün.

Windows altında kullanacaksanız, http://sdr-radio.com/Radios/RTL-Dongles adresindeki yönergeyi takip ederek, elinizdeki modül için gerekli sürücüyü kurabilirsiniz.
Bundan sonra yapmanız gereken, bir SDR yazılımı indirmek ve kurmak. (HDSDR için http://www.hdsdr.de/) bu program için, kullanacağınız modüle göre dll dosyasına ihtiyacınız olacak (ExtIO-RTL)

Dediğim gibi, direct sampling mod ile cihazı 100KHz-25MHz arasında kullanmak mümkün. Bunun için http://www.rtl-sdr.com/rtl-sdr-direct-sampling-mode/ adresini okumanızı tavsiye ederim. SDR yazılımlarından bazıları, dijital modları da çözebiliyor. Farklı yazılımlarla, hava durumu uydularının sinyallerini, APRS datalarını veya ADS-B datalarını çözebilirsiniz.

Ben, uzun zamandır anten kuracak bir yerim olmadığından, farklı bir şekilde kullanmayı düşündüm. Bir Raspberry Pi üzerine birden fazla tuner takmak mümkün.

tuner2

>rtl_test komutu ile bağlı tunerleri görebilir ve aygıt numarası ile seçim yapıp kullanabilirsiniz. Burada dikkat edilmesi gereken, her tuner’in seri numaralarının farklı olması gerektiği. Seri numaralarını da, cihalzrı tek tek takarak, “rtl_eeprom” programı ile değiştirebilirsiniz.

Modülü Raspberry Pi üzerine takıp, iş yerimde çatıya koyacağım (antene yakın olacak şekilde). Çalışması için gereken tek şey, raspberry’nin beslemesi ve network kablosu (pi3 kullanırsanız, kablosuz bağlantı da mümkün). Anten için henüz bir karar vermedim ama şöyle bir şey olabilir.

Bu anten ile ilgili gerekli bilgilere http://ea4eoz.blogspot.com.tr/2012/09/the-turnstile-antenna.html adresinden ulaşabilirsiniz.

Gelelim RaspberryPi ve dongle kurulumuna. Daha önce APRS repeater için kullandığım pi’nin üzerine, dongle için gerekli uygulamaları kurdum. Pi çalıştığında, network üzerinden, modül kendi bilgisayarınızda takılıymış gibi kullanabiliyorsunuz. Bir çok SDR yazılımı da TCP bağlantıyı destekliyor. SDR# yazılımında, “rtl-sdr tcp” seçmek ve ayarlarda, raspberry’nin IP adresini girmek yeterli.

Lokal ağ dışından bağlanmak isterseniz, modem üzerinden IP ve port yönlendirmesi yapmanız gerekecektir!.

RTL-SDR KURULUMU:

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade
pi@raspberrypi ~ $ cat <<EOF >no-rtl.conf
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
EOF
pi@raspberrypi ~ $ sudo mv no-rtl.conf /etc/modprobe.d/

pi@raspberrypi ~ $ sudo apt-get install git-core
pi@raspberrypi ~ $ sudo apt-get install git
pi@raspberrypi ~ $ sudo apt-get install cmake
pi@raspberrypi ~ $ sudo apt-get install libusb-1.0-0-dev
pi@raspberrypi ~ $ sudo apt-get install build-essential

pi@raspberrypi ~ $ git clone git://git.osmocom.org/rtl-sdr.git
pi@raspberrypi ~ $ cd rtl-sdr/
pi@raspberrypi ~/rtl-sdr $ mkdir build
pi@raspberrypi ~/rtl-sdr $ cd build
pi@raspberrypi ~/rtl-sdr/build $ cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON

pi@raspberrypi ~/rtl-sdr/build $ make
pi@raspberrypi ~/rtl-sdr/build $ sudo make install
pi@raspberrypi ~/rtl-sdr/build $ sudo ldconfig
pi@raspberrypi ~/rtl-sdr/build $ cd ~
pi@raspberrypi ~ $ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
pi@raspberrypi ~ $ sudo reboot

Bu adımları takip ettiğinizde, büyük ihtimalle sorunsuz kurulum yapılmış olacaktır. Komut satırında <rtl_test -t> komutunu yazarak düzgün kurulum yapılıp yapılmadığını görebilirsiniz.


Daha sonra <rtl_tcp -a IP> komutu ile TCP serverı çalıştırabilirsiniz. Burada IP yerine, raspberry pi için vermiş olduğunuz IP’yi yazmalısınız.
Aynı ağdaki bilgisayarınızdan SDR yazılımını açın ve vermiş olduğunuz IP ile ayarları yapın.

Başta da belirttiğim gibi, piyasada bulabileceğiniz birkaç DVB-T tuner var. Bunlar aşağıdaki tuner çiplerini kullanıyorlar. Bazıları, yukarıda da anlattığım, direct sample modu yapılmış halde de bulunabiliyor (VHF ve HF girişleri ayrı) Benim aldığım dongle, R820T olarak belirtilmiş olmasına rağmen, tuner çipi Fitipower FC0012 çıktı. Bu nedenle ADS-B datalarını alamıyorum. 900MHz üzerini kullanacaksanız, buna dikkat etmelisiniz.


Ayrıca 3.parti yazılımlarla dijital sinyalleri de çözmek mümkün.  (gerekli açıklama ve programları linkte bulabilirsiniz)

ZADIG – RTL windows driver


aprs
20161011_144910

Neler gerekli?

Raspberry Pi 2 (veya 3)
USB Ses kartı
VHF telsiz

telsiz-ses kartı bağlantısı
Telsiz ve ses kartı giriş-çıkışlarını doğrudan yapabileceğiniz gibi, araya bir izolasyon
trafosu, ses seviye ayarı için pot. vs. ekleyebilirsiniz.  Benzer bir şema aşağıda. Nette bunun
gibi bir çok şema mevcut. Ben ilk etapta, el cihazı ile test yaptığım için VOX kullandım.
Mobil cihaz için (veya VOX kullanmak istemezseniz) optokuplörlü basit bir devre ile Tx de yapabilirsiniz.

psk_intface

Bölüm 1  –  Raspberry pi ile çalışmak

Öncelikle bir Raspberry pi satın almanız gerekiyor. Aslında işin en zor kısmı bu.
Artık Türkiye’de 35$ civarında Raspberry pi 3 bulmak mümkün. İsterseniz,
yurtdışı sitelerden de daha uygun fiyatlara temin edebilirsiniz.
Sadece Raspberry pi kartını satın aldıysanız, 1 adet DC adaptör ve 1 adet
8gB mikroSD kart da satın almanız gerekiyor. ayrıca, HDMI girişli bir monitöre
ve HDMI kablosuna ihtiyacınız olacak.

Yapılması gereken ilk iş, Raspian işletim sistemini indirmek ve SD karta yazdırmak.

Raspbian – Jessie linkinden imaj dosyasını indirin.
ImageWriter linkindeki programı indirin ve kurun.
Sd kartınızı PC’ye takıp, “win32DiskImager” programını çalıştırın.
Imaj dosyasını ve SD kartın takılı olduğu sürücüyü seçin. “write” butonuna basın
ve yazma işinin bitmesini bekleyin.

Artık elimizde işletim sistemimizin yüklü olduğu bir sd kart var. Kartı Raspberry’ye
takın. Ağ bağlantısını yapın. (pi 3’de wifi de mevcut)
DC güç kablosunu takın ve masaüstü gelene kadar bekleyin.

İnternet bağlantınızın kurulmuş olması gerekiyor, kurulumun devamı için bu gerekli.
Komut penceresini açalım ve Raspberry için gerekli güncellemeleri yapalım.

Bölüm 2  –  APRS çalışmak için gerekli programlar

sudo apt-get update
sudo apt-get upgrade

Burada şöyle bir seçeneğiniz de var. Raspberry üzerine RDP veya VNC kurarsanız,
ayrı bir monitör/klavye ihtiyacınız olmadan, uzak bağlantı ile gerekli kurulum/işletmeyi de yapabilirsiniz.

Linkte RDP anlatımı mevcut.  Raspberry RDP kurulumu

Ses kartı için gerekli programları kuralım.

apt-get install soundmodem ax25-tools ax25-apps libax25-dev screen

soundcard
Şimdi ses kartını takalım ve lusb komutu ile USB aygıtın çalıştığından emin olalım.
Listede “Audio adapter” görünüyorsa, ses kartı çalışıyor demektir.
Raspberry’yi yeniden başlatalım. Bunu kullanıcı arayüzünden veya komut satırından
reboot komutu ile yapabilirsiniz.

Sound Modem Ayarları ile devam edelim. Aşağıdaki komutu, komut satırına yazın.

sudo soundmodemconfig

File>New>Configuration seçip bir isim verin. (AX25 gibi)
Bu sayfadaki ayarlar aşağıdaki gibi olacak.

untitled-1
untitled-2

Yine menüden, File>New>Channel ile yeni kanal ekleyin.

untitled-3

untitled-4
untitled-5
Ayarları kaydedip çıkın. SoundModem ayarları tamam.
Ses kartımızın playback ve record seviye ayarlarını da yapmamız gerekiyor.

sudo alsamixer

mixer

Yön ve fonksiyon tuşlarını kullanarak gerekli ayarları yapabilirsiniz. Kullanacağınız cihaza göre buradan ince ayar yapmak gerekebilir. (kullanılacak alıcı-verici cihaza göre, ses giriş ve çıkış seviyelerinin ayarlanması gerekir.) Yapılan ayarları kaydetmek için; sudo alsactl store komutunu kullanabilirsiniz.

Sonraki aşama, xastir programının kurulumu ve ayarları. Aşağıdaki komutla xastir’i kuralım ve çalıştıralım.

sudo apt-get install xastir
sudo xastir 

xastir’in <interface> ayarlarında yapmamız gereken, 2 tane interface eklemek. Bunlardan biri internet ile bağlantıyı sağlayacak, diğeri de ses kartı üzerinden telsiz ile
haberleşmeyi sağlayacak.

File/Configure menüsünden Station ayarlarını yapın.

xastir2

<configure station> ve <configure default> menülerinde gerekli giriş ve ayarları yapın.
Listeden, internet server’ı seçip ekleyin, aynı işlemi bir kez de, serial KISS TNC için yapın.

untitled-55


i
nterface control sayfasında, properties butonuna basıp, her ikisi için de, gerekli ayarları yapın. <Start All> butonuna bastığınızda,
2 kontrol de UP oluyorsa, sistem çalışıyor demektir.

xastir1

 

untitled-6
Bu yazılımla, repeater veya i-gate olarak veya her ikisini de aynı anda çalıştırabilirsiniz.
Daha önce de belirttiğim gibi,ses kartına giren ve çıkan ses seviyelerini iyi ayarlamak gerekiyor. Ses seviyesi gerekenden yüksek veya düşükse
almada sıkıntı yaşayabilirsiniz. aynı şekilde yüksek ses çıkışı da distorsiyona uğrayacağından, alıcı tarafta net okunamayacaktır.

Ben cihazın VOX özelliğini kullandım. KISS parametrelerinde gerekli gecikmeler verilirse sorunsuz çalışıyor. Ancak istenirse bir optokuplör ve
raspberry’nin seri portu kullanılarak Tx de yapılabilir.

VOX kullanmak istemezseniz; pi 2 için 2 yöntem var.
Birincisi, usb-ttl çevirici kullanmak, diğeri de, pi’nin CTS/RTS pinlerini kullanmak. 2.yöntem için, seri portu tanımlamak, CTS/RTS pinleri için GPIO pinlerinin
modunu değiştirmek vs. gibi işlemler gerekiyor. Ben uğraştım ama henüz çalıştıramadım 🙂

usb-ttl çevirici kullanmak isterseniz, yapmanız gereken çeviriciyi USB portuna takmak ve gerekli sürücüyü kurmak. (FTDI çipli bir çevirici kullanıyorsanız, sürücü istemeyebilir)

lsusb  komutu ile, sistemdeki usb aygıtları görebilirsiniz. Bu listede aygıt varsa, <soundmodemconfig> içinde, PTT device olarak ttyUSB0 seçin ve soundmodem’i çalıştırın. Çeviricide CTS pini normalde High, PTT (tx) yapıldığında Low olacaktır.

 

Linkler:

http://pinout.xyz/pinout/pin11_gpio17
Alsamixer hakkında