Hallo,
ich wollte über mein Board etwas an einen Webserver schicken, wenn ich den Code so Aufbau bekommen ich den Fehler den ich unten angehängt habe. Ich verwende die Ethernet 2 Library da ich gelesen habe das es mit der Originalen Library unter Linux Probleme gibt. Muss ich an der Library noch was ändern?
Mein OS: Ubuntu 12.04 installiert hab ich die Arduino IDE über Synaptic
#include <SPI.h>
#include <Ethernet2.h>
#define FLEX_TOO_HI 400
#define FLEX_TOO_LOW 350
#define ONBOARD_LED 13
#define FLEX_SENSOR 0
int bend_value = 0;
byte bend_state = 0;
byte MAC[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };
byte IPADDR[] = { 192, 168, 178, 230 };
byte GATEWAY[] = {192, 168, 178, 1 };
byte SUBNET[] = {255, 255, 255, 0 };
byte PHPSVR[] = {85, 195, 104, 22 };
Client client(PHPSVR, 80);
//EthernetServer server(80);
//EthernetClient client = server.available();
void setup() {
Serial.begin(9600);
pinMode(ONBOARD_LED, OUTPUT);
Ethernet.begin(MAC, IPADDR, GATEWAY, SUBNET);
delay(1000);
}
void ContactWebServer( int bend_value, int bend_state) {
Serial.println("Connecting to the web server to send alert...");
if (client.connect()) {
Serial.println("Connected to PHP Server");
client.print("GET/wateralert.php?alert=");
client.print(bend_state);
client.print("&flex=");
client.print(bend_value);
client.println("HTTP/1.0");
client.println();
client.stop();
} else {
Serial.println("Failed to connect to the web server");
}
}
void SendWaterAlert(int bend_value, int bend_state) {
digitalWrite(ONBOARD_LED, bend_state ? HIGH : LOW);
if (bend_state)
Serial.print("Water Level Threshold Exceeded, bend_value=");
else
Serial.print("Water Level Returned to Normal bend_value=");
Serial.println(bend_value);
ContactWebServer(bend_value, bend_state);
}
void loop() {
delay(1000);
bend_value = analogRead(FLEX_SENSOR);
Serial.print("bend_value=");
Serial.println(bend_value);
switch(bend_state) {
case 0:
if (bend_value >= FLEX_TOO_HI || bend_value <= FLEX_TOO_LOW) {
bend_state = 1;
SendWaterAlert(bend_value, bend_state);
}
break;
case 1:
if(bend_value < FLEX_TOO_HI && bend_value > FLEX_TOO_LOW) {
bend_state = 0;
SendWaterAlert(bend_value, bend_state);
}
break;
}
}
In file included from /usr/share/arduino/libraries/Ethernet2/Ethernet2.h:5:0,
from WaterLevel_notifer.cpp:2:
/usr/share/arduino/libraries/Ethernet2/Client.h:16:16: error: conflicting return type specified for ‘virtual void Client::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error: overriding ‘virtual size_t Print::write(uint8_t)’
In file included from /usr/share/arduino/libraries/Ethernet2/Ethernet2.h:6:0,
from WaterLevel_notifer.cpp:2:
/usr/share/arduino/libraries/Ethernet2/Server.h:20:16: error: conflicting return type specified for ‘virtual void Server::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error: overriding ‘virtual size_t Print::write(uint8_t)’
Danke
MFG