Witam, chciałbym się zapytać gdzie, może być tutaj błąd, ponieważ wywołując metodę na rzecz string metoda zawsze zwraca -1.
A dany argument znajduje się w łańcuchu.
Może jest jakaś inna metoda na znalezienie danego słowa w łańcuchy ?
#include <SoftwareSerial.h>
const byte rxPin = 2;
const byte txPin = 3;
SoftwareSerial esp8266 (rxPin, txPin);
bool sendC(char* cmd,char* rep){
while(esp8266.available()>0 && esp8266.read()>-1){}
int i=0;
while(true){
esp8266.print(cmd);
if(esp8266.available() && esp8266.find(rep)){
Serial.print(i);
Serial.println(cmd);
return true;
}
i+=1;
}
}
void setup() {
Serial.begin(115200);
esp8266.begin(115200);
if(sendC("AT+RST\r\n","ready") && sendC("AT+CWMODE=1\r\n","OK") && sendC("AT+CIPMUX=1\r\n","OK") && sendC("AT+CIPSERVER=1,80\r\n","OK")){
Serial.println("SERVER START");
}
}
void loop() {
if(esp8266.available()){
String s = String(char(esp8266.read()));
if(s.indexOf("HTTP") != -1){
Serial.println("FOUND CONNECT");
}
Serial.print(s);
}
}
A to jest wynik, jaki dostaje na ekran po wgraniu kodu na płytkę.
2682AT+RST
31AT+CWMODE=1
207AT+CIPMUX=1
0AT+CIPSERVER=1,80
SERVER START
0,CONNECT
+IPD,0,430;GET / HTTP/1.1
Host: 00.186.213.100
Coneel6e5i9.
e0,CLOSED
0,CONNECT
+IPD,0.430:GET / HTTP/1.1
Host: 10.186.213.110
Cone-z6G3oatnn1,COONECT
+IPD,1,430:GET / HTTP/1.1
Host: 10.186/213.110
C⸮˫⸮
Iix 5n/na00,CLOSED
0,CONNECT
+IPD,0,430:GET / HTTP/1.1
Host: 10.186.213/110
ConacaAotwtn,1,CLOSED
0,CLOSED