ENC28J60 Ethernet Modülü ve Arduino

Arduino için ucuz bir internet çözümü olan ENC28J60 Ethernet Modüllünden ve yapabileceklerimizden bahsedeceğim bu yazımda. Arduino ile internet kullanmanın birkaç yolu var aslında: Ethernet Shield, Arduino Ethernet, ENC28J60 Ethernet Modülü, Wifi Shield 

En ucuz çözüm olan ENC28J60 Ethernet Modülüne gelecek olursak, ebay üzerinden kolaylıkla temin edebileceÄŸiniz bu modülü herhangi bir ara iÅŸleme gerek kalmadan doÄŸrudan Arduino’muza baÄŸlayıp uygun kütüphane ile çalıştırabiliyoruz.

(3.3v ile çalışan modül 5v’a tolerans gösteriyor bu nedenle herhangi bir logic level convertera ihtiyaç duymuyor.) Ä°nternette bu modül için çeÅŸitli Arduino kütüphaneleri mevcut, fakat ben sonraki yazılarımda, beraberinde pek çok örnek barındıran EtherCard kütüphanesini kullanacağım.  Yanda verdiÄŸim baÄŸlantı ÅŸemasını EtherCard kütüphanesi için revize ettim, baÅŸka kütüphanelerle kullanacaksanız modülü, CS-Arduino D8 yerine CS-Arduino D10 baÄŸlantısı yapmanız gerekiyor.

Gelelim bununla neler yapabileceÄŸimize. En popüler olanları sanırım tweet atma ve pachube.com(cosm.com) aracılığıyla sensör bilgilerini depolama. Sonraki yazılarımda supertweet.net API’sini kullanarak tweet atmayı ve DS18B20 sıcaklık sensöründen alacağımız sıcaklık deÄŸerlerini pachube.com sitesinde depolamayı anlatacağım.

Bunların dışında web server örnekleriyle internet üzerinden Arduino pinlerini de kontrol edebilirsiniz. Hatta biraz PHP biliyorsanız ev otomasyon sistemleri de yapabilirsiniz.

Ä°yi çalışmalar…

Gerekli Olabilecek Bağlantılar:

 

Ä°smail

Üniversite öğrencisi, Arduino meraklısı.

22 comments

  1. […]  Daha ucuz Ethernet Shield’ler kullanarak bu iÅŸlemleri yapabilirsiniz.  Bunun için Ä°smail Buçgün‘ün yazmış olduÄŸu yazıyı da okuyabilirsiniz […]

  2. […] yapılacak hostumuzu oluÅŸturduk. ENC28J60 Ethernet Modülü ve Arduino yazımdaki baÄŸlantı ÅŸemasını kullanarak Arduino ve ENC28J60 Ethernet Modülü arası […]

  3. […] ENC28J60 Ethernet Modülü ve Arduino yazımdaki baÄŸlantı ÅŸemasını kullanarak Arduino ve ENC28J60 Ethernet Modülü arası baÄŸlantıları kuruyoruz. Daha sonra aÅŸağıdaki baÄŸlantılardan ulaÅŸabileceÄŸini EtherCard kütüphanesini yüklüyoruz. (EtherCard klasörünü Arduino>libraries klasörüne kopyalıyoruz.) […]

  4. […] ENC28J60 Ethernet Modülü ve Arduino yazımdaki baÄŸlantı ÅŸemasını kullanarak Arduino ve ENC28J60 Ethernet Modülü arası baÄŸlantıları kuruyoruz. AÅŸağıdaki baÄŸlantılardan ulaÅŸabileceÄŸini EtherCard kütüphanesini yüklüyoruz. (EtherCard klasörünü Arduino>libraries klasörüne kopyalıyoruz.) Arduino uygulamasında Files>Examples>EtherCard>getDHCPandDNS seçimlerini yaparak açılan örnek programı Arduino’muza yüklüyoruz. Daha sonra Serial Monitor’u açıp  My IP nin karşısında yazan yerel ip adresimizi not ediyoruz. […]

  5. emre dedi ki:

    her yolu denedim ancak bir türlü olmadı yani kodlar sorunsuz bağlantılar sorun suz ancak sayfa gelmiyor

    • Ömer Koman dedi ki:

      ornek kodunuzu foruma koyun

      • Emre dedi ki:

        Ethercard backsoon ancak olmado static 1 de yapiyorum ancak bir turlu olmadi

      • adem çay dedi ki:

        hocam ethernet kartı yada wifi kartı ile yaptığımız sistemlerde modemi aç kapa yapınca ip adresi yenileniyor.ip adresinin sabit kalması için bir yol varmı.statik ip almaya gerek kalmadan.ben uzaktan kontrol sağlamak istiyorum.aynı ağda iken wifi sistem çalışıyor.

        • Ömer Koman dedi ki:

          dynamic dns diye aratın bazı çözumler var. veya internette sunucunuz varsa cıhazınızı her açtıgınızda sunucunuzdaki ozel bir sayfaya baglanın ve bu ip adresını saklayın. baglanacağınızda sunucunuzdakı bu adresten faydalanırsınız.

  6. Ömer Koman dedi ki:

    foruma gelin sorun benzer sorunu çözmüş biri çıkabilir.

  7. Osman dedi ki:

    Arduino ile bir web sitesine GET methodu ile veri göndermek istiyorum. Ancak bir türlü web isteği yapamadım ENC28J60 modülü ile istediğimiz bir web sayfasına bağlanmayı nasıl yaparız.

  8. Selami dedi ki:

    Merhaba iyi günler arduıno ile sıvı seviyesi ölçer projesi yapıyorum Ethernet modülü (Enc28j60) ile tweet atmam gerekiyor ultrasonic sensörün trigger ve echo pinleri 12 ve13 uçlarına bağlı arduıyonun burda da bağlantı için 12 ve 13pinlerine bağlanmış ne yapmam gerekiyor acaba yardımcı olurmusunuz?

    • Ömer Koman dedi ki:

      sensor pinlerini boştaki başka bir pine kaydırın ethernet modul o pinler olmadan çalışmaz. birde twit kodunuz güncelmi. twit atma konuları bayağı değişmişti son baktığımda twitter o kadar kolay izin vermiyor artık twit atılmasına

  9. Seref Ertugrul dedi ki:

    Merhaba,
    Konu belki cok defa konusuldu bilmiyorum ama affiniza sıgınıyorum (nette arastirmama ragmen uygun cozumu bulamadim)
    Enc28j60 ve Uno baglantilarini yaptim. Dogru da yaptigimi dusunuyorum, 13, 12, 11 ve 8 numarali pinoeri kullandim (nette 8 yerine 10 kullanilmasi gerektigine dair bazi yazilar var, onu da denedim).
    Kutuphane olarak Ethercard yukledim. Static 1 yaptim.
    Modem ile enc28 i bagladim. (Baglanti kurulduguna dair led yaniyor)
    Ancak webte ip yi yazdigim zaman sayfaya erisemiyor.
    Desteginiz icin tesekkur ederim, saygilarimla

  10. Ahmet dedi ki:

    Merhaba, EtherCard ile bir web adresine giderek QueryString veri yollamak istiyorum. İnternette genelde web server örnekleri bulunuyor. Yardımcı olabilir misiniz?

    • Ömer Koman dedi ki:

      HTTP POST metodu için şuradaki örneği bir inceleyin

      https://stackoverflow.com/questions/17791876/sending-http-post-request-with-arduino-and-enc28j60-ethernet-lan-network-module

      buraya da yazayım.

      #include EtherCard.h //

      // your variable

      #define PATH “example.php”
      #define VARIABLE “test”

      // ethernet interface mac address, must be unique on the LAN
      byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

      const char website[] PROGMEM = “www.google.com”;

      byte Ethernet::buffer[700];
      uint32_t timer;
      Stash stash;

      void setup () {
      Serial.begin(57600);
      Serial.println(“\n[webClient]”);

      if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
      Serial.println( “Failed to access Ethernet controller”);
      if (!ether.dhcpSetup())
      Serial.println(“DHCP failed”);

      ether.printIp(“IP: “, ether.myip);
      ether.printIp(“GW: “, ether.gwip);
      ether.printIp(“DNS: “, ether.dnsip);

      if (!ether.dnsLookup(website))
      Serial.println(“DNS failed”);

      ether.printIp(“SRV: “, ether.hisip);
      }

      void loop () {
      ether.packetLoop(ether.packetReceive());

      if (millis() > timer) {
      timer = millis() + 10000;

      byte sd = stash.create();
      stash.print(“variable=”);
      stash.print(VARIABLE);
      stash.print(“&action=Submit”);
      stash.save();

      // generate the header with payload – note that the stash size is used,
      // and that a “stash descriptor” is passed in as argument using “$H”
      Stash::prepare(PSTR(“POST http://$F/$F.csv HTTP/1.0″ “\r\n”
      “Host: $F” “\r\n”
      “Content-Length: $D” “\r\n”
      “\r\n”
      “$H”),
      website, PSTR(PATH), website, stash.size(), sd);

      // send the packet – this also releases all stash buffers once done
      ether.tcpSend();
      }
      }

  11. Soner Zilifli dedi ki:

    Merhaba;
    Enc28j60 modülünü kullanarak tarif edildiği şekilde uno kartı ile sorunsuz çalıştırdım fakat arduino mega ile ne kadar uğraştıysam olmuyor shild i değiştim mega kartını değiştim mega kartına göre bağlantı yaptım olmadı mega kartına unoya bağlantı yapıldığı şekli ile de bağladım ne yaptıysam olmadı bunun bir çözümünü bilen varsa yardımını rica ediyorum. Şimdiden teşekkürler

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal AÄŸlar