EtherCard , temperaturerfassung im Volkszaehler

Hallo

Ich habe folgenden Code geschrieben /kopiert

Leider klappt der Eintrag in die Volkszähler DB nicht.... wer kann mir helfen?

#include <EtherCard.h>

// wenn ich diese Zeile in einen Browser eingebe, dann wird unter UUID 3673c950usw   der Wert 11 eingetragen
// "http://192.168.2.101/middleware.php/data/3673c950-c1ef-11e6-b11a-0192d8f83db0.json?operation=add&value=11"

#define PATH    "/middleware.php/data/3673c950-c1ef-11e6-b11a-0192d8f83db0"

// ethernet interface mac address, must be unique on the LAN
byte mymac[] = { 0x9e,0xb3,0x19,0xc7,0x1b,0x10 };

const char website[] PROGMEM = "192.168.2.101";

byte Ethernet::buffer[700];
uint32_t timer;
Stash stash;

void setup () {
 Serial.begin(57600);
 Serial.println("\n[webClient]");

 if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
   Serial.println( "Failed to access Ethernet controller");
 if (!ether.dhcpSetup())
   Serial.println("DHCP failed");

 ether.printIp("IP:  ", ether.myip);
 ether.printIp("GW:  ", ether.gwip); 
 ether.printIp("DNS: ", ether.dnsip); 

 if (!ether.dnsLookup(website))
   Serial.println("DNS failed");

 ether.printIp("SRV: ", ether.hisip);
}

void loop () {
 ether.packetLoop(ether.packetReceive());

 if (millis() > timer) {
   timer = millis() + 10000;

   byte sd = stash.create();
   stash.print("operation=add&");
   stash.print("value=");
   stash.print("11");
   stash.save();

   // generate the header with payload - note that the stash size is used,
   // and that a "stash descriptor" is passed in as argument using "$H"
   Stash::prepare(PSTR("GET http://$F/$F.json HTTP/1.0" "\r\n"
                       "Host: $F" "\r\n"
                       "Content-Length: $D" "\r\n"
                       "Content-Type: application/x-www-form-urlencoded" "\r\n"
                       "\r\n"
                       "$H"),
           website, PSTR(PATH), website, stash.size(), sd);


   // send the packet - this also releases all stash buffers once done
   ether.tcpSend();
 }
}

Hallo und willkommen in diesem Forum und vorab Frohe Weihnachten.

Es ist dein erster Post hier, daher meine Empfehlung:
Lies dir bitte mal die Forum-Regeln durch, damit du es für dich und alle Mithelfer etwas einfacher machst.

In deinem ersten Post sind 2 gravierende "Bugs":

  1. Du hast hier im englischsprachigen Teil in deutscher Sprache gepostet - da wirst du wenig Antworten erhalten
  2. Wenn du Programm-Code postest, dann gibt es im Editor einen Button ("</>"), der den Code dann in sogenannte Codetags und damit in einem scrollbaren Fenster veröffentlicht.

Meine Bitten:

  1. Bitte einen Moderator (Button unten links unter jedem Post: "Report to Moderator"), deinen Thread ins deutschsprachige Forum zu verschieben
  2. Editiere dein Posting, so dass dein Code dann innerhalb der Codetags steht
  3. Bitte lies dir die Forum-Regeln durch (URL steht in meiner Signatur)

Danach wird dir sicher von den Experten im deutschen Forumteil weitergeholfen (ich habe mit Ethernet-Karte noch keine Erfahrung und kann dir spontan nicht weiterhelfen).

Bitte editiere Deinen Beitrag noch, wie von rpt007 bereits erwähnt, und setze Deinen Code in Codetags.

Was meldet Dein Sketch bei ether.printIp("SRV: ", ether.hisip);

Gruß Tommy

Hallo,
herzlichen Dank für Eure Hinweise... Sorry wenn ich mich falsch verhalten habe:

Zur Fehlereingrenzung: ich bekomme bei : ether.printIp("SRV: ", ether.hisip); -> SRV: 0.0.0.0

[webClient]
IP: 192.168.2.55
GW: 192.168.2.1
DNS: 192.168.2.1
DNS failed
SRV: 0.0.0.0

VG
Poohbaer

Ich vermute einen Fehler in diesem Teil:

const char website[] PROGMEM = "192.168.2.101";
...
 if (!ether.dnsLookup(website))
   Serial.println("DNS failed");

 ether.printIp("SRV: ", ether.hisip);
}

// Du solltest eher verwenden
ether.parseIp(ether.hisip, website);

Warum machst Du einen DNSLookup, wenn Du die IP schon hast?
Ich vermute Dein DMS-Server kommt mit dem Servernamen nicht klar.

Ethercard ist die Lib zum ENC28J60. Den verwendest Du auch?
Mit dem WIZ5100 funktioniert diese Lib nicht.

Gruß Tommy

Ok dann versuche ich es mal damit...melde mich wieder