Winpcap sayesinde ethernet simülasyonu(ISIS)

Winpcap sayesinde ethernet simülasyonu(ISIS)

Değerli arkadaşlar bildiğiniz üzere daha önce enc28j60 ile webserver uygulaması için bir makale yazmıştım. O yazıdaki anlatılanları uygulamak için illaki gerçek devre yapmanıza gerek yoktur. Aslında Proteus/ISIS’te ethernet uygulamalarını çalıştırdığımız zaman, simülasyonda alınan IP : 192.168.1.xxx gibi bir IP olmadığından kullanmamız mümkün olmuyordu. Aynı ağda olmamız için 192.168.1 ile başlayan bir IP vermesi lazım… Bu gibi sorunları çözmek için winpcap uygulaması yazılmış ve bu uygulama sayesinde ISIS’te bizim ağımıza bağlanarak IP alabilmemizi sağlamışlar. Bu sayede microchip TCP/IP Stack uygulamasını çalıştırdığımızda(simüle ettiğimizde) LCD gördüğümüz ip adresini web tarayıcımıza(browser) yazdığımızda arayüzü görebiliyoruz. Yapmamız gerekenleri adım adım inceleyelim:

1-Proteus 8 kurulu değilse kuruyoruz.

2-Winpcap uygulamasını kuruyoruz:

    http://winpcap.org/   adresine girin ve yaklaşık 1mb’lık kurulumu indirin.

3- Proteus 8 ile ethernet örneğini açıyoruz,

File/Open Sample Project’e tıklıyoruz:

Gelen pencereden “VSM for PIC MICRO” kategorisindeki, 24 numaralı “Explorer 16 Virtual Eval Board” projesini açıyoruz:
Burdaki aldığı ip numarasını kullanamıyoruz, çünkü halâ eskisi gibi istemediğimiz bir ip veriyor:

3-Yeni IP’yi yazabilmemiz için, proteustaki projeyi XC16 dilini kullanarak derlememiz gerekiyor.

TCP/IP Stack kütüphanemizi kurmamız gerektiğini söylememe gerek var mı? En son sürümü olan 2013.06.15 tarihinde çıkardığı 5.42.08 versiyonlu library setini indiriyoruz: http://www.microchip.com/mal/ adresinden daha yeni sürüm olup olmadığını kontrol edebilirsiniz veya buraya tıklayarak bahsettiğim kütüphaneyi direkt indirebilirsiniz.

Projemizin config dosyasındaki aşağıdaki satırı bulun:

#define STACK_USE_AUTO_IP // Dynamic link-layer IP address automatic configuration protocol

Bu satırıın başına // koyarak açıklama satırı haline getirin yani geçersiz kılın. Böylece otomatik ip alma özelliğini kapatmış olursunuz.

Sonra TCPIPConfig.exe ile yeni ip’mizi proteustaki örneğe yazıyoruz:

Uygulamayı çalıştırınca aşağıdaki seçenekler gelene kadar next deyip geçin:

Bu ekrandaki gördüğünüz şekilde ip girebilmemiz için daha önce otomatik ip seçeneğini kapattık. Bu işlemi yapmasaydık bu ekranda ip giremeyecektik. Girdiğimiz ip’lere dikkat edin aynı ağda olduğunuz bir ip numarası verin.

Yeniden derleyin, LCD’deki ip numarasının sizin verdiğiniz ip ile aynı olduğunu göreceksiniz.

Otomatik ip almadanda aynı sonucu alabilirsiniz, ben sadece bilgi verme açısından yazdım. Normalde otomatik ip olsada çalışacaktır. Otomatik ile yaptığım çalışmada 192.168.1.125 ip’sini verdi bana:

Browser ile aldığım bir görüntü:

ÖNEMLİ NOT: Bu uygulamanın çalışabilmesi için bilgisayarınızı modeme veya switch’e ethernet kablosu ile bağlayınız. Wireless ile bağlarsanız çalışmayacaktır. En azından bende öyle oldu ve sorunun kablosuz bağlantıdan kaynaklandığını çözmem biraz zaman aldı.

…ve en  önemlisi:

Bu yazıdaki bilgileri bana öğreten İlyas KARACA arkadaşıma teşekkür ediyorum.

Yazan :  Mustafa Gökhan BEKEN

7 thoughts on “Winpcap sayesinde ethernet simülasyonu(ISIS)

  1. Gökhan eline sağlık güzelmiş bu olay. Bende 7.10 kurulu deneyeyim dedim hazır example ile seninki gibi fakat lcd ekranda tcpip satack v.3.75 yazıyor ip almıyor. Orjinal hex ile çalışmıyormu bu ?

  2. pc nin ethernet portu ile enc nin içerisinde yazan ip numarasını aynı yapınca aldı ip noyu. Fakat browsera aldığı ip noyu yazınca web sitesini açmadı. Şimdi ona bakıyorum

  3. Hocam bende bazen tesadüfi bir şekilde giriyor ama normalde girmiyor. Bilgisayarımdan kaynaklaıyor galiba, ağdaki diğer bilgisayardan ulaşılabiliyor.
    (Tabi ağa wifi ile değil kablo ile bağlanmak gerekiyor.)

  4. Hımm bende kablo ile bağlanıyorum ama açmıyor browser. Similasyon işte sağı solu belli olmuyor her zamanki gibi.

  5. ahmet, bu dizinin içinde çeşitli configler mevcut: C:\microchip_solutions_v2013-06-15\TCPIP\Demo App\Configs

    devrenin ihtiyaçlarına göre hangi config kullanılıyorsa onu düzenlemek lazım. Eğer ENC28J60 lı devreyi kullanıyorsak TCPIP ENC28.h dosyasını seçmek lazım. Bazı devreler enc28j60 değilde enc 624j60 ile yapıldığından TCPIP ENC624.h kullanılabilir veya dahili ethernet modülü olanlar var, bu yüzden hangisi gerekiyorsa onu seçmek lazım.

  6. …Similasyonu bir türlü çalıştıramadım sürekli eski IP alıyor çalıştıramama nedim ise galiba anlatımınızda 3 aşama
    “3-Yeni IP’yi yazabilmemiz için, proteustaki projeyi XC16 dilini kullanarak derlememiz gerekiyor.” nasıl yapmam lazım MPLABX kullanmam lazım bu özellik proteusda mevcut mu ?
    ….diğer bir problemimde TCPIP Configuration Wizard sizin belirttiğiniz gibi next yaparak ilerliyorum fakat IP lerin olduğu o ekran karşıma çıkmadı sadece MAC adresi soruyor
    …Similasyonu paylaştığınız hem microC kütüphanesi hemde hazır codu simile etmye çalıştım ne ping atabiliyorum ne de İP ile erişebiliyorum zaman ayırıp cevaplarsanız mutlu olurum

Bir Cevap Yazın