Ethernet Shild-MAC Hakkinda
  • Merhabalar,
    MEGA ADK ya Ethernet Shild bağladım ve Ethernet Shild modülümün MAC adresi üzerine yapıştırılan etikette 90-A2-DA-10-DA-73 şeklinde. Cihazımı server yapmak istiyorum ama IP alamıyorum. Aşağıdaki örnek Web server kod diziliminde modülün verilen MAC adresini nereye-nasıl işlemem lazım? Tşk.

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

    // Enter a MAC address and IP address for your controller below.
    // The IP address will be dependent on your local network:
    byte mac[] = {
    0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    };
    IPAddress ip(192, 168, 1, 177);

    // Initialize the Ethernet server library
    // with the IP address and port you want to use
    // (port 80 is default for HTTP):
    EthernetServer server(80);

    void setup() {
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
    }


    // start the Ethernet connection and the server:
    Ethernet.begin(mac, ip);
    server.begin();
    Serial.print("server is at ");
    Serial.println(Ethernet.localIP());
    }


    void loop() {
    // listen for incoming clients
    EthernetClient client = server.available();
    if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
    if (client.available()) {
    char c = client.read();
    Serial.write(c);
    // if you've gotten to the end of the line (received a newline
    // character) and the line is blank, the http request has ended,
    // so you can send a reply
    if (c == '\n' && currentLineIsBlank) {
    // send a standard http response header
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("Connection: close"); // the connection will be closed after completion of the response
    client.println("Refresh: 5"); // refresh the page automatically every 5 sec
    client.println();
    client.println("<!DOCTYPE HTML>");
    client.println("");
    // output the value of each analog input pin
    for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
    int sensorReading = analogRead(analogChannel);
    client.print("analog input ");
    client.print(analogChannel);
    client.print(" is ");
    client.print(sensorReading);
    client.println("
    ");
    }
    client.println("");
    break;
    }
    if (c == '\n') {
    // you're starting a new line
    currentLineIsBlank = true;
    }
    else if (c != '\r') {
    // you've gotten a character on the current line
    currentLineIsBlank = false;
    }
    }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
    }
    }
  • byte mac[] = {
    //0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    0x90,0xA2,0xDA,0x10,0xDA0x73
    };
  • Merhaba,
    Dediğinizi yaptım ancak yine olmadı. Ethernet Shild arızalı mı diye düşündüm ama aynı kod dizilimini elimdeki hiç kullanılmamış YUN ile de denedim yine olmadı. Bu arada PC mdeki Bağdaştırıcı Ayarlarında TCP/IPv4 özellikleri sekmesinde; Aşağıdaki IP yi kullan seçeneğini seçip şunları giriyorum;
    IP Adresi : 192.168.1.180
    Alt Ağ Maskesi : 255.255.255.0
    Alt Ağ Maskesi : . . . .
    DNS kısmında "Aşağıdaki DNS yi kullan" seçeneği otomatik işaretleniyor ama içi komple boş.
    Hepsi bu..Acaba buralarda mı hatam var? Tşk.
  • Siz zaten ip yi static olarak belirliyorsunuz,bir yerden ip almayacak ama subnet i goremedim ben programinizda,birde network e bagladiginizda, bilgisayardan ping atmayı denediniz mi?
  • Merhabalar,

    Problem şöyle çözüldü. Examples altındaki Ethernet sekmesi değil de Ethernet2 sekmesi altındaki web server da problem çözüldü. Anlamadığım şey bu ikisi arasındaki fark nedir?
  • Üzerinde mac adresi yapıştırılmış haldeyse büyük ihtimalle Ethernet Shield 2 almışsınız. Kullandığınız donanım 2.versiyon olduğu için Ethernet2 kütüphanesini kullanmalısınız. Donanımınıza uygun kütüphane.
  • Evet haklısınız. Peki YUN da durum nedir? YUN a wifi değil de ethernet portundan bağlanmak istersem o zaman hangi ethernet kütüphanesinin web server ını yüklemeliyim?

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.