21 Ocak 2015 Çarşamba

Raspberry Pi ile Igate - Digipeater kurulumu


Raspberry pi fiyatı, boyutları ve düşük enerji tüketimi gibi özelliklerinden ötürü günümüzde hobi projelerinde oldukça yaygın olarak kullanılıyor. Bir çok alternatif model çıkmış olsa da bunlar arasında hala en ucuz model olduğu için popülerliğini halen daha yitirmemiştir.

Bu yazıda Amatör Radyocular için Raspberry Pi ile Igate - Digipeater kurulumunu anlatacağım. Yazıda sadece Raspberry pi'yi üzerindeki işlemlerden bahsedeceğim. Telsiz ve arabirim devreleri zaten amatör radyocular tarafından bilinmekte ve kullanılmakta olduğu için bunlara değinmeyeceğim.

Igate - digipeater için kullandığım Raspberry Pi'nin 512MB ram'i olan B modeli.



Maalesef ki Raspberry pi üzerinde mikrofon girişi bulunmamakta bu yüzden bir usb ses kartına ihtiyacınız olacak. Ebay üzerinden alacağınız bir usb ses kartı işiniz görecektir.





Kuruluma başlamak için buradan raspberry pi için önceden hazırladığım image dosyasını indirip Win32DiskImager programını kullanarak sd kartınıza yazın.


Win32DiskImager programı içerisinde Image File kısmında indirdiğiniz dosyayı seçin. Device yazan yerde SD kartınızın takılı olduğu sürücüyü seçtiğinizden emin olun. Ardından "Write" butonuna basarak image dosyasını sd kartınıza yazmaya başlayabilirsiniz.

Raspberry pi üzeründeki aşağıdaki resimde işaretli olan bağlantı noktalarından telsizinizin PTT ucuna arabirim devresini hazırlayarak bağlantıyı yapın.



Arabirim devrelerini yaptıktan sonra Raspberry pi'yi çalıştırabilirsiniz. Sd kartınızı takıp, ethernet bağlantısını, usb ses kartınızı ve telsiz ara bağlantılarını yaptıktan sonra Raspberry pi'ye enerji verin. Raspberry pi için hazırladığınız sd karttaki işletim sistemini xastir programını ve gerekli yazılımları otomatik olarak çalıştıracak şekilde ayarladım. Dolayısı ile raspberry pi nin enerjisi kesilip tekrar verilse bile Igate -digipeater iniz otomatik olarak çalışmaya başlayacaktır. Şu andan itibaren yapmanız gereken şey sadece bir kerelik kendi bilgilerinizi raspberry pi'ye girmektir. Bundan sonra igate iniz otomatik olarak çalışacaktır. Üstelik sadece 5V ve yaklaşık 400mA kadar akım çekecek.




 Raspberry pi'ye klavye, mouse ve ekran bağlamadan windows üzerinden uzaktan erişebilmek için bilgisayarınıza VNC Viewer programını indirerek kurun. Modeminizin dhcp tablosuna erişerek raspberry pi'nin aldığı yerel ip adresini öğrenin. Bu normalde 192.168.X.XX gibi birşey olacaktır. Benim modemim kullandığım Raspberry Pi'ye 192.168.1.51 numarasını atamış. 


VNC Viewer programına Raspberry Pi'nin ip adresini yazıp connect butonuna bastıktan sonra bizden bir şifre isteyecek. Şifreniz "raspberry"'dir. Şifreyi girdikten sonra karşınıza Raspberry pi'nin masa üstü ekranı ve xastir programı gelecek.

Ayarlarınızı yapmak için: File menüsü altında Configure ardından Station butonuna tıklayın.


Açılan pencereye kendi bilgilerinizi girin.


OK butonuna basarak buradan çıkabilirsiniz. Ardından File menüsünden Configure ve  Save Configure Now! butonuna basarak ayarlarınız kaydedin.

Daha sonra Interface menüsünden Interface Control'e tıklayın. Buradan ortadaki Device 1'i seçip Properties butonuna basın.




Burada size aprs şifreniz gerekecek. Biliyorsanız Pass-code yazan yere şifrenizi girin. Bilmiyorsanız buradan şifrenizi öğrenebilirsiniz. Şifrenizi girdikten sonra OK butonuna basarak pencereyi kapatın.

Arka planda açık olan Interface Control penceresinde Device 0 ve Device 1'in hemen yanında UP yazdığından emin olun. Eğer UP yazmıyorsa o device çalışmıyor demektir. Device 'ı çalıştırmak için device a tıklayıp aşağıdaki START butonuna basın. Eğer internet bağlantınızda ve ses kartınızda bir sorun yoksa burada UP yazacaktır. Ardından pencereyi kapatabilirsiniz. Bundan sonra xastir'i bir kere kapatmanız gerekiyor. Flie menüsünden Exit'i seçerek xastiri kapatın. Ardından sağ alt köşedeki kırmızı butona basın. Karşınıza logoff ekranı gelecek. Buradan Reboot butonuna basarak Raspberry pi'yi yeniden başlatın. Raspberry pi niz yeniden başlarken bağlantınız kesilecektir. Açılış esnasında telsizinizi 30sn kadar göndermede kalabilir, gerekiyorsa telsizinizi kapatın.

Herşey yolunda gittiyse artık Igate-digipeater iniz çalışıyor demektir. aprs.fi sitesine giderek kontrol edin.

Igate 30dk da bir kendi beacon unu gönderecek şekilde ayarlı. Kendiniz bir beacon göndermek istiyorsanız; VNC viewer programı ile Raspberry pi'ye bağlandıktan sonra Interface menüsü altındaki Transmit Now! butonuna basmanız yeterli.

25 Haziran 2014 Çarşamba

Raspberry Pi klavyesini Türkçe yapma

Raspberry pi'ye klavyemizi bağladığımızda ilk başta klavyemizi İngilizce klavye olarak tanır. Klavyemizi Türkçe kalvye yapmak için:  /etc/default/keyboard dosyası içerisinde bulunan XKBLAYOUT="gb" satırını XKBLAYOUT="tr" ile değiştirmek yeterlidir.

Raspberry pi açıldıktan sonra lxterminal programını çalıştırarak ya da direk terminal üzerinden aşağıdaki kodu çalıştırıp "gb" yerine "tr" yazın:

sudo nano /etc/default/keyboard


Değişikliği yaptıktan sonra CTRL ve X tuşuna basarak altta çıkan soruya E veya Y cevabını verip enter tuşuna basın. Sonrasında raspberry pi yi yeniden başlatırsanız klavyenizi artık Türkçe kalvye olarak kullanabilirsiniz.

4 Kasım 2013 Pazartesi

Raspberry pi ile otomatik IP adresi öğrenme

Bu uygulama ile raspberry pi üzerinde çalışan ufak bir kod sayesinde ip adresiniz değişse bile öğrenip istediğiniz adrese mail olarak gönderebileceksiniz.

Aşağıdaki kodda: gonderenMailAdresi, password ve aliciMailAdresi bilgilerini dolurun. Ardından "/home/" klasörü altına getIP.py olarak kopyalayın.


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
import re
import smtplib  
import time
import sys
  
def getIP():
 url = "http://checkip.dyndns.org"
 print "IP Addresi alınıyor"
  
 print url
  
 request = urllib.urlopen(url).read()
 global theIP   
 theIP = re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}", request)
 global eskiIpAdresi
 print "your IP Address is: ",  theIP
 

def mailGonder(gonderilecekData): 
 SMTP_SERVER = 'smtp.gmail.com'
 SMTP_PORT = 587
  
 gonderenMailAdresi = 'xxxx@xxxx.com'
 password = 'XXXXXXXXX'
 aliciMailAdresi = 'xxxx@xxxx.com'
 subject = 'IP Adres: '
 body = gonderilecekData + "\nIP adres: ".join(theIP)
  
 
  
 body = "" + body + ""
  
 headers = ["From: " + gonderenMailAdresi,
            "Subject: " + subject,
            "To: " + aliciMailAdresi,
            "MIME-Version: 1.0",
            "Content-Type: text/html"]
 headers = "\r\n".join(headers)
  
 session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
  
 session.ehlo()
 session.starttls()
 session.ehlo
 print 'login oluyor...'
 session.login(gonderenMailAdresi,password)
 print 'mail gonderiliyor...' 
 session.sendmail(gonderenMailAdresi, aliciMailAdresi, headers + "\r\n\r\n" + body)
 print 'gonderildi. cikiliyor...'
 session.quit()
 print 'bitti.'


eskiIpAdresi = ""
theIP=""
while 1:
 try:
  print "ip"
  print theIP
  print "eskiIp"
  print eskiIpAdresi
  if theIP == "" :
   print "ilk açılma. Yeni mail adresi alınıyor."
   getIP()
   eskiIpAdresi=theIP
   mailGonder("İlk açılma ")
  elif eskiIpAdresi != theIP:
   getIP() 
   eskiIpAdresi = theIP
   print "ip adresi farkli mail gonderiliyor"
   mailGonder("IP değişti: ")
  else:
   getIP()
   print "IP ayni"
  print "uyuyor..."
  time.sleep(10) 
 except KeyboardInterrupt:
  raise
 except:
      print "Unexpected error:", sys.exc_info()[0]





Daha sonra  "sudo nano /etc/rc.local" ile rc.local dosyasına aşağıdaki satırı ekleyin.

"screen -d -m python /home/getIP.py"
(NOT: exit 0 satırının üstünde olmalı.)

CTRL+X tuşu ile çıkış işlemini yapın. "E" ve enter tuşuna basıp kaydederek nano uygulamasından çıkın.

Bu sayede getIP.py dosyamız her açılışta yeni bir screen açıp arka planda çalışacaktır.

Not: bu işlem için screen (sudo apt-get install screen) ve python bileşenlerinin yüklü olması gereklidir.

Bundan sonra raspberry pi her açılışta yada her IP değişiminde size mail atarak IP adresini bildirecektir.

Örnek dosyayı bu linkten indirebilirsiniz: https://www.dropbox.com/s/zrokab9weg31uk9/getIP_.py

23 Mayıs 2013 Perşembe

Kenwood TM-D710 + GPS + Bluetooth + Android

Yeni oyuncağım; Kenwood TM-D710...



Kenwood TM-D710 'un özelliklerine diyeceğim yok. Ama üzerinde dahili gps olmaması biraz canımı sıktı açıkçası. Bu hali ile TM-D710 APRS üzerinden sadece elle girdiğiniz pozisyon bilgilerini gönderebiliyor. Sabit istasyonlar için sorun yok belki ama ben telsizi aracımda da kullanacağım için bir gps modülü takmak istedim. İnternette bir kaç yerde TM-D710 'u çeşitli navigasyon cihazlarıyla birlikte kullanıldığını görmüştüm. Hazır telsizle uğraşıyorken bununda bir çözüm yolunu aryayım istedim. Aklıma ilk gelen telsize bir bluetooth modülüde ekleyip gelen datayı cep telefonumda görebileceğim bir yazılım yapmak geldi.

Neler yapabileceğim hakkında fikir sahibi olmak için internette biraz araştırma yaptım. Aşağıdaki modül karşıma çıktı. Temiz bir çözüm olmuş. Yapmak kolay fakat telsiz üzerinde biraz fazla yer kaplıyor gibi.


Kafayı bu haliyle aracıma takabileceğim yeterli yer olmadığı için gps i kafa içerisine takmaya karar verdim. En azından kafanın içerisine bir bakmak istedim :)



Kafanın arkasındaki iki vida sökülünce kafa kolaylıkla açılıyor.

(Bundan sonrasında service manual 'e ihtiyacınız olacak: https://www.dropbox.com/s/dtj1kjw3b57z85q/SEVICE_MANUAL_tm-d710-s-m.pdf)

Service manuali incelediğimde gördüm ki TM-D710 içindeki entegreler ise 5V ile çalışıyor. Kullanacağım gps modülü ise 3.3V. Bu yüzden yaptığım devreye gps ve bluetooth için 3.3V regülatör koydum. Bluetooth modülünün Rx ucuna 5V'u 3.3V'a indirsin diye 2 direnç ile gerilim bölücü yaptım. Gps'in Tx ucu entegrenin receive ucuna gideceği için buraya gerilim bölücü yapmaya gerek yok.




Devrenin beslemesini IC6'nın çıkışından aldım. GPS'in Tx ucunu IC23'ün 5. bacağına bağlı direncin diğer ucuna bağladım. Bluetooth'un receive ucunu da IC23'ün 4. bacağındaki dirençten aldım.






IC8 ve devrenin on off bağlantısı



Bluetooth ve gps için yaptığım devre. 









ve sonuç...




Sonrasında aracımla ufak bir tur attım. aprs.fi üzerindeki data da böyle. 

Sıra cep telefonu için yazılım yapmaya geldi fakat burada da Aprsdroid yazılımı imdadıma yetişti. Aprsdroid içerisine benim yapmayı planladığım yazılımı yapmışlar bu sebeple yazılım yapmaktan vazgeçtim ve aprsdroidi kullanmaya karar verdim. 

Aprsdroid:

Aprs datalarını cep telefonumuzdan offline harita üzerinde izlemek için http://aprsdroid.org/download/builds/ adresinden telefonunuza aprsdroid programının en güncel OSM uzantılı dosyasını indirin ve kurun.


 Ardından ftp://ftp.mapsforge.org/maps/europe/ adresinden turkey.map dosyasını telefonunuzun sdcard0 konumuna kopyalayın ve adını aprsdroid.map olarak değiştirin.

Aprsdroid ayarları: 

Aprsdroid ekranı açıldığında menü tuşuna basıp "Diğer" butonuna basın. Ardından "Tercihler"'i seçin. Burada çağrı işaretinizi, aprs-is kayıt numaranızı girin. Eğer henüz kayıt numaranız yoksa "APRS kayıt numarası iste" seçeneği ile gideceğiniz web sayfasından kayıt olabilirsiniz. Buradan cevap gelmesi bir iki günü buluyor. 



Diğer kendinize özel ayarlarıda yaptıktan sonra "APRS Bağlantısı" başlığı altında bulunan "Bağlantı Protokolü" ne dokunun. Burada "Kenwood GPS Port" 'u seçin.  Sonra "Bağlantı Tercihleri" altında "Bluetooth ayarları" menüsünden bluetoothunuzu açarak telsize bağlı bluetooth cihazını eşleştirin. Buradan geri gelerek "TNC Bluetooth cihaz" menüsünden bluetooth unuzu seçin ve menülerden çıkın. Bundan sonra cep telefonunuzda telsizinizden gelen aprs datalarının karşılığında simgeleri göreceksiniz. 



Aprsdroid için telsizde yapacağınız ayarlar: 

Menü 602

Menü 603


Keyifle kullanmanız dileğiyle. 73...