Linux Üzerinde Amatör Radyo Uygulamaları

Open Source Program

Moderatörler: WW2L, TA3CP, TB3CUE

Linux Üzerinde Amatör Radyo Uygulamaları

Mesajgönderen TA3CP » Sal Haz 16, 2009 9:19 pm

Merhaba,
Linux işletim sistemi altında onlarca Amatör Radyo uygulaması olmasına ek olarak yeni başlayanları heveslendirmek eski olanlarıda bash komut satırının yeteneklerini tekrar hatırlatmak için boş bir gecede yazdığım çok küçük bir scripti paylaşmayı istedim.
Kod: Tümünü seç
#!/bin/bash
# bu script www.tacallbook.org adresinden kendisine parametre olarak
# verilen cagri kodunu sorgular ve sorgusu yapilan cagri kodunun kime
# ait oldugunu ad ve soyad olarak verir. Bilgiler tamamen
# www.tacallbook.org verilerine gore bulunur.
# Ihtiyac duydugu harici yazilimlar sunlardir
# wget : web isteklerini komut satisindan yapilmasi icin
# espeak : bulunan sonucun sesli olarak okunabilmesi icin
#
# Sorgulanacak Cagri kodu
CALL_SIGN=$1
#
# Cagri kodu buyuk harfe cevriliyor
CALL_SIGN=`echo $CALL_SIGN | tr [a-z] [A-Z]`
# Phonetic hazirlaniyor
#
# Karakter kumesi index bulunabilmesi icin tam olarak sirali yaziliyor

KARAKTERLER="ABCDEFGHIJKLMNOPQRSTUVWYZ0123456789"

#
# Her bir karakterin Turkce okunusu yaziliyor. Bu daha sonra TTS de
# kullanilacak

DX_PHONETIC[1]="alfa"
DX_PHONETIC[2]="bravo"
DX_PHONETIC[3]="çarli"
DX_PHONETIC[4]="delta"
DX_PHONETIC[5]="eko"
DX_PHONETIC[6]="foksrot"
DX_PHONETIC[7]="golf"
DX_PHONETIC[8]="hotel"
DX_PHONETIC[9]="india"
DX_PHONETIC[10]="jülyet"
DX_PHONETIC[11]="kilo"
DX_PHONETIC[12]="lima"
DX_PHONETIC[13]="mayk"
DX_PHONETIC[14]="novembır"
DX_PHONETIC[15]="oskar"
DX_PHONETIC[16]="papa"
DX_PHONETIC[17]="kubek"
DX_PHONETIC[18]="romeo"
DX_PHONETIC[19]="siera"
DX_PHONETIC[20]="tango"
DX_PHONETIC[21]="yuniform"
DX_PHONETIC[22]="viktor"
DX_PHONETIC[23]="viski"
DX_PHONETIC[24]="yanki"
DX_PHONETIC[25]="zulu"
DX_PHONETIC[26]="sıfır"
DX_PHONETIC[27]="bir"
DX_PHONETIC[28]="iki"
DX_PHONETIC[29]="üç"
DX_PHONETIC[30]="dört"
DX_PHONETIC[31]="beş"
DX_PHONETIC[32]="altı"
DX_PHONETIC[33]="yedi"
DX_PHONETIC[34]="sekiz"
DX_PHONETIC[35]="dokuz"


#
# Cagri kodunun string uzunlugu bulunuyor
CALL_SIGN_SRTLEN=`expr length $CALL_SIGN`
#echo uzunluk:$CALL_SIGN_SRTLEN

#
# index 0 dan basladigi icin uzunluktan bir eksik sayi kadar dongu
# yapiliyor
CALL_SIGN_SRTLEN=`expr $CALL_SIGN_SRTLEN - 1`
#echo uzunluk:$CALL_SIGN_SRTLEN

for i in `seq 0 $CALL_SIGN_SRTLEN`;
do
#
# cagri kodu harflere parcalaniyor
#
   harf=${CALL_SIGN:$i:1}
#
# KARAKTER kumesi icindeki index bulunuyor
#
   sira=`expr index "$KARAKTERLER" ${CALL_SIGN:$i:1}`
#
   CAGRI_KODU=`echo ${DX_PHONETIC[$sira]}`
   # echo $CAGRI_KODU
   CAGRI_KODU_SON=`echo $CAGRI_KODU_SON $CAGRI_KODU`
done

# tacallbook icin gecici dosya olusturuluyor
WGET_OUTFILE=`mktemp`

#
# www.tacallbook.org referer bekledigi icin referer gonderiliyor
WGET_REFERER="http://www.tacallbook.org/"

#
# wget icin user agent simule ediliyor
WGET_USER_AGENT="Mozilla/5.0 (compatible; MSIE 5)"

#
# tacallbook icin sorgu satiri hazirlaniyor.
WGET_SORGU="http://www.tacallbook.org/cgi-bin/bul2d.cgi?$CALL_SIGN"

#
# wget sorgusu calistiriliyor
wget -q \
--referer=$WGET_REFERER $WGET_SORGU \
--output-document=$WGET_OUTFILE \
--user-agent="$WGET_USER_AGENT"

#
# sorgu sonucu kayit bulunmadi ise bunu süzelim
if [ ! "XX`grep BULUNAMAMI $WGET_OUTFILE`" = "XX" ]; then
   AD_SOYAD="KAYIT BULUNMADI";
else
#
# gelen dosyadan alinan bilgilerin awk ile kesilmesi sed ile islenmesi
# ve iconv ile duzeltilmesi.
# awk ile WGET_OUTFILE icinden kisinin ismi aliniyor
# sed ile html tagleri temizleniyor
# iconv ile tacallbook da sunulan ISO-8859-9 kodlama UTF-8 e ceviriliyor
AD_SOYAD=`awk -F '4' "/size='4'>/ { print $2 }" $WGET_OUTFILE | \
sed -e :a -e 's/<[^>]*>//g;/</N;//ba'| \
iconv --from-code=ISO-8859-9 --to-code=UTF-8`
fi

#
#kucuk harfe ceviriliyor
#AD_SOYAD=`echo $AD_SOYAD | tr [A-Z] [a-z]`

echo $CAGRI_KODU_SON "." $AD_SOYAD

#
# temizlik yapiliyor mktemp siliniyor
rm -f $WGET_OUTFILE

Bu bash scriptini cagri_kodu_sor.sh adinda bir dosya olarak kaydetmiş olalim.
Kod: Tümünü seç
$ cagri_kodu_sor.sh ta3cp

komutu ile cagri kodunun kime ait oldugunu bulabilirsiniz. Ve eger bunu sesli olarak dinlemek isterseniz bu komutu aşağıdaki şekilde kullanabilirsiniz.
Kod: Tümünü seç
$ cagri_kodu_sor.sh ta3cp | espeak -vtr


Bu script ne işe yarar: Üzerinde parça parça uğraştığım bir sistemin bir kısmı olarak yazmıştım. Fakat çeşitli uygulamalara uygulanabilir hale getirerek belkide işe yarar veya belkide birisine bash programlama ile ilgili fikir verir diye buraya koymayı istedim. (gerçek şu ki bu scripti bir gün mutlaka kaybedeceğim ama buraya koyarsam bende istediğim zaman bulabilirim :roll: )
Eklentiler
tb1ci.wav.zip
cagri_kodu_sor.sh scripti ile TB1CI sorgusunun sesli hali
(112.97 KiB) 178 kere indirildi
73
TA3CP
 
Mesajlar: 5
Kayıt: Cum Ara 26, 2008 10:40 pm
QTH - Şehir: Çankaya İZMİR / TÜRKİYE

Re: Linux Üzerinde Amatör Radyo Uygulamaları

Mesajgönderen TA4C » Cum Haz 26, 2009 1:28 pm

Paylasim icin tesekkurler, FTP serverimizede yedekliyebilirsin.
Tüm amatör çalışmalarımızın linki aşağıdadır.

LINK: ftp://forum@na5b.myftp.org/TA4C-TB4CAL/
http://ta4c.myftp.org/
http://www.turkkonferans.org
http://www.turkkonferans.org/forum/
E-Mail ve MSN = ugurta4c@hotmail.com
TA4C Uğur ŞEN
73's
Kullanıcı avatarı
TA4C
*****
 
Mesajlar: 666
Kayıt: Cmt Ara 17, 2005 2:31 am
QTH - Şehir: Antalya / Turkiye


Dön Linux

Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir

cron