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:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 Wifi modul
31.12.2014, 13:56
Beitrag #9
RE: ESP8266 Wifi modul
Hallo hilgi,
am besten du stellst mal einen kompletten String rein und sagst dazu noch was du von diesem String auslesen möchtest. Da der String ja auf einer Variable liegen wird, wäre es gut wenn die Deklaration der Variable mit bei wäre.

Dann gucken wir mal was wir "zusammenhacken" können und schreiben noch sinnvolle Kommentare dazu Smile

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.01.2015, 18:19
Beitrag #10
RE: ESP8266 Wifi modul
he

habe mich hiermit durch geschlagen Tongue

Code:
#include <SoftwareSerial.h>

SoftwareSerial esp(2,3);

String vergleich = "";

int rhl = 4;
int rhr = 5;
int rvl = 6;
int rvr = 7;

char a = 0;
char b = 0;
char c = 0;
char d = 0;

char count = 0;

void setup()
{
  Serial.begin(9600);
  esp.begin(9600);
  
  pinMode(rhl, OUTPUT);
  pinMode(rhr, OUTPUT);
  pinMode(rvl, OUTPUT);
  pinMode(rvr, OUTPUT);
  
  digitalWrite(rhl, HIGH);
  digitalWrite(rhr, HIGH);
  digitalWrite(rvl, HIGH);
  digitalWrite(rvr, HIGH);
  delay(3000);
  esp.println("AT+CWJAP=\"Fifi\",\"qwertzui\"");
  delay(5000);
  esp.println("AT+CIPMUX=1");
  delay(1000);
  esp.println("AT+CIPSERVER=1,8888");
  delay(500);
}

void loop()
{

  while(esp.available())
  {
    vergleich += (char)esp.read();
  }

if(vergleich!="")
{
  Serial.println(vergleich);
}

if(vergleich.indexOf("vl") > 0)
{
  if(a == 0)
  {
    digitalWrite(rvl, LOW);
    a = 1;
  }
  else
  {
    digitalWrite(rvl, HIGH);
    a = 0;
  }
  }

if(vergleich.indexOf("vr") > 0)
{
  if(b == 0)
  {
    digitalWrite(rvr, LOW);
    b = 1;
  }
  else
  {
    digitalWrite(rvr, HIGH);
    b = 0;
  }
  }

if(vergleich.indexOf("hl") > 0)
{
  if(c == 0)
  {
    digitalWrite(rhl, LOW);
    c = 1;
  }
  else
  {
    digitalWrite(rhl, HIGH);
    c = 0;
  }
  }

if(vergleich.indexOf("hr") > 0)
{
  if(d == 0)
  {
    digitalWrite(rhr, LOW);
    d = 1;
  }
  else
  {
    digitalWrite(rhr, HIGH);
    d = 0;
  }
  }

if(vergleich.indexOf("aan") > 0)
{
  digitalWrite(rhl, LOW);
  digitalWrite(rhr, LOW);
  digitalWrite(rvl, LOW);
  digitalWrite(rvr, LOW);
  a = 1;
  b = 1;
  c = 1;
  d = 1;
}

if(vergleich.indexOf("aaus") > 0)
{
  digitalWrite(rhl, HIGH);
  digitalWrite(rhr, HIGH);
  digitalWrite(rvl, HIGH);
  digitalWrite(rvr, HIGH);
  a = 0;
  b = 0;
  c = 0;
  d = 0;  
}

vergleich = "";
delay(100);
}

ist leider nicht so elegant, vlt kann man das mit case noch professionalisieren? Tongue

is das soweit akzeptabel ? is ja immerhin selbst gemacht und... naja ich würd nich fragen wenn ich wüsste obs so auf dauer laufen wird

greetz

Nicht denken,...
...nachdenken... Rolleyes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.01.2015, 13:32
Beitrag #11
RE: ESP8266 Wifi modul
(04.01.2015 18:19)Hilgi schrieb:  ist leider nicht so elegant, vlt kann man das mit case noch professionalisieren? Tongue
Hi,
naja, so schlecht ists nicht. Mit case kannst Du da nicht viel machen, da case nur mit "primitiven" Datentypen geht, was ein String eben nicht ist.
Das einzige Problem, das ich sehe, ist folgendes: Es kann u.U. passieren, dass während der "while(esp.available())"-Schleife noch nicht alle Daten da sind. Das wird durch das delay am Ende zwar etwas unwahrscheinlich, kann aber passieren.
Am einfachsten dürftest Du das vermeiden können, wenn Du erkennen kannst, dass eine Zeile zu Ende ist. Wahrscheinlich sendet das Modul am Ende ein CHR(10) oder CHR(13).
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.01.2015, 15:21
Beitrag #12
RE: ESP8266 Wifi modul
(05.01.2015 13:32)Thorsten Pferdekämper schrieb:  
(04.01.2015 18:19)Hilgi schrieb:  ist leider nicht so elegant, vlt kann man das mit case noch professionalisieren? Tongue
Hi,
naja, so schlecht ists nicht. Mit case kannst Du da nicht viel machen, da case nur mit "primitiven" Datentypen geht, was ein String eben nicht ist.
Das einzige Problem, das ich sehe, ist folgendes: Es kann u.U. passieren, dass während der "while(esp.available())"-Schleife noch nicht alle Daten da sind. Das wird durch das delay am Ende zwar etwas unwahrscheinlich, kann aber passieren.
Am einfachsten dürftest Du das vermeiden können, wenn Du erkennen kannst, dass eine Zeile zu Ende ist. Wahrscheinlich sendet das Modul am Ende ein CHR(10) oder CHR(13).
Gruß,
Thorsten


hi danke für den tip werde ich mal ausprobieren, soweit gehts ja und ein glück ist es nicht so viel code das packt der arduino ja Tongue

ich hab halt nur das gefühl das geht professioneller Tongue aber so is das als laie ne Smile
danke für die tips

Nicht denken,...
...nachdenken... Rolleyes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.02.2015, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2015 16:30 von Hilgi.)
Beitrag #13
RE: ESP8266 Wifi modul
hi,

liege zz krank im bett und guck mir n paar codes nochmal an, ich hab hier noch ne idee zu und wollte wissen ob das funktioniert...

compilieren tut ers aber ich kanns zz nich aus probieren, is das möglich bzw richtig ?

liebe grüsse
hilgi


Code:
#include <SoftwareSerial.h>

SoftwareSerial esp(2,3);

String vergleich = "";


int rhl = 4;
int rhr = 5;
int rvl = 6;
int rvr = 7;

char a = 0;
char b = 0;
char c = 0;
char d = 0;

char count = 0;

void setup()
{
  Serial.begin(9600);
  esp.begin(9600);
  
  pinMode(rhl, OUTPUT);
  pinMode(rhr, OUTPUT);
  pinMode(rvl, OUTPUT);
  pinMode(rvr, OUTPUT);
  
  digitalWrite(rhl, HIGH);
  digitalWrite(rhr, HIGH);
  digitalWrite(rvl, HIGH);
  digitalWrite(rvr, HIGH);
  delay(3000);
  esp.println("AT+CWJAP=\"Fifi\",\"qwertzui\"");
  delay(5000);
  esp.println("AT+CIPMUX=1");
  delay(1000);
  esp.println("AT+CIPSERVER=1,8888");
  delay(500);
}

void loop()
{

  while(esp.available())
  {
    vergleich += (char)esp.read();
  }

if(vergleich!="")
{
  Serial.println(vergleich);
}

if(vergleich.indexOf("vl") > 0)
{
  Schalter(a, rvl);
}

if(vergleich.indexOf("vr") > 0)
{
  Schalter(b, rvr);
}

if(vergleich.indexOf("hl") > 0)
{
  Schalter(c, rhl);
}

if(vergleich.indexOf("hr") > 0)
{
  Schalter(d, rhr);
}

if(vergleich.indexOf("aan") > 0)
{
  digitalWrite(rhl, LOW);
  digitalWrite(rhr, LOW);
  digitalWrite(rvl, LOW);
  digitalWrite(rvr, LOW);
  a = 1;
  b = 1;
  c = 1;
  d = 1;
}

if(vergleich.indexOf("aaus") > 0)
{
  digitalWrite(rhl, HIGH);
  digitalWrite(rhr, HIGH);
  digitalWrite(rvl, HIGH);
  digitalWrite(rvr, HIGH);
  a = 0;
  b = 0;
  c = 0;
  d = 0;  
}

vergleich = "";
delay(100);
}

void Schalter(int Test, int Pin)
{
  if (Test == 1)
  {
    digitalWrite(Pin, HIGH);
    Test = 0;
  }
    else
  {
    digitalWrite(Pin, LOW);
    Test = 1;
  }
}

Nicht denken,...
...nachdenken... Rolleyes
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Lightbulb Sonoff WiFi Wireless Switch per Webserver vom Tablet oder Smartphone aus schalten Fips 0 119 03.08.2017 12:30
Letzter Beitrag: Fips
  Welche OneWire Library für ESP8266-12E? ardu_arne 7 170 30.07.2017 20:21
Letzter Beitrag: Tommy56
  esp8266 OTA Uploadproblem(chen) ardu_arne 24 402 28.07.2017 22:22
Letzter Beitrag: Tommy56
  Einfacher Webserver Nodemcu Esp8266 Onboard Led (Pin) schalten Fips 0 232 18.07.2017 08:10
Letzter Beitrag: Fips
Lightbulb SPIFFS DOWNLOAD UPLOAD & DELETE Esp8266 NodeMCU Fips 24 768 14.07.2017 07:24
Letzter Beitrag: Fips
  Hardware für und mit ESP8266 Gelegenheitsbastler 0 215 04.07.2017 19:28
Letzter Beitrag: Gelegenheitsbastler
  [Vorstellung] ESP8266 Webserver mit AJAX Tommy56 19 622 03.07.2017 12:09
Letzter Beitrag: Tommy56
  Esp8266 programmieren Sixtus80 21 789 26.06.2017 20:59
Letzter Beitrag: Tommy56
  ESP8266 esp-12e development board & BME280 falsche Werte Lurchi 6 486 09.05.2017 00:54
Letzter Beitrag: Lurchi
Lightbulb ESP8266 ESP-12E & BME280 Lurchi 9 1.356 04.05.2017 11:59
Letzter Beitrag: Tommy56

Gehe zu:


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