Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Tcp-Udp Port'tan Veri Okuma c#

Başlatan SONUNCU, 09 Eylül 2015, 15:16:22

SONUNCU

Merhabalar,

Elimde, desteği çok az olan bir sdr (software defined radio) var. Cihazdan gelen verileri tcp veya udp portlarından okumam gerekiyor. Cihazdan veri gönderme kısmı halledilmiş bir şekilde. Daha önce windows dahil olmak üzere bu işlemi hiç yapmadım.  O yüzden nerden başlayabileceğim konusunda fikirlerinizi bekliyorum. İnternette bazı kodlar buldum ama doğruluğundan emin değilim. Linux'ta C# ile kod da yazmadım, hangi derleyicileri önerebilirsiniz acaba?

Şimdiden teşekkürler.

ferdem

GNU radio desteği var mı? GNU radio ile data alabiliyorsanız bloklar zaten C/C++ da yazıldığından elinizde örnek bir kod olmuş olacak. Bu gibi yazılımlar SDR donanımına çok bağlı olarak geliştiriliyor, bir şekilde dokümantasyonu/desteği/forumu vs. olmalı ki böyle bir yazılım geliştirilebilsin.

SONUNCU

Öncelikle teşekkür ederim cevabınız için. Sözde GNU Radio ve Matlab desteği var ama hatalarla dolu. Cihazın adı SNOWLeo, belki duymuşsunuzdur. Gnuradio-companion'da rtl-sdr source bloğunda device arguments kısmını "/dev/ttyUSB0" şeklinde yapıyorum ama herhangi bir  sinyal gözlemleyemiyorum. Aynı bloktan bladeRF ile sinyal gözlemleyebiliyorum oysaki.

Yine de tcp porttan veri okumayı başarabilirsem sorun kalmayacağını düşünüyorum.

ferdem

Anladım, bilemiyorum. Böyle desteği az, açık kaynaklı yazılım/donanım işlerinde derinlere girmeden çalıştırmak zor oluyor. https://discourse.myriadrf.org/ forumlarına baktınız mı, orada daha doğru/hızlı cevap alabilirsiniz.

SONUNCU

Orayı da denedim hatta Aralık 2014'ten kalma bir mesajım var cevap verilmeyen. Beklenenin aksine tamamen ilgisizler, dediğim gibi matlab ve c kodları var ama çalışmıyor yanlışlarla dolu.

Linux'ta tcp'den veri okuma ile ilgili önerebileceğiniz bir kaynak var mı acaba?

kralsam

Selam hocam,

SDR Sharp diye bir uygulama var kaynak kodlarıda veriyorlardı. www.sdrsharp.com

Bu uygulama pek çok SDR'ı destekliyor. Ama Windows'ta çalışıyor. Bu uygulamayı bir dene istersen. Eğer rtl-sdr desteği varsa cihazın TCP den kesin çalışması lazım. Tabiki IP ve port bağlantısı ayarlandığı zaman.

İyi çalışmalar.

SONUNCU

Selamlar,

SDR Sharp yükledim. Source kısmına RTL-SDR(TCP) yaparak ilgili host ve port bilgilerini girdim ama aşağıdaki hatayı alıyorum.

"Bağlanılan uygun olarak belli bir süre içinde yanıt vermediğinden veya kurulan bağlantı bağlanılan ana bilgisayar yanıt vermediğinden bir bağlantı  kurulamadı. 192.168.1.10:5004"

BladeRF ile bağlanıp spectrum gözlemleyebiliyorum ama aynı zamanda. Bir de cihazda mı sorun var diye putty ile seri porttan bağlandım SNOWLeo'ya. Cihaza ping atmayı denedim çalışıyor gözüküyo.

kralsam

Hocam o zaman senin önce elindeki cihazın bilgileri ve veri formatını öğrenmen gerekecek. Sanırım GNURadio değil. TCP-UDP yazmaya kalksan bile bunu bilmen gerekecek. Bu arada sanırım broadcasting işleri genelde UDP oluyor.
Birşey merak ettim aldığın dataları nasıl işlemeyi düşünüyorsun?

SONUNCU

Client olarak tcp portundan veri alabileceğimi düşünüyordum ama?

Normalde cihazın üzerindeki arm'da işlemeyi hedefliyorum ama ilk önce linuxta elde etmeye çalışıyorum. Çok da bilgim olmadığı için linuxtan başlamak daha uygun geliyor. Bir de üzerindeki fpga'in hafızası 28k o yüzden işlemeye yeteceğini sanmıyorum.

kralsam

Alıntı yapılan: SONUNCU - 11 Eylül 2015, 10:58:52
Client olarak tcp portundan veri alabileceğimi düşünüyordum ama?

Normalde cihazın üzerindeki arm'da işlemeyi hedefliyorum ama ilk önce linuxta elde etmeye çalışıyorum. Çok da bilgim olmadığı için linuxtan başlamak daha uygun geliyor. Bir de üzerindeki fpga'in hafızası 28k o yüzden işlemeye yeteceğini sanmıyorum.
Hocam ben sana sorduklarına elimden geldiğince cevap vereyim.
Bu işlemi C# ile linux tarafında yapacaksan ancak mono ile yapabilirsin.
Detaylı bilgi için: http://www.mono-project.com/
Ayrıca C# ile ilgili örnekler ve kaynak için tavsiyem ilk adresin MSDN olsun. https://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

Bana kalırsa önce Windows PC de hızlıca Algoritmanı geliştir. Kullanabildiğini gör. Bilinmeyen sayısını azaltarak devam etmiş olursun. Ayrıca bana sorarsan bence linux kullanacaksan C# değilde C yada C++ ile yapmaya çalış. Daha verimli olur. Sinyal işleme yapacaksın anladığım kadarı ile. Pointer vs. işini kolaylaştırır. Görsellik LCD vs de bağlanacaksa QT tavsiyemdir.

Ayrıca FPGA'i zaten C# ile kullanamazsın. kendi VHDL yada Verilog dilleri ile geliştirebilirsin. Dahili işlemci barındıran bir model sanırım orada da sana sihirbaz en fazla bazı sabit birimler oluşturur işlemci ile o lojiği kontrol edersin.
Dediğim gibi bence hızlıca PC tarafında dene ve gör derim.

SONUNCU

Teşekkür ederim tavsiyeleriniz için.

kralsam

Alıntı yapılan: SONUNCU - 11 Eylül 2015, 18:01:32
Teşekkür ederim tavsiyeleriniz için.
Rica ederim. Bir gelişme oldu mu?