Ich Habe hier ein Arduino Ethernet (ähnlich UNO) disen möchte ich als Webclient betreiben. Er soll mir Werte in eine SQL Datenbank schreiben über php Die Seite liegt auf einem Xampp Server im Lokalen netz.
Ich werde nun nicht meine richtigen IP darstellen aber mal um es zu verdeutlichen
DSL Router (Gateway) 192.168.2.2
Xampp Rechner 192.168.2.254
Arduino 192.168.2.253
Passwort hat die Seite nicht
die Seite liegt auf dem rechner unter htdocs/strom/php/neuer_wert.php
mein Quellext:
#include <SPI.h> #include <Ethernet.h> //ETHERNET-SETTINGS byte mac[] = { 0x5D, 0xA2, 0xFA, 0x2D, 0x76, 0x7C }; // MAC-Adresse des Arduino byte ip[] = { 192, 168, 2, 253 }; // IP-Adresse des Arduino byte gateway[] = { 192, 168, 2, 2 }; // Gateway byte subnet[] = { 255, 255, 255, 0 }; // SubNet byte server[] = { 192, 168, 2, 254 }; // IP-Adresse des Servers EthernetClient client; char host[] = "server-pc"; // Domain char url[] = "/strom/PHP/wert_eintragen.php"; // Pfad zur PHP-Datei char key[] = "MEINPASSWORT123"; // Kennwort aus PHP-Datei char c; // Variable für Rückgabe des Servers long Interval = 60; int zaehler_1 = ; // Verbrauchszähler 1 int zaehler_2 = ; // Verbrauchszähler 2 int laufzeit = millis(); // Laufzeit des Systems in ms int speicherzeit = ; // void setup(void) { attachInterrupt(, zaehlen1,RISING); //Interrupt reagiert auf steigene Flanke am Pin2 attachInterrupt(1, zaehlen2,RISING); //Interrupt reagiert auf steigene Flanke am Pin3 } void loop(void) { Serial.print(speicherzeit); Serial.print(laufzeit); if (laufzeit > speicherzeit + 15000) // Jede 5 min { Serial.print("intervall"); speicherzeit = laufzeit; // setzt die Seicherzeit auf die Laufzeit um speichern(); // Speichert den verbrauch auf dem Server } } //-------------------------------------- INTERRUPT Routine ---------------------------------------- void zaehlen1() //INTERRUPT Routine zum Zählen der Impulse an S0 <1> { zaehler_1++; } void zaehlen2()//INTERRUPT Routine zum Zählen der Impulse an S0 <2> { zaehler_2++; } //-------------------------------------- auf Server Speichern ------------------------------------ void speichern() { if (client.connect(server, 80)) { Serial.print("Verbunden...sende Daten..."); client.print("GET "); client.print(url); client.print("?Impulse="); client.print(zaehler_1); client.print("&IDENTID=1"); client.println(" HTTP/1.1"); client.print("Host: "); client.println(host); client.println(); Serial.println("fertig!"); } zaehler_1 = ; // nach speichern wird der Zähler auf 0 gesetzt zaehler_2 = ; // nach speichern wird der Zähler auf 0 gesetzt }
vor 28 weeks 1 hour
"mein Webclient funktioniert nicht" ist schon mal ein guter Ansatz aber bitte beschreib die Symptome Deines Problems genauer.
attachInterrupt(, zaehlen1,RISING); fehlt Pinangabe
Serial.print(speicherzeit); funktioniert ohne Serial.begin nicht
zaehler_1 = ; // nach speichern wird der Zähler auf 0 gesetzt wirklich?
Bitte einen lauffähigen Sketch einfügen.
Bist Du sicher daß das PHP-File funktioniert?
Grüße Uwe
Login or register to post comments