Go Down

Topic: Web client mit Taster und LED (Read 17273 times) previous topic - next topic

skorpi080

Hier mal ein bildchen


Code: [Select]
void Daten_senden(boolean T1, boolean T2)
{
  if (client.connect(server, 2110)) // Verbindung zum Server aufbauen
  {
    Serial.println("Verbunden, Sende Daten...");
    client.print("swebtaster=an");
    client.println();
  }
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Haustechno

so vom Handy schnell,

also super sieht doch gut aus :D

mit dem klick auf das auge kanntat du die visualisierung öffnen da hast du dann die 4 taster sichtbar.
mit "gwebtaster" kanntst du nun den zustand auch abfragen :smiley-mr-green:

meld mich morgen weiter...

skorpi080

Für Homeputer CL Studio muss man wohl erst registrieren, hat mit dem Zahnrad Button nicht geklappt
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Haustechno

Morgen,
ok hier der link zum komplettem Paket :D
Homeputer.rar

ich hoffe das geht mit dem runterladen....

Also das senden geht nun,auch wenn immer nur an gesendet wird,aber es geht

skorpi080

Teste dies mal:

Code: [Select]
#include "ClickButton.h"
#include <SPI.h>
#include <Ethernet.h> 
//ETHERNET-SETTINGS
byte mac[]     = { 0x5D, 0xA2, 0xFA, 0x2D, 0x36, 0x7C };    // MAC-Adresse des Arduino
byte ip[]      = { 192, 168, 178, 178 };                     // IP-Adresse des Arduino
byte gateway[] = { 192, 168, 178, 1 };                    // Gateway
byte subnet[]  = { 255, 255, 255, 0 };                    // SubNet
byte server[]  = { 192, 168, 178, 2 };                     // IP-Adresse des Servers
EthernetClient client;
char host[]    = "192, 168, 178, 2 ";                      // Domain
                                                    // Variable für Rückgabe des Servers


// the LED
const int ledPin8 = 8;
const int ledPin9 = 9;


int ledState1 = 0;
int ledState2 = 0;
int ledState3 = 0;
int ledState4 = 0;


// the Button
const int buttonPin1 = 5;
ClickButton button1(buttonPin1, LOW, CLICKBTN_PULLUP);

const int buttonPin2 = 2;
ClickButton button2(buttonPin2, LOW, CLICKBTN_PULLUP);

const int buttonPin3 = 3;
ClickButton button3(buttonPin3, LOW, CLICKBTN_PULLUP);

const int buttonPin4 = 4;
ClickButton button4(buttonPin4, LOW, CLICKBTN_PULLUP);

// Arbitrary LED function
int LEDfunction = 0;


void setup()
{
  Serial.begin(9600);
  Serial.println("Ethernet initialisieren..."); 
  Ethernet.begin(mac, ip);
 
  pinMode(ledPin8,OUTPUT); 
  pinMode(ledPin9,OUTPUT); 


  // Setup button timers (all in milliseconds / ms)
  // (These are default if not set, but changeable for convenience)
  button1.debounceTime   = 20;   // Debounce timer in ms
   button2.debounceTime   = 20;   // Debounce timer in ms
    button3.debounceTime   = 20;   // Debounce timer in ms
     button4.debounceTime   = 20;   // Debounce timer in ms

}


void loop()
{
  // Update button state
  button1.Update();
  // Save click codes in LEDfunction, as click codes are reset at next Update()
  if (button1.clicks != 0) LEDfunction = button1.clicks;


  // Simply toggle LED on single clicks
  // (Cant use LEDfunction like the others here,
  //  as it would toggle on and off all the time)
  if(button1.clicks == 1)
  {
    ledState1 = !ledState1;
    if (client.connect(server, 2110)) // Verbindung zum Server aufbauen
        {
          Serial.println("Verbunden, Sende Daten...");
     if(ledState1 == 1) {
     client.print("webtaster1=an");
     Serial.print("webtaster1=an");
     Serial.print(ledState1);
     }
      else {
      client.print("webtaster1=aus");
      Serial.print("webtaster1=aus");
     Serial.print(ledState1); 
      }
     }
     client.stop();
}

if(button2.clicks == 1)
  {
    ledState2 = !ledState2;
   

if(button3.clicks == 1)
  {
    ledState3 = !ledState3;
   


if(button4.clicks == 1)
  {
    ledState4 = !ledState4;
   

}


  // update the LED
  digitalWrite(ledPin8,ledState1);
  digitalWrite(ledPin9,ledState2);


}
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Haustechno

Abend,
also laut serialausgabe sieht es gut aus,sehe auch an den Lan shield leds das es was sendet,aber obwohl Port und Ip korrekt ist kommt am server nichts an :-(

Ich kann leider keinen unterschied zu dem coder der zumindest sendet un der server es bekommt erkennen :|
Code: [Select]
#include <ClickButton.h>
#include <SPI.h>
#include <Ethernet.h>  
//ETHERNET-SETTINGS
byte mac[]     = { 0x5D, 0xA2, 0xFA, 0x2D, 0x36, 0x3C };                    // MAC-Adresse des Arduino
byte ip[]      = { 192, 168, 178, 178 };                                    // IP-Adresse des Arduino
byte gateway[] = { 192, 168, 178, 1 };                                      // Gateway
byte subnet[]  = { 255, 255, 255, 0 };                                      // SubNet
byte server[]  = { 192, 168, 178, 22 };                                     // IP-Adresse des Servers
EthernetClient client;
char host[]    = "192.168.178.22";                                          // Domain
char c;          

const int ledPin = 8;                                                       // LED1 Pin
int ledState = 0;                                                           // Variable led1


const int buttonPin1 = 3;                                                   // Taster1
ClickButton button1(buttonPin1, LOW, CLICKBTN_PULLUP);                      // ButtonPin Pullup aktivieren

int LEDfunction = 0;                                                        // Arbitrary LED function
//===============================SETUP==================================
void setup()
{
delay(100);
 Serial.begin(9600);
 Serial.flush();
 delay(200);
 Serial.println("Ethernet initialisieren...");                             // Debug Serial
 Ethernet.begin(mac, ip);                                                  // Ethernet Initialisieren

 delay(1000);
 pinMode(ledPin,OUTPUT);                                                   // Led Pin als Ausgang deffinieren
 button1.debounceTime   = 0;                                               // Debounce time
}
//===============================LOOP===================================
void loop()
{
 
 button1.Update();                                                         // Update Taster Zustand
 if (button1.clicks != 0) LEDfunction = button1.clicks;                    // speichere tasterklick in LEDfunction
 if(button1.clicks == 1)                                                   // Toggle beim klick
 {
   ledState = !ledState;
   
  Daten_senden1(ledState,ledState);
   //delay(70);

 byte maxReads = 10;                                                       //Seconds
 while ((maxReads-- > 0) && client.connected())                            // Antwort des Servers lesen
 {
   //delay(1000);                                                            // Verzögerung für Empfang
   while (client.available())
   {
     char response = client.read();
     Serial.print(response);
   }
 }
 client.stop();                                                           // Client STOP
 Serial.println("Done.");                                                 // Debug Serial
 client.flush();
}
 digitalWrite(ledPin,ledState);
}
/******************************
                             *
 Daten an Server schickenn   *
                             *
*******************************/
void Daten_senden1(boolean T1, boolean T2)
{
 if (client.connect(server, 54711))                                       // Verbindung zum Server aufbauen
 {
   Serial.println("Verbunden,Sende Daten...");                           // Debug Serial
   client.print("swebtaster2=an");                                        // Inhalt vom Text
   client.println();                                                      // Textsenden
 }
 else
 {
   Serial.println("*VERBINDUNG KANN NICHT HERGESTELLT WERDEN*");        // Debug Serial
 }
}


Wie gesagt hier funktioniert  zwar das mit dem taster und der led nicht so ganz,jedoch das senden an den server geht.


skorpi080

client.println();      


Füge dieses mal hinzu
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Haustechno


Haustechno

#68
Jan 21, 2014, 06:04 pm Last Edit: Jan 21, 2014, 06:16 pm by Haustechno Reason: 1
Code: [Select]
client.print("webtaster1=an");
    [b]client.println();[/b]
    Serial.print("webtaster1=an");
    Serial.print(ledState1);
   
    }
     else {
     client.print("webtaster1=aus");
     [b]client.println();[/b]
     Serial.print("webtaster1=aus");
    Serial.print(ledState1);  
     }


   

prima nungeht es Danke

skorpi080

Es funktioniert auch wenn du das ln anfügst, also so:
client.println("webtaster1=an");

das brauchst du dann nicht mehr:
client.println();
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Haustechno

#70
Jan 21, 2014, 06:45 pm Last Edit: Jan 21, 2014, 06:51 pm by Haustechno Reason: 1
ok
Besten DANK! ;)

EDIT:
siehe Anhang

Go Up