Ağ üzerinden çalışan bir DMR alıcı - verici cihazı

   

Raspberry Pi 3                                                                                                                             Yapılıp kutulanmış devre

 

(Burada anlatılan devre EA3IHI çağrı işaretli radyo amatörü tarafından açık kaynak kodlu olarak tasarlanmıştır. Orijinal devreye http://dmrstation.com/ adresinden ulaşabilirsiniz.)

ÖN ŞART: Bu devreyi çalıştırabilmek için bir DMR ID'ye sahip  olmanız gereklidir. Amatör telsizci çağrı işaretiniz varsa, DMR ID almak için https://register.ham-digital.org/ adresinden gerekli müracaatı yapabilirsiniz.

Linux, büyük küçük harfe duyarlıdır. Dolayısıyla, komutları ve özellikle dosya isimleri ile dizinleri yazarken buna dikkat ediniz. Mesela DMRstation ile DMRStation iki farklı dosya ismidir.

RPi3 ve RPi4 ile çalışırken, ısınan tümdevrelerin üzerine birer soğutucu yapıştırmanızı hararetle tavsiye ediyorum. Ayrıca RPi4'te bir fan kullanmak da faydalı olacaktır. Bu amaçla soğutucu ve fanı internet üzerinden rahatlıkla temin edebilirsiniz.

RPi'da statik elektriğe hassas elemanlar bulunduğundan, statik elektrik ile ilgili genel tavsiyelere uyunuz.

RPi için orijinal besleme devresi kullanın. Bu mümkün olmazsa, akım ihtiyacını karşılayabilecek kalileti bir besleme devresi kullanın.

Burada anlatılanlar, Raspberry Pi için Debian 10 Desktop Linux sürümü yüklü bir sistem içindir.

 

EA3IHI çağrı işaretli radyo amatörü tarafından ARM işlemcili kartlar üzerinde çalıştırılmak üzere dizayn edilen ve ağ (internet) üzerinden veri alışverişi yapan bir DMR alıcı -verici devresi oldukça ilginçtir. Bütün dünyada analogdan sayısala doğru bir gidiş var. Bunun çeşitli teknik ve ekonomik sebepleri var. Sayısal telsiz ile haberleşmeyi amatör telsizciliğin ruhuna aykırı bulanlar olduğu gibi, bu sistem sâyesinde bütün dünya ile kolayca haberleşmek gibi avantajları göstererek bu sisteme sıcak bakanlar da var. Öyle ya da böyle, sayısal haberleşme hayatımıza girmiş durumda.

EA3IHI, kendi devresini STM32MP157C-DK2 geliştirme kartı üzerinde geliştirse de, ARM tabanlı işlemciye sâhip ve Linux yüklü Raspberry Pi'larda (Pi 3, Pi 4) da devre çalıştırılabilmektedir. Ben bu devreyi RPi Zero, RPi3 ve RPi4 üzerinde denedim. RPi3 ve RPi4'te devre başarılı olarak çalışsa da, RPi Zero üzerinde ses alamadım.  Burada bir RPi3'e kurulumu anlatacağım.

 

DMRstation devresini gerçekleştirebilmek için nelere ihtiyacınız var?

         MikroSD kart okuyucu, mikro SD kart, USB ses kartı ve 3.5" dokunmatik LCD

a) Rasberry Pi 3 veya 4 tek kartlı bilgisayar (Raspberry Pi'nin Türkiye onaylı satıcısı SAMM MARKET.)

b) 16 GB ve üstü mikro SD kart (Class 10 ve üstü tercih sebebidir)

c) Harici mikro SD kart okuyucu (Bilgisayarınızda mikro SD kart okuyucu varsa, hârici kart okuyucuya gerek yoktur.)

ç) USB ses kartı

d) Raspberry pi için LCD ekran (eğer devreyi sürekli olarak bir monitör üzerinden kullanacaksanız gerek yoktur) (Ben, ekranı Ankara'da bulunan Robolink Market'ten aldım)

e) HDMI girişi olan bir monitör ya da televizyon.

f) HDMI ara kablo (Eğer Raspberry Pi 3 kullanıyorsanız her iki konnektörü de normal olan HDMI kabloya, Raspberry Pi 4 kullanıyorsanız bir ucu mikro HDMI, diğer ucu normal olan HDMI ara kabloya ihtiyacınız olacaktır.)

Bu donanımların hepsini internet üzerinden temin edebilirsiniz.

 

Devreyi gerçekleştirme

 

 

 

 

 

 

 

LXTerminal simgesi

 

NOT: Kurulum işlemi için RPi'ınızın internete bağlı olması gerekmektedir.

1) RPi'ınıza Raspberryi Pi Desktop'ı kurun. Bu işlemin nasıl yapılacağını Raspberry Pi Dektop Kurulumu sayfasından adım adım öğrenebilirsiniz.  Eğer hâlihazırda Raspberry Pi Desktop sürümü yüklü bir RPi'a sâhipseniz, bu adımı geçiniz.

 

2) RPi'ınıza klavye ve fare takarak çalıştırın ve masaüstü gelsin. Yukrıdaki resimde görüldüğü gibi masaüstünün sol üst tarafındaki LXterminal simgesine tıklayınız. Boş bir siyah pencere açılacaktır. (Bu terminal penceresinde pek çok işlem gerçekleştirebilirsiniz.Linux'ta her kullanıcının belli hak ve yetkileri vardır. ROOT en yetkili kullanıcıdır. Bir kullanıcı, ROOT olmadan ROOT kullanıcısının belli yetkilerini kullanabilir. Bunun için bir komutun başına SUDO yazmanız kâfidir. Ancak, SUDO komutu sâdece o komutla sınırlı bir yetki verir. Sürekli olarak ROOT tyetkisine sâhip olmak için komut satırında SUDO SU yazın.)

 

3) Komut satırında

apt-get update

yazarak sisteminizi güncelleyiniz.

 

4) Güncelleme başarılı bir şekilde gerçekleştirildikten sonra RPi'ınıza bâzı kütüphaneler kurmalısınız. Bunlar sırayla şöyle kurulacaktır: (Bu işlemler esnasında size kurulumla ilgili -sisteminizin Türkçe veya ingilizce olmasına göre- E/H veya Y/N soruları sorulursa E veya Y ile cevap verin.)

a) GTK Kurulumu:

Komut satırında şunu yazınız:
sudo apt-get install libgtk-3-dev

b) JQ Kurulumu:

Komut satırında şunu yazınız:
sudo apt-get install jq
c) PULSEAUDIO kurulumu:

Komut satırında şunu yazınız:
sudo apt-get install pulseaudio
ç) GLib Kurulumu:

Komut satırında şunu yazınız:
sudo apt-get install libgtk2.0-dev

 

5) SES girişi ekleme

RPi, bir ses çıkışına sâhip olmasına rağmen maalesef bir ses girişi yoktur. Bunun için sisteme bir ses girişi eklemek gerekmektedir. (Eğer "ben sâdece dinleyeceğim, hiç gönderme yapmayacağım" diyorsanız, ses girişi kısmını atlayabilirsiniz.)

Bu işi için bir kaç yol vardır. Birisi bir bluetooth mikrofon kulaklık kullanmak, bir diğer ise bir USB ses kartı kullanmaktır. USB ses kartı seçeneği hem ekonomik hem de daha iyi sonuç verecektir. Yanda resmi görülen gibi bir USB ses kartı devresi piyasada kolaylıkla bulunmaktadır ve oldukça ucuzdur. RPi'a bir usb ses kartı kurmakla ilgili olarak https://www.raspberrypi-spy.co.uk/2019/06/using-a-usb-audio-device-with-the-raspberry-pi/ adresinde çok faydalı bilgiler yer almaktadır. Aşağıdaki ses girişi ile ilgili bilgiler hazırlanırken bu sayfada yer alan bilgilerden faydalanılmıştır.

a) RPi çalışırken, USB ses kartını RPi'ın USB girişlerinden birisine takın.

b) Komut satırında

aplay -l

yazın ve enter'a basın. Çıkan listede USB ses kartınızı görüyorsanız, ses kartınızı linux tanımış demektir.

c) USB ses kartının yeşil çıkışını uygun bir ara kablo ile bir ses yükseltecine (amplifikatör) bağlayınız. Sarı girişe bir kondenser mikrofon takılacaktır.

ç) Komut satırında;

alsamixer

yazıp enter'a basın. Karşınıza şöyle bir ekran çıkacaktır:

 

 

d) F6'ya basın. Bu defa ekranda bir kutucuk belirecektir. Ok tuşları ile USB Audio Device'ı seçin.

 

e) Karşınıza hoparlör ve mikrofon girişleri de gelecektir. Ok tuşları ile ilerleyerek gerekli seviyeleri ayarlayıp Esc ile çıkın.

 

f) Komut satırında;

speaker-test -c2

yazıp enter'a basın. Sağ ve sol hoparlörlerden sırasıyla ses duyuyorsanız, USB ses kartınız başarıyla çalışıyor demektir. ctrl+z yazarak test işlemini sonlandırın.

 

6) USB ses kartını sisteminizin varsayılan ses kartı yapmak için komut satırında;

sudo nano /usr/share/alsa/alsa.conf

yazarak alsa.conf dosyasını düzenlemek için açınız. Sonra, aşağı doğru inerek;

defaults.ctl.card 0
defaults.pcm.card 0

satırlarını bulup buradaki "0" ları "1" ile değiştirip dosyayı kaydedin.

 

7) Sonra komut satırında sırasıyla aşağıdaki komutları yazınız. (Not: Her satır tek tek yazılıp enter'a basılarak işletilecek, her bir komutun işlemi bitince diğerine geçilecektir)

sudo apt-get update
sudo apt-get install -y libpulse-mainloop-glib0 jq at-spi2-core
sudo ln -s /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
sudo mkdir /opt
cd /opt
sudo wget https://github.com/ea3ihi/DMRStation-release/archive/master.zip
sudo unzip master.zip
sudo mv DMRStation-release-master DMRStation
cd DMRStation
sudo chmod a+x *.sh
sudo chmod a+x DMRstation

 

8) md380-emu dosyasını /opt/DMRStation dizinine kopyalayın ve komut satırında

sudo chmod a+x md380-emu

yazarak md380-emu dosyasını çalıştırılabilir hâle getiriniz.

( md380-emu dosyası için https://github.com/travisgoodspeed/md380tools/wiki/MD380-Emulator adresine bakın)

 

9) Sıra geldi DMRStation.ini dosyasını düzenlemeye. Bu dosyada sisteme ilişkin çok önemli ve hayatî bilgiler  vardır. Herhangi bir yanlışlıkta sisteminiz çalışmayacaktır.

Eğer Raspberry Pi Desktop kurulumu sayfamdaki tavsiyeme uymuşsanız, mc yazılımını çalıştırıp DMRStation.ini dosyasının  üzerine gelip F4'e basarak editörü açabilirsiniz. mc'ı kurmamışsanız, /opt/DMRStation dizininde iken komut satırında;

sudo nano DMRStation.ini

yazarak da nano editörünü çalıştırabilirsiniz. Her iki durumda da şöyle bir dosya içeriği ile karşılaşacaksınız:

#DMRStation configuration file

[user]
callsign=<YOUR CALLSIGN>       
(Buraya, <> işaretleri olmadan kendi çağrı işaretinizi yazacaksınız)
dmrId=12345      
(Buraya, kendi DMR ID numaranızı yazacaksınız. 

#repeater id = dmrId+two numbers suffix
repeaterId=1234566        
(Buraya, kendi DMR ID numaranızın sonuna 00'dan 99'a kadar iki hane ekleyerek kendi repeater ID'nizi oluşturacaksınız.)
initialTG=91               
(Buraya, açılışta hangi TG (talk group)'a bağlanmak istediğinizi yazacaksınız.)

[server]
#local test server
#remoteHost=192.168.3.254 

#Spain server
remoteHost=84.232.5.113   
(Buraya, bağlanmak istediğini sunucunun ip numarasını  yazacaksınız)

remotePort=62031      
password=passw0rd      

[ambe]
ambeServerHost=127.0.0.1  
ambeServerPort=2460       

[codec2]
codec2ServerHost=127.0.0.1   
codec2ServerPort=2470      


[audio]

[ui]
#1=480x320 2=320x240
smallUI=0           
(Burayı, kullandığınız LCD'nin çözünürlüğüne göre değiştirin. )

#decorate window?
decorated=0

[misc]
#talk out time
tot=180
totReverse=0

[ptt]
#if hardware ptt is enabled
pttEnabled=0
#name of the gpio bank
pttBank=gpiochip0
#pin number
pttPort=13
pttInvert=1

 

 

Bu değişiklikleri yaptıktan sonra ctrl+o tuşları ile dosyayı kaydedip ctrl+x ile editörden çıkın.

 

10) Sonra tgs.dat dosyasını düzenleyip kaydedin. Bu dosya, sizin TG'lerinizi barındıran dosyadır.

8) Komut satırında;

./start.sh

Yazın. DMRstation yazılımı çalışacak ve monitörünüzde DMRstation ekranı belirecektir.

 

11) Peki hep monitörle mi kullanacağız sistemi? Elbette hayır. Ben, Waveshare marka 3.5" dokunmatik bir ekran kullandım. Şimdi bu ekranın kurulumuna geçelim.

a) Terminal ekranında, komut satırında,

sudo raspi-config

yazarak konfigürasyon ekranını açın.

b) "3 Boot Options"ı seçin, açılan alt alt menüden "B1 Desktop/CLI"yı seçin, tekrar açılan alt menüden "B4 Desktop Autologin"i seçin ve ana ekrana dönün.
c) Daha sonra ana ekranda "7 Advanced Options"ı seçin. Açılan alt ekranda "A1 Expand Filesystem Ensures that all of the SD card storage is available for the OS" seçeneğini seçin.

ç) Sistemi reboot edin. (Yeniden başlatın) ve lCD'yi RPi'ın soketine oturtun.

 

 RPi3 üzerine takılmış 3.5"'lik dokunmatik LCD

 

d) Tekrar terminal ekranını açarak, komut satırında;
git clone https://github.com/waveshare/LCD-show.git

yazıp enter'a basın.

e) Gerekli dosyalar indirildikten sonra komut satırında
cd LCD-show/

yazarak LCD-show dizinine geçin.

f) Komut satırında önce

chmod +x LCD35-show

Daha sonra ise

./LCD35-show

yazın.

Sistem reboot ettikten sonra artık LCD kullanıma hazırdır.

Devrenin bir videosunu buraya tıklayarak seyredebilirsiniz.

Bu işlemleri yaparken linux komutlarını öğrenmeye, ne yaptığınız anlamaya çalışın.

DMRStation sayfasından gelişmeleri takip edebilirsiniz.

Teşekkürler EA3IHI...