INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PHP Seite aufrufen bei Bewegung
27.02.2015, 12:51
Beitrag #1
PHP Seite aufrufen bei Bewegung
Hallo !

Ich habe gerade mit meinem ersten Arduino Uno V3, EthernetShield W5100 und einem Bewegungsmelder angefangen und komme leider nicht weiter.

Ziel: LED (Pin8) soll bei Bewegung(Pin3) leuchten und eine PHP Datei soll aufgerufen werden, die automatisch eine Mail versendet.
1. Die LED geht schon an bei Bewegung, das funktioniert !
2. Die PHP Datei funktioniert auch !
3. Leider erfolgt nicht der Aufruf der PHP Datei bei Bewegung.

Anbei mein Sketch...
Ich würde mich freuen, wenn ihr mir sagen könnt was ich falsch mache.
Vielen Dank für jeden Tipp vorab.

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char server[] = "www.meinserver.de";
IPAddress ip(192, 168, 188, 177);
EthernetClient client;
static const int triggerPin = 3; // Pin für PIR-Sensor
static const int ledPin = 8; // Digital Pin LED
unsigned int val = 0; // Wert des triggerPin
unsigned int pirState = LOW; // Status des Bewegungsmelders beim start auf LOW (Keine Bewegung)

void setup() {
pinMode(triggerPin,INPUT);
pinMode(ledPin,OUTPUT);
}

void loop() {
val = digitalRead(triggerPin);

if (val == HIGH) {
if (pirState == LOW) {
pirState = HIGH;
digitalWrite(ledPin, pirState);

Serial.begin(9600);
while (!Serial) {
;
}
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
Ethernet.begin(mac, ip);
}
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) {
Serial.println("connected");
// Make a HTTP request:
client.println("GET /home/start.php HTTP/1.1");
client.println("Host: http://www.meinserver.de");
client.println("Connection: close");
client.println();
delay(10000);
// delay, damit nicht mehrere Mails hintereinander versendet werden
}
else {
Serial.println("connection failed");
}

}
}
else {
if (pirState == HIGH) {
pirState = LOW;
digitalWrite(ledPin, pirState);
}
}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.02.2015, 14:11
Beitrag #2
RE: PHP Seite aufrufen bei Bewegung
Hallo platinenmaxe,

ich glaube, dass Problem ist darin begründet, dass du die Connection nach Aufruf der PHP-Datei nicht sauber beendest. Ich mache das immer nach diesem Prinzip:
Code:
void Daten_senden()
{
    // Name Webserver,-domäne,Pfad zu PHP-Datei auf Server
    static char webdomain[] = "www.meine-webdomain.de";
    static char url[] = "/home/start.php";
    /* Anpassen - muss hier direkt reingeschrieben werden
    da sonst der connect nicht funktioniert */
    if (client.connect("www.meine-webdomain.de",80))
    {
    client.print("GET ");
    client.print(url);
    // Abschluss des Requests
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.print(webdomain);
    client.println("User-Agent: Arduino");
    client.println("Accept: text/html");
    client.println();
    delay(1000);
    client.stop();
    client.flush();
    dleay(10000);
    }
}
Alternativ kannst du die eMail ja auch direkt vom Arduino senden lassen. Da ginge etwa so:
Code:
void sendEmail()
{
// Domäne, Adressen, Texte für SUBJECT und Inhalt anpassen
static char mailserver[] = "smtp.mailserver.de";
static char member[] = "Nutzername";
static char subject[]="Betrefftext";
static char inhalt[]="Inhalt der Mail";
delay(1000);
client.connect(mailserver,25);
delay(500);
// Text HELO
client.print("HELO ");
client.println(mailserver);
delay(10);
// Text Mail From
client.print("MAIL FROM: @");
client.println(mailserver);
delay(10);
// Text RCPT TO
client.print("RCPT TO:");
client.print(member);
client.print("@");
client.println(mailserver);
delay(10);
// Text DATA
client.println("DATA");
delay(10);
// Text TO
client.print("TO:");
client.print(member);
client.print("@");
client.println(mailserver);
delay(10);
// Titel des Mails
client.print("SUBJECT: ");
client.println(subject);
delay(10);
client.println();
delay(10);
// Inhaltstext des Mails
client.println(inhalt);
delay(10);
// Kennzeichnung Ende des Mails
client.println(".");
delay(10);
// Abmelden
client.println("QUIT");
delay(10);
client.stop();
client.flush();
}
Vielleicht bringt es dich ja weiter.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bluetooth refresh der Seite kaimaik 7 214 01.10.2016 22:05
Letzter Beitrag: kaimaik
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 447 22.08.2016 08:07
Letzter Beitrag: b3ta
  Arduino vom heimischen PC aus aufrufen arduinofan 10 893 24.11.2015 22:57
Letzter Beitrag: arduinofan
  Arduino an php bzw html Seite senden Keith 10 2.457 15.12.2014 22:27
Letzter Beitrag: Keith
  Arduino,Servo. ungewollte Bewegung.. Lothar 20 5.167 28.09.2014 20:23
Letzter Beitrag: Lothar
  HTML Seite auf SD Karte Andreas_Home 5 2.490 03.02.2014 13:21
Letzter Beitrag: Andreas_Home

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste