ABeS Aprs Beacon Gönderici Projesi
ABeS APRS Beacon Sender, telsiz rölelerinin/kişilerin konumunu internet üzerinden otomatik olarak aprs sunucularına gönderen, python tabanlı bir yazılım projesi olarak ortaya çıktı. Proje fikri, Türkiye Radyo Amatörleri Cemiyeti Kapaklı Şubesi için kurduğum EchoLink sisteminin 7/24 internete bağlı olması ve yalnızca EchoLink sunucusu olarak çalışmasına içimin el vermeyerek, sisteme ek bir özellik kazandırma isteğiyle ortaya çıktı. Rölenin konumunu ve frekans bilgilerini APRS üzerinden paylaşarak, kapsama alanı dışındaki amatör telsizcilerin de rölenin konumunu ve frekans bilgilerini aprs.fi üzerinden görmelerini sağlama motviasyonuyla devam etti.
Yaklaşık 7 ay önce, TRAC Kapaklı Şubesi rölesini (YM1KPL) tüm dünyaya açmak amacıyla bir EchoLink kurulumu gerçekleştirdim. Kaynakların sınırlı, belgelerin dağınık olduğu bu süreç, bana 2000’li yılların başındaki bilgisayar deneyimlerini hatırlattı.
EchoLink detaylarına bu yazıda girmeyeceğim; kısaca, internet üzerinden aldığı sesi telsize, telsizden aldığı sesi internete aktaran bir sistemdir. Detaylar için echolink.org adresini ziyaret edebilirsiniz.
EchoLink kurulumunu ilk etapta Linux altyapısı kullanarak gerçekleştirmeye çalışsam de başarıya ulaşamadım. Ses sürücüsü ve yapılandırma tarafındaki bazı uyumsuzluklar nedeniyle, stabil çalışmasını sağlayamadım. Bu nedenle Windows tabanlı bir kurulum gerçekleştirdim. Her şey iyi, güzel, sağlıklı çalışıyor, ancak 7/24 internete bağlı olan bu cihaz neden yalnızca EchoLink sunucusu olarak hizmet veriyor? İşte bu soru, bu gönderinin de konusu olan bambaşka bir projenin kapısını araladı. Soru, daha önce düşünülen bir projenin entegrasyonu ihtimali ile “Rölenin konumunu APRS beacon olarak internet üzerinden göndersin.” şeklinde cevap buldu. Böylece hem aprs.fi üzerinde rölenin konumu belli olabilir, hem de yorum kısmına frekans ve ton bilgilerini yazarak aprs.fi üzerinden inceleme yapan istasyonları da kendi röle hakkında bilgilendirebilirdik.
Yeterli heyecan, heves ve motivasyondan sonra projeyi şekillendirmeye başladım. Python üzerinden yazacağım bir script ile; belirli aralıklarla (20 dakika), elle girdiğim konum bilgilerini aprs.fi de gözükecek şekilde sunucuya gönderecektim. Scripti yazdım, bir aydan uzun bir süre sorunsuzca çalıştı. Testlerden sonra scripti paylaşmaya karar verdim. Kaynak kodunu GitHub üzerinden paylaştım ancak benzer bir kurulumu Windows ya da Linux cihazında denemek ve kullanmak isteyen, derlemekle uğraşmak istemeyen amatör telsizciler için de çalıştırılabilir bir .exe yapmaya karar verdim.
Kriterleri aşağıdaki gibi belirledim.
- Python ile yazılacak.
- Arka planda çalışacak.
- Basit bir arayüz olacak.
- Çağrı işareti, passcode, enlem-boylam, sembol, yorum, gönderim sıklığı bilgilerini kullanıcıdan alacak.
- Bu bilgileri .ini dosyasında saklayacak.
- İnternet üzerinden konum bilgisini belirli aralıklarla gönderecek.
- Windows ve Linux’ta sorunsuz çalışacak.
- İnternet kesintisinde çökmeyecek.
- Kaçırılan paketleri tekrar tekrar göndermeyecek.
- Passcode kontrolünü çevrimdışı yapacak.
- Tüm APRS sembollerini destekleyecek.
- Gönderim sıklığı 5 dakikadan az olmayacak.
- Program her açıldığında otomatik olarak çalışacak.
Tüm bu adımların geliştirilmesi ve planlanması iki gün sürdü. Ardından testlerimi tamamlayıp hem kaynak kodunu hem de çalıştırılabilir sürümü GitHub’a yükledim. Açıkçası ilk GitHub projem olacağı için de bu projenin bendeki yerinin hep farklı olacağını düşünüyorum. Birkaç test aşamasından sonra programı ve README.md dosyasını düzenleyerek GitHub’a yükledim. Kurulum detaylarını orada paylaştığım için burada yer vermiyorum.
📌 Kaynak kodu ve kurulum detayları: [GitHub Linki]
📩 Geri bildirim ve öneriler için: ercan@ercanolcay.com
Bir sonraki projede görüşmek üzere.