Automatische URL öffnen

Hallo alle miteinander, Ich habe folgendes Problem. Ich möchte etwas automatisieren, hier mal ein Beispiel.

Ich habe An den Eingängen des arduino Schalter zum Beispiel für die Tür.

Wenn ich jetzt die Tür offne soll eine URL angewählt werden die mir zum Beispiel eine e-Mail schickt oder etwas in eine Datei schreibt, darauf soll der Taster eine Minute nicht reagieren sprich eine Pause. Danach soll er die Eingänge dann ständig überwachen.

Sobald eine taster geschlossen wird wieder das gleiche Spiel

Sprich: Board ist im Netzwerk

Soll immer Taster überwachen Wenn Taster geschlossen, URL anwählen und eine Pause machen Dann wieder Taster überwachen.

Vielleicht hat ja einer eine Idee

Lg eknap

Wie sieht es denn mit deiner Erfahrung aus ? Hast du schon etwas mit Mikrokontrollern gemacht ? / mit dem Arduino ?

Mit dem Arduino noch nicht.

An meinen alten Arbeitsplatz hatte ich eine Hand voll Projekte mit Mikrokontrolern gehabt, hatte dabei aber nur gesagt was passieren soll und der Kollege an meiner Seite hat's gemacht.

Natürlich immer gefragt was er macht und so etwas erlernt.

Erfahrung im allgemein ( was das programmiren angeht [PHP & NC maschinen & und halt Simple Basic programme kriege ich hin ]) würde ich mich in der mitte einschätzen.

Aber ich bin lernfähig.

Wäre sowas überhaupt vom Prinzip her machbar?

Lg

Also, so etwas ist machbar, gehört aber nicht zu den Anfänger aufgaben ;-)

Du brauchst einen Arduino mit einem Ethernetschield für das Netzwerk. Um eine Email zu verschicken, kannst du am besten mit dem Arduino eine Verbindung zu PHP aufbauen, sprich eine Url auf einem Webserveraufrufen der dann die Email sendet. Auf dem Arduino kann man keinen Mailserver zum laufen bringen.

Als Bibliothek könnte man diese Verwenden: http://www.arduino.cc/en/Reference/Ethernet

Jomelo: Also, so etwas ist machbar, gehört aber nicht zu den Anfänger aufgaben ;-)

Da gebe ich dir absolut recht, das ist aber eine schöne Aufgabe, die man in Teilaspekte zerlegen kann, um kontinuierlich etwas dazuzulernen.

Du brauchst einen Arduino mit einem Ethernetschield für das Netzwerk. Um eine Email zu verschicken, kannst du am besten mit dem Arduino eine Verbindung zu PHP aufbauen, sprich eine Url auf einem Webserveraufrufen der dann die Email sendet.

Ist sicher eine Möglichkeit, aber PHP ist ja auch nicht jedermanns Sache, was mich zu folgender Idee bewogen hat:

Auf dem Arduino kann man keinen Mailserver zum laufen bringen.

Ich experimentiere ja gerade mit dem Empfangen von POP3-Emails. Nach meinen bisherigen "Forschungen" sollte ein Versand über SMTP auch umzusetzen sein. Hat jemand Lust, das mal zu testen? :D

Wenn es nur um einen Taster geht, dann würde ich für sowas gar keinen Arduino nehmen. Stattdessen würde ich ein billiges Linux System (z.B. einen gehackten WLAN Router) nehmen. Gehackte WLAN Router haben den enormen Vorteil, daß sie schon ein Gehäuse haben, normalerweise Linux drauf läuft, Internetzugang sowieso da ist und vor allem, daß sie normalerweise auf Dauerbetrieb ausgelegt sind.

Wenn unbedingt ein Arduino beteiligt sein mu0 kann man den ja dann an das Linux System zum Auswerten der Taster dranhängen ;)

Guten abend,
danke fuer die Antworten und die hilfe.

ich habe an so etwas gedacht

easy und nicht gerade schön geschrieben

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,178, 98 };

Server server(80);

void setup()
{
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  // listen for incoming clients
  Client client = server.available();


if (digitalRead(6) == 1)
{
client.println("URL 6");
  delay(500);
      return;  
}
else if (digitalRead(5) == 1)
{
client.println("URL 5");
  delay(500);
      return;
    }
else
{
 return; 
}
   delay(1);
client.stop();
  }

Naja mal sehen

Kommt zeit kommt rat :wink:

LG

Also mal angenommen ich müßte mit meinem Wissenstand sowas machen dann würde ich so vorgehen:

Arduino mit Ethernet-Shield
Web-server im internet mit mail oder mit ner mail-classe.

Wenn irgendwas am Arduino-Eingang passiert wird eine URL aufgerufen in etwa so:
http://url.de/mailer.php?eingang=1&token=2432jkh34hj234h23j23jh432 ← ist nur ein Beispiel!

in mailer.php wird der Token geprüft und wenn der OK ist wird anhand des Eingangs=1 ne Mail versand mit
Eingang 1 wurde Aktiviert

Das selbe mit eingang 2

Vielleicht kann man zur sicherheit auch ne Mail schicken wenn der Token falsch ist mit dem Inhalt:
Es versucht jemand mails über dein Script zu schicken!!!

Um zu sehen das die URL von Fremden aufgerufen wird.

Sollte doch so gehen.
Sind so meine Gedankengänge

Gruß
Thorsten

PS:
Die Delays vielleicht durch millies ersetzen!!!

Guten morgen,

Meine urls sehen so aus

http://domain.tld/?id=1 http://domain.tld/?id=2 http://domain.tld/?id=3

Bedeutet ?id={eingang}

Bisher kriege ich mit dem script oben immerhin hin das wenn ich die ip im webbrowser eingebe sehe ich auch nacb jedem tastendruck eine aktion sehen.

Erebniss:

URL 6 oder URL 5

Wie sage ich dem board den das es die url öffnen/anwählen soll

Lg

Wie sage ich dem board den das es die url öffnen/anwählen soll

Dafür muss du dein Sketch als Webclient ausführen. Ein Beispiel eines Webclients ist in den Beispieldateien der Ethernet-Library dabei:

Ausschnitt aus dem Beispiel "Webclient"

Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println("connection failed");
  }

Hallo

@webmeister
Ich habe es versucht und kriege nix gebacken, hab auch das beispiel angepasst und aufs bord geladen.
Anscheind bin ich zu dumm dafür.

@all
Ich habe mir vor mehreren monaten mal einen php script angepasst welcher per aufruf mir eine nachricht aufs iphone ( http://itunes.apple.com/de/app/prowl-growl-client/id320876271?mt=8 ) schickt.

Hier meine index.php

<?php /* Snail Mail Push Alerts Server side PHP script for sending iPhone push alerts when this example.php is requested via HTTP by the Arduino. Adapted from ProwlPHP 0.3.1 by Mario Mueller: https://github.com/xenji/ProwlPHP Edit by eknap */ require_once 'ProwlConnector.class.php'; require_once 'ProwlMessage.class.php'; require_once 'ProwlResponse.class.php'; $oProwl = new ProwlConnector(); $oMsg = new ProwlMessage(); $beitrag = file("data.txt"); foreach($beitrag as $ausgabe) { $ausgabe = stripslashes($ausgabe); $zerlegen = explode("|", $ausgabe); if($zerlegen[0] != $_GET['id']){ echo "";} elseif($zerlegen[0] == $_GET['id']){ try { $oProwl->setIsPostRequest(true); $oMsg->setPriority(2); $oMsg->addApiKey($zerlegen[3]); $oMsg->setEvent($zerlegen[2]); $oMsg->setApplication($zerlegen[1]); $oResponse = $oProwl->push($oMsg); if ($oResponse->isError()) print $oResponse->getErrorAsString(); else{ if($zerlegen[4] == "1"){ print "Versendet "; print "Verbleibende Nachrichten: " . $oResponse->getRemaining() ." " . PHP_EOL ." "; print "ApiKey: ". $zerlegen[3] ." "; print "App: ". $zerlegen[1] ." "; print "Nachricht: ". $zerlegen[2] .""; } } } catch (InvalidArgumentException $oIAE) { print $oIAE->getMessage(); } catch (OutOfRangeException $oOORE) { print $oIAE->getMessage(); } } } ?>

Und hier meine data.txt

1|Hallo|eins|f546a802358347282f3ccc66eebca25c5a7de386||
2|app|nachricht 2|f546a802358347282f3ccc66eebca25c5a7de386|1|
3|app|nachricht 3|f546a802358347282f3ccc66eebca25c5a7de386||

Und hier gib’s den Rest der Klasse

Vielleicht wäre das ja auch möglich ist.

Grund das die Daten auf den derer liegen ist das man sie besser editieren kann als immer den Auridio umzuschreiben.

Ich werde Es weiter versuchen und hier im Forum lesen.

Wenn es alles so klappt wie ich’s mir vorstelle werde ich später hier alles veröffentlichen.

Ich bin natürlich für weitere Tips/Hilfen dankbar.

Lg
Eknap