Skocz do zawartości

Problem z ENC28J60, Arduino MEGA i biblioteką UIPEthernet


Pomocna odpowiedź

Napisano

Cześć, 

Posiadam moduł Ethernet ENC28J60 podpięty do Arduino MEGA 2560 oraz zainstalowaną bibliotekę UIPEthernet.

W projekcie chcę wysyłać dane z czujników na stronę www.

Podczas kompilacji przykładowego programu z biblioteki dostaję takie ostrzeżenia:

In file included from C:\Program Files (x86)\Arduino\libraries\UIPEthernet\src\utility\uip_debug.cpp:4:0:

C:\Program Files (x86)\Arduino\libraries\UIPEthernet\src/utility/uip_debug.h:4:4: warning: #import is a deprecated GCC extension [-Wdeprecated]

   #import "utility/uip.h"

    ^~~~~~

C:\Program Files (x86)\Arduino\libraries\UIPEthernet\src\utility\uip_debug.cpp:6:4: warning: #import is a deprecated GCC extension [-Wdeprecated]

   #import "utility/uip.h"

    ^~~~~~

Próbowałem zamienić #import na #include w tych plikach, ale nadal nie działa.

Jest jakiś sposób na usunięcie tych błędów? Program się wgrywa do Arduino, wyskakują błędy, ale nie działa strona WWW.

Za pomocą biblioteki UIPEthernet można wysłać dane za pomocą printa tak jak w serial monitorze, druga biblioteka o nazwie EtherCard nie posiada takiej możliwości. Czy jest jakiś inny sposób na umieszczenie danych z czujników na stronie www lub serwerze za pomocą modułu Ethernet ENC28J60?

Pozdrawiam

 

@jare72 to tylko ostrzeżenie, a nie błąd, więc kompilacja przebiega raczej poprawnie. Błąd może więc leżeć w zupełnie innym miejscu. Masz pewność, że Twój kod jest poprawny?

@Treker Testowałem na poniższym kodzie. Program kompiluje się, ale nie działa (strona pod adresem 192.168.1.179 nie ładuje się). Testowałem też przykłady z biblioteki UIPEthernet i występuje taki sam problem. 

#include <UIPEthernet.h> // Used for Ethernet

// **** ETHERNET SETTING ****
byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };                                      
IPAddress ip(192, 168, 1, 179);                        
EthernetServer server(80);

void setup() {
  Serial.begin(9600);

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();

  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();

  if (client)
  {  
    Serial.println("-> New Connection");

    // an http request ends with a blank line
    boolean currentLineIsBlank = true;

    while (client.connected())
    {
      if (client.available())
      {
        char c = client.read();

        // 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)
        {
          client.println("<html><title>Hello World!</title><body><h3>Hello World!</h3></body>");
          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(10);

    // close the connection:
    client.stop();
    Serial.println("   Disconnected\n");
  }
}

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...