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
Pumpensteuerung über WLAN
03.12.2020, 21:15
Beitrag #17
RE: Pumpensteuerung über WLAN
Funktioniert tatsächlich.
Danke Tommy

Das wars für heute. Mal sehn was mir über Nacht noch einfällt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.12.2020, 21:17
Beitrag #18
RE: Pumpensteuerung über WLAN
Prima, das wird doch.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 10:49
Beitrag #19
RE: Pumpensteuerung über WLAN
Guten Morgen,
so nun bin ich am 2. ESP
Er soll den den Wert empfangen was er auch tut.

Code:
int n = Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
    packetBuffer[n] = 0;
    Serial.print("Inhalt: ");
    Serial.println(packetBuffer);

Nun ist das aber es ist ja ein String(denke ich) und ich brauch ein Float.

Ich hab jetzt
Code:
myString.toFloat()
gefunden und das funktioniert aber nicht.
Was mache ich falsch wäre wäre es richtig?

Grüße Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 12:01
Beitrag #20
RE: Pumpensteuerung über WLAN
Das kann man aus dem Fragment nicht mit Sicherheit sagen. Ich vermute mal, Du wirfst String und char-Array durcheinander und suchst evtl. atof.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 19:27
Beitrag #21
RE: Pumpensteuerung über WLAN
(05.12.2020 12:01)Tommy56 schrieb:  Das kann man aus dem Fragment nicht mit Sicherheit sagen. Ich vermute mal, Du wirfst String und char-Array durcheinander und suchst evtl. atof.

Gruß Tommy

Hier mal der ganze Absatz
Code:
int packetSize = Udp.parsePacket();
  if (packetSize)
  {
    /*Serial.printf("Received packet of size %d from %s:%d\n    (to %s:%d, free heap = %d B)\n",
                  packetSize,
                  Udp.remoteIP().toString().c_str(), Udp.remotePort(),
                  Udp.destinationIP().toString().c_str(), Udp.localPort(),
                 ESP.getFreeHeap());
   */
    // read the packet into packetBufffer
    int n = Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
    Serial.print("Inhalt: ");
    Serial.println(packetBuffer);
    
    
              Serial.print ("Temperatur Solarspeicher        = " + String(packetBuffer));
              Serial.println("°C");

              delta = t1000 - t180;
              Serial.println ("-----------------------------------------");
              Serial.print ("Temperaturdifferenz             = " + String(delta));
              Serial.println("°C");
              Serial.println ("-----------------------------------------");
              if ((delta) >= obererSchwellwert)
              {
                    digitalWrite(Pumpe, 1);
                    Serial.println ("Pumpe ein");
                    zustand=1;  
              }
              else
              {
                    if ((delta) <= untererSchwellwert)
                    {
                          digitalWrite(Pumpe, 0);
                          Serial.println ("Pumpe aus");
                          zustand=0;  
                    }
              }

    // send a reply, to the IP address and port that sent us the packet we received
    //Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
  }
  String Werte = String(t180)+"|"+String(t1000)+"|"+String(zustand);
    Udp.beginPacket(remoteIP22, port22);
    Udp.write(Werte.c_str());
    Udp.endPacket();

packetBuffer muss zu t1000 in float umgewandelt werden
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 19:45
Beitrag #22
RE: Pumpensteuerung über WLAN
Auch wenn Du weiterhin die Deklaration von packetBuffer versteckst, weiß ich aus den Quellen des ESP8266-core, dass dieser ein char-Array ist und kein String.

Lerne Beides strikt zu unterscheiden und dazu gehört etwas Grundlagenmwissen, dass Dir fehlt. Zur Arbeit mit Zeichenketten habe ich mal ein Tutorial geschrieben. Das solltest Du Dir anschauen.
Ich hatte Dir ja schon geschrieben, dass atof Dein Freund ist.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 20:40
Beitrag #23
RE: Pumpensteuerung über WLAN
(05.12.2020 19:45)Tommy56 schrieb:  Auch wenn Du weiterhin die Deklaration von packetBuffer versteckst, weiß ich aus den Quellen des ESP8266-core, dass dieser ein char-Array ist und kein String.

Lerne Beides strikt zu unterscheiden und dazu gehört etwas Grundlagenmwissen, dass Dir fehlt. Zur Arbeit mit Zeichenketten habe ich mal ein Tutorial geschrieben. Das solltest Du Dir anschauen.
Ich hatte Dir ja schon geschrieben, dass atof Dein Freund ist.

Gruß Tommy
Die fehlte die Deklarierung?
Code:
// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE + 1];  // buffer to hold incoming packet,
char  ReplyBuffer[] = "acknowledged\r\n";       // a string to send back

atof scheint es auch in verschiedenen Versionen zu geben
ich brobiere gerade mit
Code:
String s = packetBuffer;
    Serial.println(s);
    float v = atof( s.toCharArray() );
Aber dann kommt die Fehlemeldung
exit status 1
no matching function for call to 'String::toCharArray()'

und schon wieder steht da String
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.12.2020, 21:00
Beitrag #24
RE: Pumpensteuerung über WLAN
Lass doch einfach das Geraffel mit String weg und lies das, was ich Dir verlinkt habe.
Langsam macht das mit Dir keinen Spaß mehr. Früher im Usenet haben wir "merkbefreit" zu solchen Teilnehmern gesagt.

Wenn Du den Puffer mit '\0'abgeschlossen hast (das hattest Du in einem Code drin):
Code:
float f = atof(packetBuffer);

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Programm für WLAN Relais-Steuerung DO3GE 3 554 22.06.2021 09:13
Letzter Beitrag: hotsystems
  ESP8266 NodeMCU aus verbundenem WLan löschen Faultier_1982 21 2.555 13.05.2021 08:03
Letzter Beitrag: Faultier_1982
  Relay über NFC und Wifi schalten, bitte um Hilfe bei der Programmierung Tirol-Daniel 28 2.587 17.04.2021 13:31
Letzter Beitrag: Tommy56
  Erfahrungen mit ESP32 und WLAN/MQTT oder was ich beobachtet habe... Arduino4Fun 23 5.535 09.04.2021 16:15
Letzter Beitrag: amshh
  Abgespeckter Sketch für ESP8266 -WLAN Anbindung / Anfänger mizieg 7 1.183 26.02.2021 17:45
Letzter Beitrag: N1d45
  ESP32 über OTA luemar 67 7.296 23.02.2021 22:55
Letzter Beitrag: hotsystems
  D1 Mini - WLAN bei Frost nicht möglich? KlaRa 45 4.513 10.02.2021 11:24
Letzter Beitrag: hotsystems
  WLAN Zugangsdaten von SD-Karte lesen basementmedia 12 1.535 02.01.2021 11:43
Letzter Beitrag: basementmedia
  Nano ESP8266 Prezelboard WLAN Problem DanielK 22 3.280 03.12.2020 18:28
Letzter Beitrag: DanielK
  ESP8266-01 verbindet sich nicht mit dem WLAN Kopernikus 1 902 02.12.2020 20:02
Letzter Beitrag: Tommy56

Gehe zu:


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