encontre un codigo que me pareció interesante, para aprender su funcionamiento y luego aplicarlo a mis proyectos. Tengo un mega 2560 r3, modulo esp8266-01, el codigo lo saque de prometec. y lo unico que he hecho es cambiar el usuario y pass, y he cambiado el los pines de softwareserial por otros ante el no funcionamiento. Tambien ante la duda elimine el String ordenes y los ingrese manualmente, por el purto serio de arduino, luego cargue el sketch, y nada, alguien lo ha intentado con exito
este es el codigo
/* ----------------------------------------------------------------
www.prometec.net
Prog_75_1
Encendiendo y apagando LEDs desde Arduino y un navegador web
Y el modulo WIFI ESP8266
http://www.prometec.net/esp8266/
// PHYSICAL STUFF:
// Arduino pin 2 (RX) to ESP8266 TX
// Arduino pin 3 (RX) to Voltage Divider, then to ESP8266 RX
// Connect GND from the Arduino to GMD on the ESP8266
// Connect Arduino 3.3V to VCC
// Pull ESP8266 CH_PD HIGH (also connect to 3.3V rail)
// Commands entered in the serial monitor are relayed to the ESP8266
--------------------------------------------------------------------
*/
String ordenes[]=
{ "AT+CWMODE=3",
"AT+CWQAP",
"AT+CWJAP=\"miusuario\",\"mipassword\"",
"AT+CIFSR" ,
"AT+CIPMUX=1",
"AT+CIPSERVER=1,80",
"END" // Para reconocer el fin de los comandos AT
};
#include <SoftwareSerial.h>
SoftwareSerial BT1(3,2 ); // RX | TX / aca he probado el 0,1/18,19 ect. NADA DE NADA
String W =" ";
char w ;
void setup()
{
Serial.begin(19200);
BT1.begin(19200);
pinMode(13, OUTPUT);
}
void loop()
{
if (BT1.available()) // Lo que entra por WIFI - Serial
{ w = BT1.read() ;
Serial.print(w); // Vamos montando un String con lo que entra
W = W + w ;
}
if (Serial.available()) // Lo que entra por Serial - WIFI
{ char s = Serial.read();
BT1.print(s);
}
if ( w == '\n') // Sin han pulsado intro
{ if ( W.indexOf("P13") > 0 ) // Si P13 esta incluido en el string
{ digitalWrite( 13, !digitalRead(13)) ;
Serial.println("Invirtiendo pin 13");
}
W = "" ; w = ' ' ; // Limpiamos las variables
}
}