Ana içeriğe git

Konu: Endüstride Yerel Ağ ? (193 Kez okunmuş)

Endüstride Yerel Ağ ?
Arkadaşlar açık alanda mobil (konumu değişken) bir makinenin üzerinde yerel ağ oluşturup , cihazları bu ağ üzerinden haberleştirmeyi düşünüyorum.
Daha önceki seri veri (rs485..) denemeleri ve rf denemelerimden daha başarılı sonuç vereceğini düşünüyorum.(hem kablo kullanımına ihtiyaç duymaması, hemde kısa mesafede yüksek frekansın avantajları açısından)
Ve başlangıç olarak esp8266 ile makine üzerindeki iki uç nokta arasında sürekli veri akışı yapıyorum.

Şimdilik gayet başarılı. Veri akışı testini şimdilik bir adet leptop (dahili wifi ile) ve pcb antene sahip esp8266-1 ile yapıyorum.

Sistemi gerçekleştirmeye karar verdiğimde tüm cihazların (max 150 tane) ana bir modem üzerinde haberleşmesi bunları ileri ki zamanda internete bağlayabilmek için avantaj olacağını ve tümüne hem ethernetle hemde tek id ile ulaşımı mümkün olması için daha iyi olacağını düşünüyorum.

Ama ana modem üzerindeki yoğun trafiğin veri akışına ne kadar negatif eksisi olabilir kestiremiyorum.

Ve proje geliştirmeye başlamadan önce hem sistem hakkında genel fikirlerinizi almak, hemde
yukarıda bahsettiğim ana modem için hangi marka ve model modem kullanmamın daha doğru olacağını sizlere danışmak istedim.

Endüstride Yerel Ağ ?
Yanıt #1
Arkadaşlar birde diğer bi kafama takılan husus; (TCP--UDP)
Wifi ile veri iletişimde TCP yöntemi ile haberleşiyorum.Şu an lua ya tam hakim olamadığım için Web sayfası sorgu (191.168.1.126/?1AC ......) yöntemiyle haberleşiyorum.Ama bu güvenli olsada bazen aksamalara ve gecikmeli çalışmaya sebep oluyor.Oysa sistem çok daha seri ve eş zamanlı denebilecek kadar hızlı. Nerede hata yapıyorum?
Yani whatsapp bile daha mesaj yazmaya başlarken internet üzerinden bunu karşı tarafa aktarabiliyor.Ama ben yerel ağda fark edilir derecede gecikme yaşıyorum.Hatta bazen bu süre 3-5 sn yi bile bulabiliyor.

  • Flatron
  • [*][*][*][*][*]
Ynt: Endüstride Yerel Ağ ?
Yanıt #2
Haberleşme kaç baud ile oluyor? ESP8266 nın hangi modülü kullanıyorsunuz. Eskileri 9600 imiş  Firmware update ile çok daha hızlı olmasına müsade ediyor.Ayrıca ESP nin yeni modülleri daha fazla hıza izin veriyor Firmware güncellemesinin doğrusunu öğrenene kadar millet kafayı yerken bence 3-5 saniye gecikme çok önemli olmamalı bence :)
  • Son Düzenleme: 05 Mart 2016, 13:13:46 - Flatron
Sohbet etme cahil ile, küstürürsün, alma taharet cam kırığı ile, kestirirsin

Ynt: Endüstride Yerel Ağ ?
Yanıt #3
ESP8266-1 Kullanıyorum.AT komutlarıyla değil direk LUA ile sürüyorum.Yani modül içindeki işlemci direk wifi ile veri iletişimi yapıyor.Yani seri iletişimdeki aksamadan kaynaklı bir gecikme değil.Karşı tarafda PC.

Ve bildiğim kadarıyla wifi hızı standart ve değiştirilemez.Wifi modu en güçlüde.Yani çekim gücü ama onunlada ilgili olacağını sanmıyorum çünkü yankın mesafede hiç bir değişme olmuyor.

Endüstride Yerel Ağ ?
Yanıt #4
Vikipedia Alıntı:
"Paketin teslim garantisini isteyen uygulamalar TCP protokolünü kullanır.

Geniş alan ağlarında (WAN) ses ve görüntü aktarımı gibi gerçek zamanlı veri aktarımlarında UDP kullanılır.
UDP bağlantı kurulum işlemlerini,akış kontrolü ve tekrar iletim işlemlerini yapmayarak veri iletim süresini en aza indirir.
UDP ve TCP aynı iletişim yolunu kullandıklarında UDP ile yapılan geçek zamanlı veri transferinin servis kalitesi TCP'nin oluşturduğu yüksek veri trafiği nedeniyle azalır.
UDP'yi kullanan protokollerden bazıları DNS, TFTP, ve SNMP protokolleridir. Uygulama programcıları birçok zaman UDP'yi TCP'ye tercih eder, zira UDP ağ üzerinde fazla bant genişliği kaplamaz."

Bu bilgilere dayanarak acaba paket veri ile güvenli iletişim yerine UDP ile haberleşsem ne kadar hızlanır.Ama tcp de paketin hatalı ulaşması için bi sebep yok (internek,yoğunluk....).Yani Eğer verilerde hatalı aktarım yoksa udpde de tcpden çok fazla bir farkla iletişim hızı elde edilemez diye düşünüyorum.

Eğer zaten hatalı bir veri iletişimi varsa bu tcp de sapıtmalara neden olmaz mı?

  • Flatron
  • [*][*][*][*][*]
Ynt: Endüstride Yerel Ağ ?
Yanıt #5
@BİLİRSHOP
Kullandığınız sistemin fotoğrafını eklermisiniz ?
Ayrıca özel değilse ne datası gönderiyorsunuz?
Bu tür bilgileri internetten kolayca izleyebileceğiniz sitelerde var .
Proje özel değilse genel olarak izah ederseniz daha kolay yardımcı olunur
Sohbet etme cahil ile, küstürürsün, alma taharet cam kırığı ile, kestirirsin

  • Flatron
  • [*][*][*][*][*]
Ynt: Endüstride Yerel Ağ ?
Yanıt #6
Ayrıca firmware güncelleme burada izah ediliyor
(Anlatan bir elektronik mühendisi )
*Gerçi bazı eksiklikleri var ama sonuçta uğraşmış izah ediyor
http://www.firatdeveci.com/esp8266-wi-fi-module-giris/
  • Son Düzenleme: 05 Mart 2016, 13:48:20 - Flatron
Sohbet etme cahil ile, küstürürsün, alma taharet cam kırığı ile, kestirirsin

Ynt: Endüstride Yerel Ağ ?
Yanıt #7
Görsel olarak ne göndermem gerektiği hakkında pek emin değilim.Eğer sistemin çalışdığı prosedürü, mantığını anlamak istiyorsanız pcdeki c# kodlarını ve espdeki lua kodlarını paylaşman gerekecek.Ama tam olarak kodun tam yapısını paylaşmam şu an için mümkün değil.
Onun yerine sistemin hangi parametrelerle hangi yöntemlerle haberleştiğini anlatabilirim.

C# ile 10 s aralıklarla sürekli olarak iki ayrı linke ping atılıyor. Daha sonra LUA Nodemcu kütüphanesi yüklenmiş esp de  değerlendirilip link değerlerine göre çıkışlar aktif veya pasif yapılıyor.Yani kod yapısı gereği;
-ilk önce 1. led yanacak
-10 s sonra 2. led yanacak,
-10 s sonra 1. Sönecek
-10 s sonra 2. Sönecek
Ve 40 saniye sonunda döngü tekrarlayacak.

Bu şekilde döngü sürekli dönüyor.Ve ben verinin stabilliğini esp çıkışlarına bağlı Ledler yardımıyla yapıyor.Yani ledlerin açılış ve kapanış oranlarındaki kaymalar arttıkça veride yavaşlama olduğunu anlıyorum.....

C# Pingde Kullanılan Kod:
Kod: [Seç]
webBrowser1.Navigate("http://192.168.1.120/?pin=OFF1");

ESP de Linkin değerlendirildiği Kod:
Kod: [Seç]
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(client,request)
        local buf = "";
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            end
        end

       
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.HIGH);
              l=1
        end
        if(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.LOW);
              l=0
        end
        if(_GET.pin == "ON2")then
              gpio.write(led2, gpio.HIGH);
              l2=1
        end
        if(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.LOW);
              l2=0
        end


Umarım atladığım bir nokta yoktur.

Ynt: Endüstride Yerel Ağ ?
Yanıt #8
Ayrıca firmware güncelleme burada izah ediliyor
(Anlatan bir elektronik mühendisi )
*Gerçi bazı eksiklikleri var ama sonuçta uğraşmış izah ediyor
http://www.firatdeveci.com/esp8266-wi-fi-module-giris/
Yok bu güncelleme AT komutları için.Yukarda da bahsettiğim gibi seri iletişim yok.LUA sayesinde esp içerisindeki işlemci ile haberleşiliyor.

  • Flatron
  • [*][*][*][*][*]
Ynt: Endüstride Yerel Ağ ?
Yanıt #9
Ne deyim .Allah kolaylık versin

Sohbet etme cahil ile, küstürürsün, alma taharet cam kırığı ile, kestirirsin


  • brooqs
  • [*][*]
Ynt: Endüstride Yerel Ağ ?
Yanıt #11
Arkadaşlar birde diğer bi kafama takılan husus; (TCP--UDP)
Wifi ile veri iletişimde TCP yöntemi ile haberleşiyorum.Şu an lua ya tam hakim olamadığım için Web sayfası sorgu (191.168.1.126/?1AC ......) yöntemiyle haberleşiyorum.Ama bu güvenli olsada bazen aksamalara ve gecikmeli çalışmaya sebep oluyor.Oysa sistem çok daha seri ve eş zamanlı denebilecek kadar hızlı. Nerede hata yapıyorum?
Yani whatsapp bile daha mesaj yazmaya başlarken internet üzerinden bunu karşı tarafa aktarabiliyor.Ama ben yerel ağda fark edilir derecede gecikme yaşıyorum.Hatta bazen bu süre 3-5 sn yi bile bulabiliyor.

TCP paketlerinin kullanılmasının amacı gönderilen paketinin karşı taraftan ack paketi ile alındığını doğrulayarak iletişimdeki verilerin karşı tarafa gittiğinden emin olmak içindir. UDP paketlerinde ise gönder ve unut mantığında çalışır. UDP de gönderilen verinin ulaşıp ulaşmadığı ile ilgilenilmez bu nedenle hızlı çalışır.  Senin projendeki gecikmenin olması normaldir bunun sebebi wifi da paketlerin çok cabuk bozuluyor olmasıdır. Eğer paketlerde bozulma olursa aynı paketin tölerans zamanı içerisinde tekrar tekrar gönderileceği anlamına gelir. Burada mikroişlemcinin bu paketi açıp sana geri dönüş yapması da önemlidir. Burada senin sorunun router ile olacağını zannetmiyorum. Buradaki sorun iletişim yolu  ile alakalıdır. Esp kartların alışları kuvvetli ancak gönderişleri zayıftır. Geniş bir alanda veri alabilirler ancak aldıkları veriyi doğrulamak için ack paketinin routerdan pc ye gelmesi zaman alacağından işlemde gecikme olabilir. Uç noktadaki ışığın yanıp yanmaması çok önemli değilse udp kullanılabilir.