Arduino Wiznet5100 ün SD kartını Web Server olarak Kullanmak

Arduino ile kullanılan wiznet5100 modülünün üzerinde bulunan SD kartı çok yaygın olarak kullanılmıyor. Kullanılsa bile sadece bilgi kaydı için kullanılıyor. Bu yazımızda ise SD karta kayıt edilen bir HTML dosyasını ethernet kartını kullanarak arduinonun arayüzü şeklinde kullanılmasından bahsedeceğim.

Projemizde neler gerekiyor diye sorarsanız Arduino UNO ve Wiznet5100 ethernet Shield (Modülü) kullanılan bu shielde takabileceğimiz bir adet Micro SD kart tabiki (tavsiyem 4Gb dan fazla olmaması Çünkü desteklediği max Capasiteyi bilemiyorum. )

Her websitesi bir HOST (barındırıcı ) üzerine kuruludur. Websitelerine girebilmek için URL adresi yazılır ve DOMAIN NAME SERVER (DNS) aracılığıyla Host üzerinde barındırılan

index.php

index.asp

index.html  Anasayfaları açılarak websitesi görüntülenir.

Arduinomuz ve ethernet modülünü kullanarak SD kart üzerinde daha önce kayıt edilmiş olan arduinom.html sayfasını çağırarak bu sayfanın İnternet tarayıcısından görünmesini sağlamamamız gerekiyor.

Bunu çağırabilmemiz için ise ethernet bağlantısının sağlanması gerekiyor ve bilgisayarımızdan tanımladığımız IP adresinin yazılması gerekiyorki Micro SD kartımıza  kayıtlı arduinom.html sayfasını gçstersin . Ama belirtmekte fayda var, HTML sadece kod kümesidir. Dolayısı ile SD karta kayıt edeceğiniz RESİM video vs. Dosyalarının tarayıcınızda çıkması biraz zor. Bunu diyorum çünkü o kadar uğraşmama rağmen bunu başaramadım. Bu sıkıntıyı aşmak için ise Resimleri CLOUD (Bulut) disklerde saklayabilir ve kullanacağınız resim ve video gibi medyaları buradan çağırabilirsiniz. Cloud diskler gdrive, adrive yandex, gibi yerlerde olabilir.

Bu şekilde yaptığınız HTML kodunuz eğer networkunuzda internet varsa mükemmel bir sonuç çıkartacaktır.

Lafı uzatmadan Programımıza geçelim

#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>

// Ethernet shield için mac ve ip tanımlamaları
byte mac[] = { 0xDE, 0xAE, 0x8E, 0x11, 0xBA, 0x11 };
IPAddress ip(192, 168, 1, 10); // Ip adresi
EthernetServer server(80);  
File webArayuz; 

void setup()
{
    Ethernet.begin(mac, ip); 
    server.begin();          
    Serial.begin(9600); 
    
    // initialize SD card
    Serial.println("SD Kart başlatıldı...");
    if (!SD.begin(4)) {
        Serial.println("HATA !");
        return;
    }
    Serial.println("SD Kart açıldı");
        if (!SD.exists("arduinom.htm")) {
        Serial.println("Dosya Bulunamadı...");
        return; 
    }
    Serial.println("Dosya bulundu...");
}

void loop()
{
    EthernetClient client = server.available();  
    if (client) {  
        boolean currentLineIsBlank = true;
        while (client.connected()) {
            if (client.available()) {  
                char c = client.read(); 
                if (c == '\n' && currentLineIsBlank) {
                    client.println("HTTP/1.1 200 OK");
                    client.println("Content-Type: text/html");
                    client.println("Connection: close");
                    client.println();
                    // arayüzü gönderme...
                    webArayuz = SD.open("arduinom.htm"); //burada sd karttaki dosya aciliyor  
                    if (webArayuz) {
                        while(webArayuz.available()) {
                            client.write(webArayuz.read());
                        }
                        webArayuz.close();
                    }
                    break;
                }
                if (c == '\n') {
                    currentLineIsBlank = true;
                } 
                else if (c != '\r') {
                    currentLineIsBlank = false;
                }
            } 
        } 
        delay(1);
        client.stop(); 
    } 
}

KENAN Yemenicioğlu tarafından yapılmıştır . Alıntıdır.

  
  1. sercan ozen 14 Mart 2017 16:31

    hocam merhaba, html sayfayı çalıştırmakta sorun yaşamıyorum ancak aspx çalıştırırken sorun oluyor dosya bulunamıyor. acaba html de de yaptığınız gibi htm yazmak gibi aspx de de farklı bir değişiklik mi yapmak gerekiyor. Yardımcı olabilirseniz sevinirim. Yapmış olduğum ufak bir asp.net sayfası ile arduinoyu kontrol etmek istiyorum.

    Cevapla
  2. Arduinocu 6 Ocak 2016 10:02

    KOnyali teşekkürler başarılarının devamını dilerim

    Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.