Show Posts
Pages: 1 ... 14 15 [16] 17 18 19
226  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: May 02, 2012, 07:39:40 am
Hallo,
ja also, das habe ich mir schon gedacht, Einfach geht es ja nie  smiley-mr-green
Aber gut, ich hoffe das kriege auch irgendwie hin, ich werde heute abend mal eine "Nachtschicht" einlegen und mal schauen wie weit ich komme (wahrscheinlich garnicht weit  smiley-sad )
An millis hatte ich auch schon gedacht... (Obwohl Denke ja nicht so meine Stärke ist, wie wir festgestellt haben.. LoL )

Quote
Zu Deinem PHP-Code:
Warum verwendest Du immer Arrays in den Variablennamen?
z.b.
Code:

<select name="led2[]">

Das ist eher unübersichtlich und eigentlich unnötig, außer Du willst ALLE "Ventile" in ein Array packen, dann würde es Sinn machen, müßte aber auch anders aussehen.
Mmmh, das stammt doch aus dem Formular ? Oder irre ich da?
Code:
<select name="led2[]">
    <option value="15">15 min</option>
    <option value="30">30 min</option>
    <option value="60">60 min</option>
   </select>
Da wird doch bei "led2[]" die Zeit, die Ausgewählt wird, rein gepackt, oder nicht ?  smiley-confuse
227  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: May 01, 2012, 04:00:28 pm
Moin Moin,
kann man auch ein viertes Byte übertragen ?
Z.b. 15 ?
Soll bedeuten, das die LED für 15 min AN ist und sich dann wieder ausschaltet.
Ich dachte da an sowas wie, die "15" wird an millis/delay übergeben.
Code:
//pin setzen
if(input[0] == 'S') {
   digitalWrite(input[1],input[2]);
   delay[3];
}
Auszug aus der PHP:
Code:
if(isset($_GET['led2'])) {
    $led2 = $_GET['led2'];
    arduino_send($arduino_ip,$arduino_port,"S".chr(9).chr(1).chr($led2[])); //Pin9 AN für x min
} else {
    $led2 = arduino_send($arduino_ip,$arduino_port,"R".chr(9).chr(0));
}
....
<form action="">
  <p>
   <select name="led2[]">
    <option value="15">15 min</option>
    <option value="30">30 min</option>
    <option value="60">60 min</option>
   </select>
  </p>
   <input type="submit" name="submit" value="Starten">
   <input type="reset" name="stop" value="Stop">
</form>
Geht sows oder mal wieder völlig daneben ?  smiley-red

228  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: May 01, 2012, 01:42:25 pm
Hallo,
also dein Sketch sieht Professionell aus, mit Überprüfung und so, nicht schlecht  smiley
Ich habe rausgefunden, warum die LED immer an war, obwohl 0 gesendet wurde.
Ich würde mal sagen, klassischer Anfänger Fehler, ich hatte  verkehrtrum gepohlt.
 smiley-mr-green

Jetzt gehts  smiley-grin
Nun geht es weiter, das ganze per Zeit zu steuern, also das ich sage, öffne Ventil für 15min und dann wieder zu, mal sehen, wie weit ich da kommen... smiley-confuse

Mach ich das am besten per PHP und übergebe das dann an den Arduino ?
Oder sollte der Arduino das machen ? (Mit millis oderso ?)
229  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: May 01, 2012, 07:18:18 am
Hallo GOTT  smiley-wink
äh, ich meine Mario...

Also, es funktioniert jetzt!!!
Jetzt habe ich glaube ich auch kapiert, was ich falsch gemacht habe.
Manchmal sieht es erst wenn es fertig ist. Habe zwar schon ein bischen mit PHP gemacht,
aber leider zu wenig um die kurzform der schreibweise zu verstehen.
Du bist wohl auch PHP-Guru, oder ?
Was wir hier,nein was DU, hier gemacht hast, hat ja eigentlich nix mit Arduino zu tun.
Also echt Suuper !! Mein Respekt, das du die Gedult hattest mich da so ran zu führen, das ein Anfänger wie ich, das auch versteht und es letztendlich läuft. DANKE !!

Jetzt muss das ganze noch für 8 Ausgänge optimiert werden und ein büschen aufhübschen...  smiley-lol

Dennoch habe noch eine Frage, vieleicht bekomme ich das aber auch allein irgendwie raus.
Die Pins sind ja nun als Ausgänge deklariert "pinMode(Pin4, OUTPUT);" , wenn der Sketch startet, ist Pin4 AN, obwohl er AUS-geschaltet sein sollte.
Und wenn ich dann auf AN klicke schaltet er AUS, sozusagen sind 1 und 0 vertauscht.
Was ich aber nicht verstehe, da ich doch mit dem PHP-Script 1 (also AN) sende und er aber AUS macht.
Hier der funktionierende Sketch:
Code:
/*
  Webclient
  Es soll mittels einer PHP-Seite, die auf einem Webserver liegt,
  ein oder mehrere Ausgänge AN/AUS geschaltet werden.
*/

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

// Ethernet einrichten
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0xEE, 0xF3 };
IPAddress ip(192,168,178,216);
IPAddress gateway(192,168,178,1);
IPAddress subnet(255, 255, 255, 0);

// telnet defaults to port 23
EthernetServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet

int Pin4 = 4;
int Pin5 = 5;
int Pin9 = 9;

void setup() {
  // initialize the ethernet device
  Ethernet.begin(mac, ip, gateway, subnet);
  // start listening for clients
  server.begin();
  // open the serial port
  Serial.begin(9600);
  pinMode(Pin4, OUTPUT);
  pinMode(Pin5, OUTPUT);
  pinMode(Pin9, OUTPUT);
}

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();
 
  // when the client sends the first byte, say hello:
  if (client) {
    if (!gotAMessage) {
      Serial.println("We have a new client");
      gotAMessage = true;
    }
   
  //Achtung super simpler Quickhack ohne Püfung der Eingabe oder ob Daten vorhanden sind
char input[3];

for(int i=0;i<3;i++) {
    input[i] = client.read();   
}

//pin setzen
if(input[0] == 'S') {
   digitalWrite(input[1],input[2]);
}
//pin lesen und an den Client schicken
if(input[0] == 'R') {
   client.print(digitalRead(input[1]));
}
 }
 client.stop();
 client.flush();
}
Klar, ich kann einfach 1 und 0 tauschen, aber damit habe ich es ja nicht verstanden.


Ansonsten, nochmal VIELEN DANK für deine Mühe und Geduld Mario aka "mkl0815"
230  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: May 01, 2012, 03:29:42 am
Guten morgen,
oh...  smiley-red  Ok, ich habe es nochmal versucht, die Seite wird angezeigt und es sich auch der zustand gemerkt, zumindest sieht es so aus:
Code:
<html>
<head>
</head>
<body><h1>Arduino - Monkey Script</h1>
<?php
$ip
="192.168.178.216";
$port="8088";

function 
arduino_send($ip,$port,$command) {
    
$res fsockopen($ip,$port);
    if(
$res) {
        
fwrite($res,$command);
        return 
fread($res,1);
    } else {
        echo 
"Fehler, Kommando konnte nicht abgesetzt werden";
    }
}

if(isset(
$_POST["arduino_send($ip,$port,'S'.chr(1).chr(1));"])) // Senden
 
$led1 $_POST["arduino_send($ip,$port,'R'.chr(1).chr(1));"];  // Lesen
if(isset($_POST["arduino_send($ip,$port,'S'.chr(2).chr(1));"])) // Senden
 
$led2 $_POST["arduino_send($ip,$port,'R'.chr(2).chr(1));"];  // Lesen
if(isset($_POST["arduino_send($ip,$port,'S'.chr(3).chr(1));"])) // Senden
 
$led3 $_POST["arduino_send($ip,$port,'R'.chr(3).chr(1));"];  // Lesen
?>

<form method="POST" action="<?php echo $PHP_SELF ?>">
  <p>
    LED 1 : <input type="radio" name="led1" value="0" <?php if($led1==0) echo "checked" ?> >aus -  <input type="radio" name="led1" value="1" <?php if($led1==1) echo "checked" ?> >an<br>
    LED 2 : <input type="radio" name="led2" value="0" <?php if($led2==0) echo "checked" ?> >aus -  <input type="radio" name="led2" value="1" <?php if($led2==1) echo "checked" ?> >an<br>
    LED 3 : <input type="radio" name="led3" value="0" <?php if($led3==0) echo "checked" ?> >aus -  <input type="radio" name="led3" value="1" <?php if($led3==1) echo "checked" ?> >an<br>
  </p>
  <input type="submit" name="submit" value="Abschicken">
</form>
</body>
</html>
Ich habe die Zeilen mal untereinander geschrieben, damit ich das unterscheiden kann.
Also, ich versuche das mal zu verstehen
Code:
if(isset($_POST["arduino_send(192.168.178.216,8088,'S'.chr(1).chr(1));"])) // Senden
Mit dem ersten Aufruf, wird der gewünschte Zustand gesetzt...
Code:
$led1 = $_POST["arduino_send(192.168.178.216,8088,'R'.chr(1).chr(1));"];  // Lesen
Mit dem zweiten Aufruf, der gesetzte Zustand gelesen...
Und hiermit
Code:
<?php if($led1==0) echo "checked" ?>
wird gefragt, welche Zustand ist es 1 oder 0 und dann angezeigt.

Oder wieder verkehrt ?  smiley-sad
Manchmal frage ich mich, ob mir eine Gehirnzelle fehlt das ich das nicht verstehe oder
denke ich zu kompliziert ?  smiley-confuse

EDIT:
Ich merke sehe gerade, das ich ja nur 1 senden kann, aber nicht 0
Ich steh gerade auf'n schlauch...
231  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: April 30, 2012, 02:24:32 pm
Nabend  smiley-wink
das freut mich aber, das ich nicht ganz auf dem Holzweg bin...
Quote
Du baust die Aufrufe direkt in das "Monkey-Script" ein. Die Stelle an der das passiert drängt sich auch geradezu auf, nämlich dort, wo Du die GET-Parameter auswertest.
Also so :
Code:
<FORM action="arduino_send($ip, $port, $command)" method="GET">
<p>
LED 1 :
<input type="radio" name="led1" value="0" <?php if($led1==0) echo "checked" ?> >
aus -
<input type="radio" name="led1" value="1" <?php if($led1==1) echo "checked" ?> >
an
<br>
<INPUT type="submit" name="senden" value="senden">
</FORM>
Mein gesamt-Code sieht jetzt so aus, ungetestet, weil ja noch ohne Arduino:
Code:
<html>
<head>
</head>
<body><h1>Arduino - Testseite</h1>
<?php
if(isset($_POST['led1']))  $led1 $_POST['led1'];
if(isset(
$_POST['led2']))  $led2 $_POST['led2'];
if(isset(
$_POST['led3']))  $led3 $_POST['led3'];

$ip "192.168.178.216";
$port "80";
$led1 "'S'.chr(3).chr(1)";
$command "$led1";

function 
arduino_send($ip,$port,$command) {
    
$res fsockopen($ip,$port);
    if(
$res) {
        
fwrite($res,$command);
        return 
fread($res,1);
    } else {
        echo 
"Fehler, Kommando konnte nicht abgesetzt werden";
    }
}
?>

<FORM action="arduino_send($ip, $port, $command)" method="GET">
<p>
LED 1 :
<input type="radio" name="led1" value="0" <?php if($led1==0) echo "checked" ?> >
aus -
<input type="radio" name="led1" value="1" <?php if($led1==1) echo "checked" ?> >
an
<br>
LED 2 :
<input type="radio" name="led2" value="0" <?php if($led2==0) echo "checked" ?> >
aus - 
<input type="radio" name="led2" value="1" <?php if($led2==1) echo "checked" ?> >
an<br>
LED 3 :
<input type="radio" name="led3" value="0" <?php if($led3==0) echo "checked" ?> >
aus - 
<input type="radio" name="led3" value="1" <?php if($led3==1) echo "checked" ?> >
an<br>
<INPUT type="submit" name="senden" value="senden">
</FORM>
</body>
</html>

DANKE !!! Für deine Hilfe und Mühe  smiley
232  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: April 29, 2012, 02:01:15 pm
Hallo,
ich glaube ich habe dich jetzt verstanden. Es wird jetzt nach dem klick auf den Abschick-Button, angezeigt was Ausgewählt wurde.
Hier der Code:
Code:
<html>
<head>
</head>
<body><h1>Arduino - Monkey Script</h1>
<?php
if(isset($_POST['led1']))  $led1 $_POST['led1'];
if(isset(
$_POST['led2']))  $led2 $_POST['led2'];
if(isset(
$_POST['led3']))  $led3 $_POST['led3'];
?>

<form method="POST" action="<?php echo $PHP_SELF ?>">
  <p>
    LED 1 : <input type="radio" name="led1" value="0" <?php if($led1==0) echo "checked" ?> >aus -  <input type="radio" name="led1" value="1" <?php if($led1==1) echo "checked" ?> >an<br>
    LED 2 : <input type="radio" name="led2" value="0" <?php if($led2==0) echo "checked" ?> >aus -  <input type="radio" name="led2" value="1" <?php if($led2==1) echo "checked" ?> >an<br>
    LED 3 : <input type="radio" name="led3" value="0" <?php if($led3==0) echo "checked" ?> >aus -  <input type="radio" name="led3" value="1" <?php if($led3==1) echo "checked" ?> >an<br>
  </p>
  <input type="submit" name="submit" value="Abschicken">
</form>
</body>
</html>
Wie gehts jetzt weiter ? Wie übermittel ich jetzt die Formular eingaben an den Arduino ?
Ich greife nochmal deinen Vorschlag auf und packe das in eine Datei Namens "senden.php":
Code:
<?php
$arduino_ip
="192.168.178.216";
$arduino_port="8088";

function 
arduino_send($ip,$port,$command) {
    
$res fsockopen($ip,$port);
    if(
$res) {
        
fwrite($res,$command);
        return 
fread($res,1);
    } else {
        echo 
"Fehler, Kommando konnte nicht abgesetzt werden";
    }
}
?>
Öffne ich den dann von deinem Monkey-Script aus ?
Code:
<form method="POST" action="senden.php">
Und/Aber wo kommet denn der Command Aufruf hin ?
Code:
arduino_send(192.168.178.216,8088,'S'.chr(3).chr(1));
Der ja sagt, schalte Ausgang 3 EIN.

Ich glaube ja , ich denke immer noch zu kompliziert.
Aber das Monkey-Script beispiel habe ich jetzt verstanden.
Manchmal sieht man den Wald vor lauter Bäumen nicht  smiley-roll
233  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: April 27, 2012, 04:35:18 pm
Hallo Mario,
vielen Dank,
Alles gelöscht und vergessen, werde jetzt mal von vorn anfangen...
Aber ich scheitere schon bei der ersten Aufgabe...  smiley-cry
Ich glaube es ist schon zu spät und der Kopf zu voll   smiley-red
Oder ich bin einfach zu blöd, das zuverstehen.
Quote
Ok, ich versuche es nocheinmal schrittweise zu erklären.
Versuche evtl. erstmal Dich von der "Gesamtvorstellung" zu lösen und vergiss erstmal den Arduino. Vielleicht wird es dann einfacher.

1) Du willst eine Webseite bauen, mit der Du einer oder mehrere Variablen einen Zustand vorgeben willst. Sagen wir z.B. mal, Du hast die Variablen $led1, $led2, $led3. Jede dieser Variablen kann den Zustand 1 oder 0 annehmen. Das ganze wird zunächst in einem HTML-Formular umgesetzt:
Code:

<form action="">
  <p>
    <input type="radio" name="led1" value="0" <?php if($led1==0) echo "checked" ?> >aus -  <input type="radio" name="led1" value="1" <?php if($led1==1) echo "checked" ?> >an<br>
    <input type="radio" name="led2" value="0" <?php if($led2==0) echo "checked" ?> >aus -  <input type="radio" name="led2" value="1" <?php if($led2==1) echo "checked" ?> >an<br>
    <input type="radio" name="led3" value="0" <?php if($led3==0) echo "checked" ?> >aus -  <input type="radio" name="led3" value="1" <?php if($led3==1) echo "checked" ?> >an<br>
  </p>
  <input type="submit" name="submit" value="Abschicken">
</form>

Der PHP-Code " <?php if($led1==0) echo "checked" ?>" sorgt dafür, das abhängig vom jeweiligen Wert der Variable der entsprechende Radio-Button ausgewählt ist.
Du musst nun noch den Code für das Auswerten des Formulars drum herum bauen. Versuch erstmal soweit zu kommen, das Du beim Abschicken des Formulars danach die entsprechenden Buttons wieder korrekt ausgwählt angezeigt bekommst. Sich die Webseite sozusagen den Zustand merkt. Das sollte nicht weiter schwierig sein.
Verstehe ich nicht .. Wenn ich deinen Code in eine HTML-Seite einbaue und dann den submit button drücke, merk er sich doch den zustand, oder verstehe ich mal wieder Bahnhof ??
Ok, ich gehe jetzt mal schlafen und versuche morgen mal mit einem leeren/freien Kopf an die Sache ranzugehen...  smiley-sleep

Dir eine ruhige Nacht und nochmal vielen Dank...

234  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: April 27, 2012, 02:55:30 pm
Moin,
so nach stundenlangen rumprobieren und nicht verstehen, gebe ich auf  smiley-cry
Ich verstehe es irgendwie nicht. Also, ich habe jetzt mal alles was ich vorher gepostet habe, weggelassen nd ganz Neu angefangen. Mit einer PHP Seite, mit deinem Code:
Code:
<?php
$arduino_ip
="192.168.178.216";
$arduino_port="8088";

function 
arduino_send($ip,$port,$command) {
    
$res fsockopen($ip,$port);
    if(
$res) {
        
fwrite($res,$command);
        return 
fread($res,1);
    } else {
        echo 
"Fehler, Kommando konnte nicht abgesetzt werden";
    }
}
?>
Was mir auffällt, bei dem Befehl "$command" wird nirgends gesagt was der machen soll, oder verstehe ich das falsch ?
Ich würde folgende noch eintragen: $command = "'S'.chr(3).chr(1)";

Und was ich nicht verstehe, wie ich deinen Befehl-Vorschlag aufrufen soll ?
Quote
Aufgerufen wird die z.B. mit
Code:
arduino_send(192.168.178.216,8088,'S'.chr(3).chr(1));
Soll das als HTML-Link dienen? (<a href="arduino_send(192.168.178.216,8088,'S'.chr(3).chr(1));">LINK</a>)

Mein Sketch sieht so aus (vermutlich auch falsch  smiley-red ) :
Code:
#include <SPI.h>
#include <Ethernet.h>

// Ethernet einrichten
byte mac[] = {  0x90, 0xA2, 0xDA, 0x00, 0xEE, 0xF3 }; // Mac-Adresse Arduino Ethernet
byte ip[] = {192,168,178,216}; // IP-Adresse Arduino Ethernet
byte port[] = {8088};
EthernetClient client;  // Initialisierung der Ethernet client library

int Pin3 = 3;
char input[3];

void setup()
{
  Serial.begin(9600);
  pinMode(Pin3, OUTPUT);
  Serial.println("verbinde...");
  Ethernet.begin(mac, ip, port);
}

void loop()
{
 for(int i=0;i<3;i++) {
    input[i] = client.read();   
}

//pin setzen
if(input[0] == 'S') {
   digitalWrite(input[1],input[2]);
}
//pin lesen und an den Client schicken
if(input[0] == 'R') {
   client.print(digitalRead(input[1]));
}
}

Ich habe das Gefühl, ich habe den Fadeb verloren...
Sorry, aber irgendwann merkt man halt, das man Anfänger ist   smiley-sad-blue
235  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP/HTML on: April 27, 2012, 06:28:25 am
So da bin ich wieder...
Leider nicht so erfolgreich wie ich dachte  smiley-sad
Der Beispiel-Code der Webseite sieht jetzt so aus :
Code:
<html>
 <head>
  <title>Ventile schalten</title>
 </head>
 <body>
<table border="1">
  <tbody>
    <tr>
      <td>V_1</td>
      <td>V_2</td>
    </tr>
    <tr>
      <td><form action="test1.php" method="post" target="_self">
          <select name="Zeit_V1[]">
    <option value="15">15 min</option>
    <option value="30">30 min</option>
    <option value="60">60 min</option>
    </select>
    <input type="submit" name="senden" maxlength="10" value="Starten">
  <input type="reset" name="stop" value="Stop" align="middle">
    </form>
     </td>
      <td><form action="test1.php" method="post">
          <select name="Zeit_V2[]">
    <option value="15">15 min</option>
  <option value="30">30 min</option>
  <option value="60">60 min</option>
  </select>
  <input type="submit" name="senden" maxlength="10" value="Starten">
  <input type="reset" name="stop" value="Stop" maxlength="10" align="middle">
  </form>
     </td>
    </tr>
    <tr>
      <td><?php
$auswahl1 
$_POST['Zeit_V1'];
for(
$i=0;$i<count($auswahl1);$i++)
{
 echo 
$auswahl1[$i] . '&nbsp;min wurden gestartet';
}
if (!
$auswahl1) {
echo 
"Ventil zu";
}
?>
</td>
      <td>
<?php
$auswahl2 
$_POST['Zeit_V2'];
for(
$i=0;$i<count($auswahl2);$i++)
{
 echo 
$auswahl2[$i] . '&nbsp;min wurden gestartet';
}
if (!
$auswahl2) {
echo 
"Ventil zu";
}
?>

</td>
    </tr>
  </tbody>
</table>
</body>
</html>
Aber weiter weiß ich jetzt auch nicht...
Ich steh-gerade-wie-ein-Ochs-vorm-Berg, wie soll ich weiter machen?  smiley-red
 
Quote
Du kannst z.B. mit PHP eine TCP-Verbindung zum Arduino aufbauen und schickst erstmal nur ein Zeichen
'S' -> (SET) setze wert
'R' -> (READ) lese wert
Ich versteh gerade nicht ganz wo ich das reinsetzten soll...
Bitte Mario, kannst du mir nochmal weiter Helfen...  smiley-red
236  International / Deutsch / Re: Brauche Hilfe: Ausgang per Web schalten mit PHP on: April 24, 2012, 01:14:43 pm
Moin Moin,
ok, dann lege ich mal los (habe gerade irgendwie zwei sachen gleichzeitig, am machen...grrr)
Dane für deine schnelle Antwort und die Tips, setzte mich erstmal hin und zaubere eine PHP-Site.
Quote
Die Lösung ist zwar für den Anfang komplexer, als nur der Arduino zu nehmen, dafür aber deutlich flexibler.
Genau was ich brauche, Komplex aber super flexibel   smiley-grin
Versuche dann mal deine Tips und Ratschläge umzusetzten, so macht das richtig Spaß und man lernt...

Achso, hintergrund des ganzen ist, ich habe ein 8fach Relais von Sainsmart, womit ich meine Bewässerungsventile (24V) steuern möchte. UNd das ganze natürlich von ÜBERALL  smiley-mr-green

Coole, wäre dann natürlich noch eine Zeitspanne die man festlegen kann, wie lange ein Ventil geöffnet sein soll. Aber erstmal eins nach dem anderen....

Bin dann mal im dunklen kämmerlein.......  smiley-cool
237  International / Deutsch / Ausgang per Web schalten mit PHP on: April 24, 2012, 06:41:15 am
Hallo,
allerseits, ich versuche mich gerade daran, den Digitalen Pin3 per Webseite An bzw. Aus zuschalten.

Arduino Ethernet -->Webserver -->PHP-Seite mit Button AN und AUS

Mein Problem ist, mal wieder der Anfang, einen Sketch habe ich schon angefangen, aber ob er funktioniert weiß ich nicht, weil ich nicht weiß wie die PHP Seite aus sehen muss  smiley-red
Ich dachte da an GET oder so,aber mehr weiß ich auch nicht..
Mein Sketch bisher sieht so aus:
Code:
/*
  Webclient
  Es soll mittels einer PHP-Seite, die auf einem Webserver liegt,
  ein oder mehrere Ausgänge AN/AUS geschaltet werden.
*/

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

// Ethernet einrichten
byte mac[] = {  0x90, 0xA2, 0xDA, 0x00, 0xEE, 0xF3 }; // Mac-Adresse Arduino Ethernet
byte ip[] = {192,168,178,230}; // IP-Adresse Arduino Ethernet
byte gateway[] = {192,168,178,1}; // Gateway
byte subnet[] = {255,255,255,0};
IPAddress server(192,168,178,111); // IP-Adresse Server
char host[] = "192.168.178.111\n"; // Host Name oder IP-Adresse

EthernetClient client;  // Initialisierung der Ethernet client library

char url[]  = "/arduino/ausgang.php"; // Pfad zur PHP-Datei eingeben
char c;
int Pin3 = 3;

String readString = String(100);

boolean Pin3ON = false;

void setup()
{
  Serial.begin(9600);
  pinMode(Pin3, OUTPUT);
  Serial.println("verbinde...");
  Ethernet.begin(mac, ip, gateway, subnet);
}

void loop()
{
  if (client.connect(server, 8000)) // Serverport bei mir 8000 bei bedarf ändern
  {
    char c = client.read();
    Serial.print(c);
  }
  
  if (readString.length() < 100)
 {
  readString = readString + c;
 }
Serial.print(c);  //output chars to serial port
        if (c == '\n') {
if(readString.indexOf("3=einschalten") > -1) {
   digitalWrite(Pin3, HIGH);
    Serial.println("Pin 3 eingeschaltet!");
     Pin3ON = true;
}
if(readString.indexOf("3=ausschalten") > -1){
   digitalWrite(Pin3, LOW);
    Serial.println("Pin 3 ausgeschaltet!");
     Pin3ON = false;
}
}
 //clearing string for next read
 readString="";
 
 client.stop();
 client.flush();
}


Kann mir jemand Helfen ?
238  International / Deutsch / Re: [gelöst] Temperatur Logger, mit DS18B20 on: April 24, 2012, 04:58:54 am
Hallo Mario,
oh ok, werde ich mir mal alles anschauen.
Ich denke aber, das ich da vieleicht nochmal deine Hilfe in anspruch nehemen muss...  smiley-roll

239  International / Deutsch / Re: [gelöst] Temperatur Logger, mit DS18B20 on: April 22, 2012, 06:23:20 am
Hallo,
so habe mal versucht den Sketch zu Kommentieren,
ich hoffe das ist OK so und verständlich.  smiley

Die Idee war folgende:
DS18B20 --> Arduino Ethernet -->LAN-Kabel --> WebServer

Soll heißen, der Arduino misst die Temperatur und schickt sie zum Webserver,
der speichert die Temperatur mittels PHP-Script in einer Text-Datei (z.b. Log.txt) ab.
Und kann dann weiter verarbeitet werden, z.b. für Visuelle Dartsellungen usw.

Ich möchte an dieser stelle nochmal ein Dankeschön sagen, für die tolle Unterstützung hier im Forum !

Hier der Sketch:
http://www.file-upload.net/download-4292336/Temperatur_WebClient.ino.html
240  International / Deutsch / Re: Temperatur Logger, mit DS18B20... Brauche Hilfe bitte... on: April 21, 2012, 08:37:27 am
Hallo Mario,
erstmal VIELEN DANK für die tolle Hilfe!!! smiley-grin
Es funktioniert !!!  smiley-lol

Der Arduino sende die Temperatur an meine Diskstaion und die speichert die Temperatur mit dem Datum und Uhrzeit. Klasse. Jetzt mache ich noch ein bischen feintuning...  smiley-wink

Ich werde den Sketch noch Kommentieren und dann hier Posten.
Bei bedarf kann ich den auch jetzt schon Posten...

Also, vielen Dank an Mario aka mkl0815 und thewknd.
Pages: 1 ... 14 15 [16] 17 18 19