Ehernet shield...

Тема в разделе "Arduino & Shields", создана пользователем Vadim_228, 10 янв 2017.

  1. Vadim_228

    Vadim_228 Нуб

    Что делать если отклеилась и потерялась наклейка с mac адресом на ethernet shield? Можно ли как то его узнать или изменить?
     
  2. Максим B

    Максим B Гуру

    Можно попробовать найти через командную строку в win - arp -a
     
  3. Vadim_228

    Vadim_228 Нуб

    Немного не понимаю. Объясните пожалуйста поподробнее
     
  4. Максим B

    Максим B Гуру

    Пуск - если win7, внизу в строке поиска CMD - откроется черный экран и в нем вводим arp -a , там будет ip адрес вашей платы и mac
     
    Vadim_228 нравится это.
  5. Vadim_228

    Vadim_228 Нуб

    А куда в это время должен быть подключен ардуино и сам ethernet shield?
     
  6. Максим B

    Максим B Гуру

    Если в таком ключе, тогда вот такой код можно попробовать скомпилить:
    Код (Text):

    /*
      Web Server

     A simple web server that shows the value of the analog input pins.
     using an Arduino Wiznet Ethernet shield.

     Circuit:
     * Ethernet shield attached to pins 10, 11, 12, 13
     * Analog inputs attached to pins A0 through A5 (optional)

     created 18 Dec 2009
     by David A. Mellis
     modified 9 Apr 2012
     by Tom Igoe
     modified 02 Sept 2015
     by Arturo Guadalupi

     */

    #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 native USB port 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("<html>");
              // 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("<br />");
              }
              client.println("</html>");
              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");
      }
    }

     
    В коде указаны и mac адрес , ip адрес - все это дело меняет здесь и заливается в ардуино - а это код webserver , если его скомпилить - тогда по адресу в браузере 192, 168, 1, 177 должна открыться страница с web формой