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
Status einer if / else Verknüpfung per client.print ausgeben
18.08.2015, 20:48
Beitrag #1
Status einer if / else Verknüpfung per client.print ausgeben
Hi,

bräuchte mal kurz Hilfe, damit meine Taupunktsteuerung mal endlich fertig wird.

Habe eine if / else Verknüpfung

if a<b

digital write HIGH

else if a>b

digital write LOW


Dies schaltet einen Lüfter an oder aus. Möchte den Status dann auch als "an" oder "aus" über ethernet ausgeben.
Wie kann ich diesen Status per client.print anzeigen lassen, also das dort steht "an" oder "aus"

Die Temperaturen und Feuchtigkeit bekomme ich alle schon wie gewünscht angezeigt. Funktioniert das mit einem string Befehl? Also z.b:

a<b string FanStatus = an
else
a>b string FanStatus = aus ?

Habe es leider nicht geschafft, dass er keine Fehler anzeigt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.08.2015, 21:45
Beitrag #2
RE: Status einer if / else Verknüpfung per client.print ausgeben
Ich habe bisher noch kein Ethernet-Shield in Betrieb genommen, aber ich vermute, dass es so funktioniert:

if (a<b){

digitalwrite(Ausgang, HIGH);
Client.print("Fanstatus an");
}
else if (a>b)
{
digitalwrite(Ausgang, LOW);
Client.print("Fanstatus aus");
}

Achtung der Code ist nicht getestet, müsste es aber tun. Wink
Du findest aber viele Beispiele in Google!

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.08.2015, 22:19
Beitrag #3
RE: Status einer if / else Verknüpfung per client.print ausgeben
So dürfte das nicht funktionieren.
Der Status muss ja an einer bestimmten Stelle im html Code stehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.08.2015, 22:23
Beitrag #4
RE: Status einer if / else Verknüpfung per client.print ausgeben
Das ging aus deiner Frage nicht hervor. Du hast explizit von einem String geschrieben, den habe ich dir geliefert.

Dann musst du den entsprechenden Code als Variable nehmen und diese übertragen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2015, 06:03
Beitrag #5
RE: Status einer if / else Verknüpfung per client.print ausgeben
Es wäre eh geschickt Strings via PROGMEM auszulagern um RAM zu sparen.
PROGMEM link

Hier ein kleines Beispiel wie ich das gelöst habe. Hier wird via HTLM (der Code steht dann in den Strings) die Variable Datalog als AN oder AUS rausgeschieben . Funktioniert bestens.

Code:
strcpy_P(buffer, (char*)pgm_read_word(&(Stringtabelle[14])));      // Datalogging
  myClient.print(buffer);
    if (DataLog == true) {
        strcpy_P(buffer, (char*)pgm_read_word(&(Stringtabelle[18])));   //AN
    }  
    else {
      strcpy_P(buffer, (char*)pgm_read_word(&(Stringtabelle[19])));     //AUS
  }
   myClient.print(buffer);

Wenn du "viel" HTML-code hast, würde ich das schon aus dem RAM nehmen.

BTW.: Deine if / else wird wohl etwas flattern. Denke hier mal über eine Schalthysterese nach.

Hope it helps..... Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2015, 08:57
Beitrag #6
RE: Status einer if / else Verknüpfung per client.print ausgeben
@RMR

Werdal versuchen deinen Vorschlag umzusetzen. Bin noch nicht ganz so firm mit dem schreiben des Codes Wink

Die hysterese ist eingeplant. Hatte nur den Code nicht zur Hand und wollte es nur schnell darstellen.

Eventuell stell ich es später mal rein, dann könnte mal einer drüber schauen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.08.2015, 18:10 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2015 19:41 von daruel.)
Beitrag #7
RE: Status einer if / else Verknüpfung per client.print ausgeben
Hier jetzt mal der html Teil vom Code. Am Ende steht dann Lüfter und dahinter soll halt an / aus



Code:
/ listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
  
   //Werte der Sensore ausgeben
  
            client.println("<H2>");
            client.print("Feuchtigkeit innen: ");
            client.println("</H2>");
            client.println("<p />");
            client.println("<H1>");
            client.print(hi);
            client.print(" %\t");
            client.println("</H1>");
            client.println("<p />");
            client.println("<H2>");
            client.print("Temperatur innen:   ");
            client.println("</H2>");
            client.println("<H1>");
            client.print(ti);
            client.println(" °");
            client.println("C");
            client.println("</H1>");
            client.println("<H2>");
            client.print("Taupunkt innen: ");
            client.println("</H2>");
            client.println("<p />");
            client.println("<H1>");
            client.print(tau_i);
            client.print(" °");
            client.print("C");
            client.println("<H2>");
            client.print("Feuchtigkeit aussen: ");
            client.println("</H2>");
            client.println("<p />");
            client.println("<H1>");
            client.print(ho);
            client.print(" %\t");
            client.println("</H1>");
            client.println("<p />");
            client.println("<H2>");
            client.print("Temperatur aussen:   ");
            client.println("</H2>");
            client.println("<H1>");
            client.print(to);
            client.println(" °");
            client.println("C");
            client.println("</H1>");
            client.println("<H2>");
            client.print("Taupunkt aussen: ");
            client.println("</H2>");
            client.println("<p />");
            client.println("<H1>");
            client.print(tau_o);
            client.print(" °");
            client.println("C");  
            client.println("</H1>");
            client.println("<H2>");
            client.print("Luefter: ");
            client.println("</H2>");
            client.println("<p />");
            client.println("<H1>");


Wie muss ich das dann bei dem if / else integrieren?

Code:
if (tau_i < tau_o)
{
digitalWrite (FAN1, LOW);
digitalWrite (FAN2, LOW);
//-----Aus ------        
}
else if (tau_o < tau_i)
{
  digitalWrite (FAN1, HIGH);
  digitalWrite (FAN2, HIGH);
//------AN------  
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.08.2015, 06:03 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2015 06:04 von RMR.)
Beitrag #8
RE: Status einer if / else Verknüpfung per client.print ausgeben
if
{
mach was ;
}
else
{
machs besser nicht ;
}

Du solltest dir die Basics in Sachen C anschauen.

Keep on... Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ausschaltverzögerung bei einer PV Heizung Hans_Maulwurf 27 704 29.11.2016 23:38
Letzter Beitrag: georg01
  Speicher sparen bei serial.print?? DL1AKP 3 192 02.09.2016 13:32
Letzter Beitrag: hotsystems
Question Webserver, Client, Loop Marc2014 6 363 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Innenwiderstand einer Batterie (Rundzelle 1,5V) Einsteiger94 2 204 24.07.2016 11:42
Letzter Beitrag: SkobyMobil
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 526 23.04.2016 10:26
Letzter Beitrag: rkuehle
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 310 09.04.2016 17:56
Letzter Beitrag: Voreifel
  Problem: SDFat - Das Ende einer Datei finden und Schleife beenden MartinK 4 486 01.04.2016 05:49
Letzter Beitrag: MartinK
  Problem: RFID code mit Inhalt einer Textdatei auf einer SD Karte vergleichen MartinK 6 505 29.03.2016 16:45
Letzter Beitrag: MartinK
  Inhalt einer Variable mit per Virtual Wire versenden toto1975 17 1.760 26.03.2016 18:57
Letzter Beitrag: hotsystems
  ISP.Print Erbsenhirn 5 420 06.03.2016 20:11
Letzter Beitrag: hotsystems

Gehe zu:


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