Habe jetzt noch mal etwas umgebaut den Quelltest leider OHNE Erfolg
Keine Verbindung möglich ?
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetClient.h>
// Allgemein
volatile int impuls[] = {0,0,0,0,0,0}; // Impulsarray zum Zählen der Impulse {S0<1>,S0<2>,S0<3>)
volatile int netzspeicher[] = {0,0,0,0,0,0}; // Zwischenspeicher der Impulse für übertragung {S0<1>,S0<2>,S0<3>)
volatile double verbauchsanzeige[] = {0,0,0,0,0,0}; //
volatile long zeitenspeicher[] = {0,0,0,0,0,0}; //
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Mac-Adresse zuweisen
IPAddress ip(192,168,2,10); // IP Adresse Arduino Zuweisen
byte host[]= { 192 ,168, 2, 25}; // Server IP
byte subnet[] = { 255, 255, 255, 0 }; // Subnetmask Zuweisen
byte gateway[] = { 192,168,2,2 }; // Gateway
char url[] = "/Strom/aufrufen.php"; // Pfad zur PHP-Datei eingeben
char key[] = "Kennwort_eingeben"; // Kennwort aus PHP-Datei eingeben
char c;
EthernetClient client;
// Serial und Live
int intervalserial = 60000; // Inervall für serial Ausgabe
long zwischenzeitserial =0; // Var zur berechnung der vergangene zeit
double ergebnis = 0; // Var für Live Anzeige Watt/h
double Temperatur1 = 0; // Temperatur 1 momentan
double Temperatur2 = 0; // Temperatur 2 momentan
// Netzwerk und Datenbank
long zwischenzeitnetzwerk = 0;
int intervalnetzwerk = 15000; // Intervall für netzwerk Ausgabe15
int zwischenimpuls = 0; // Zwischen Var für Datenbank speicherung
void setup() {
Serial.begin(9600); // Serial wird auf 9600 Baud gestellt
attachInterrupt(0, zaehleneins, FALLING); //Interrupt wird ausgelößt bei Positiver Flanke und springt in Programm zaehlen1 0 = Digital 2
attachInterrupt(1, zaehlenzwei, FALLING); //Interrupt wird ausgelößt bei Positiver Flanke und springt in Programm zaehlen2 0 = Digital 3
attachInterrupt(2, zaehlendrei, FALLING);
attachInterrupt(3, zaehlenvier, FALLING);
attachInterrupt(4, zaehlenfuenf, FALLING);
attachInterrupt(5, zaehlensechs, FALLING);
Ethernet.begin(mac, ip, gateway, subnet); // Ethernet Shild soll initalisert werden.
delay (5000); // 5 Sekunden warten
}
// ----------Programm Schleife---------------------------------------------------------------------------
void loop()
{
//--- Anzeige über Serial Com Port
/* if (millis() - zwischenzeitserial > intervalserial-1) {// Wenn Systemzeit - Letzte gepeicherte Zeit größer als interval dann...
Daten_senden_serial();
}*/
//--- Ausgabe über Netzwerk
if (millis() - zwischenzeitnetzwerk > intervalnetzwerk-1) {// Wenn Systemzeit - Letzte gepeicherte Zeit größer als interval dann...
Daten_senden(); // Starte Programm Daten_senden
}
}
//-- Unterprogramm zum Impulse Zählen------------------------------------------------------------------------------------------------
void zaehleneins()
{
impuls[0]++; //setze impulse +1
}
void zaehlenzwei()
{
impuls[1]++; //setze impulse +1
}
void zaehlendrei()
{
impuls[2]++; //setze impulse +1
}
void zaehlenvier()
{
impuls[3]++; //setze impulse +1
}
void zaehlenfuenf()
{
impuls[4]++; //setze impulse +1
}
void zaehlensechs()
{
impuls[5]++; //setze impulse +1
}
//------------------------------------------------------------------------------------------------------------------------------------
void Daten_senden()
{
Serial.println("Verbindung mit Datenbank...");
if (client.connect(host, 80))
{
for(int j=0;j<6;j++)
{
netzspeicher[j] = impuls[j];
impuls[j] = 0;
Serial.println(".... Daten Kopiert ");
Serial.print("Verbunden...sende Daten...");
client.print("GET ");
client.print("/strom/eintrag.php");
client.print("?Impulse=");
client.print(netzspeicher[j]);
client.print("&IdentID=0000000");
client.print(j);
client.println(" HTTP/1.1");
client.print("Host: ");
//client.println(host);
client.println();
Serial.println("******* DATEN WURDEN ÜBERTRAGEN ********");
}
}
else
{
Serial.println(" ***** VERBINDUNGSAUFBAU NICHT MÖGLICH *****");
}
}
void Daten_senden_serial()
{
zwischenzeitserial = millis(); //Letzte gespeicherte Zeit = Systemzeit
//---- Ausgabe auf Com Port -----
for (int i=0;i<6;i++)
{
Serial.print("Impulse INTERRUPT " ); // Gebe aus "Impuls= 1-6 "
Serial.print(i);
Serial.print("= " );
Serial.print(impuls[i]);
Serial.print(" Verbrauch = " );
Serial.print(verbauchsanzeige[0]);
Serial.println(" Kw/h");
}
Serial.println("");
}