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
http://capsicum-felicitas.de.tl
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
http://capsicum-felicitas.de.tl
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
http://capsicum-felicitas.de.tl
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 ESP12-E Webserver-Frage Claus_M 8 261 14.11.2016 22:02
Letzter Beitrag: Claus_M
  Kommunikation über das WiFi-Shield Flap 3 234 07.11.2016 20:20
Letzter Beitrag: hotsystems
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 298 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 128 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  ESP8266 Server connect sowerum 1 170 21.10.2016 19:10
Letzter Beitrag: sowerum
  Ausgabe auf WIFI Console vom UNO WIFI MZ-Lurre 0 92 17.10.2016 11:33
Letzter Beitrag: MZ-Lurre
  HC 05 BT Modul Lolliball 1 138 16.10.2016 09:43
Letzter Beitrag: Lolliball
  Ethernet Modul Enc28j60 Pin13 LED Schalten BennIY 16 512 27.09.2016 20:30
Letzter Beitrag: BennIY
  ESP8266 tuts nicht sowerum 7 396 19.09.2016 21:01
Letzter Beitrag: sowerum
  ESP8266 Webserver Programmieren HDT 11 774 23.08.2016 13:28
Letzter Beitrag: HDT

Gehe zu:


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