Académique Documents
Professionnel Documents
Culture Documents
1 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Posted by
0 Comments
jun 04,
2015
ago 06,
2016
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Un pequeo y muy
potente Arduino,...
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
S/. 470,00
S/. 10,00
Tipo
Ejemplo
Descripcin
Prueba
AT+CMD=?
Consulta
AT+CMD?
Establecer
AT+CMD=Parametro
Ejecutar
AT+CMD
S/. 30,00
Comando
Respuesta
Funcin
OK
Prueba si el
mdulo respo
correctament
OK
Reseta el
mdulo
+CWMODE:(1-3)
OK
AT
3 de 16
03/10/2016 18:41
4 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Comando
AT+CWMODE?
Respuesta
Funcin
+CWMODE:modo
OK
Pregunta en q
modo AP esta
actualmente e
mdulo
OK
Establece el
mdulo en el
modo dado
1 = Modo
estacin (clie
2 = Modo AP
(husped)
3 = Modo AP
Estacin (mo
dual)
Cristal oscilador de
16 MHz de
frecuencia. Utilizado
en Arduino Uno,...
S/. 2,00
AT+CWMODE=modo
AT+CWLAP:ecn,ssid,rssi,mac
OK
+CWLAP:ecn,ssid,rssi,mac
OK
Busca Acess
Points dispon
para conecta
con las
condiciones
especificadas
AT+CWLAP
El mdulo Relay te
permite controlar el
encendido/apagado
de equipos de...
S/. 6,00
AT+CWLAP=ssid,mac,ch
AT+CWJAP?
+ CWJAP:ssid
OK
Imprime el SS
al que el md
esta conectad
03/10/2016 18:41
5 de 16
S/. 40,00
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Comando
AT+CWJAP=ssid,pwd
Respuesta
Funcin
OK
El mdulo se
conecta al la
con el nombr
ssid indicado
contrasea p
suministrada
AT+CWQAP
OK
Se desconec
la red que es
actualmente
conectado
AT+CWSAP?
AT+CWSAP=ssid,pwd,ch,ecn
+CWSAP:ssid,pwd,ch,ecn
OK
Pregunta la
configuracin
actual del sof
OK
Configura el
softAP con
ssid: String co
nombre de la
pwd: Contras
no mayor a 6
caracteres
ch: Canal
inalmbrico
ecn: Tipo de
codificacin
1 = Abierto
2 = WPA_PS
3 = WPA2_PS
4=
WPA_WPA2_
AT+CIPSTATUS
status:
2 = Se obtuvo
3 = Conectad
4=
Desconectad
id: ID de la
STATUS:status
conexin en c
+CIPSTATUS:id,type,addr,port,tetype
de multiconex
OK
(1-4)
type: Tipo de
conexin, "TC
o "UDP"
addr: Direcci
03/10/2016 18:41
Comando
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Respuesta
Funcin
de la conexin
port: Numero del
puerto
tetype:
0 = El mdulo
corre como
cliente
1 = El mdulo
corre como
servidor
AT+CIPMUX=mode
OK
mode:
0 = Conexin
unica
1 = Mltiples
conexiones, hasta
4
AT+CIPMUX?
+CIPMUX:mode
OK
Imprime el mode,
el modo de
conexin actual
AT+CIPSTART=type,addr,port
OK
AT+CIPSTART=id,type,addr,port OK
AT+CIPSTART=?
[+CIPSTART:(id)(type),(ip
address),(port)]
OK
Empieza una
conexin como
cliente (en modo
conexin nica)
type: puede ser
"TCP" o "UDP"
addr: String que
contenga la
direccin IP
remota
port: String que
contenga el
puerto remoto
Empieza una
conexin como
cliente (En modo
conexin mltiple)
id: ID de la
conexin (1-4)
Lista los posibles
comandos
6 de 16
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Comando
Respuesta
AT+CIPCLOSE=?
OK
AT+CIPCLOSE=id
AT+CIPCLOSE
Funcin
OK
Cierra la conexin
TCP o UDP con
el ID "id" en modo
conexin mltiple
OK
Cierra la conexin
TCP o UDP para
modo de
conexin nica
AT+CIPSEND=length
AT+CIPSEND=id,length
OK
SEND OK
Establece la
longitud de datos
a enviarse
(mximo 2048).
Para un envo
normal (modo
conexin nica)
SEND OK
Establece la
longitud de datos
a enviarse en la
conexin nmero
"id". Para un
envo normal
(modo conexin
mltiple)
Enva datos sin
adornos cada
20ms. El mdulo
retorna ">"
despus ejecutar
el comando, si se
recibe el
comando "+++"
se regresa al
modo comando.
AT+CIPSEND
AT+CIFSR
7 de 16
OK
+CIFSR:ip
OK
Retorna la
direccin IP local
del mdulo como
cliente.
03/10/2016 18:41
8 de 16
Comando
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Respuesta
Funcin
OK
Configura el
mdulo como
servidor donde el
modo:
0 = Borrar
servidor
1 = Crear servido
puerto: numero
del puerto, por
defecto es el 333
AT+CIFSERVER - Configurar
como servidor
AT+CIPSERVER=mode[,port]
AT+CIOBAUD=?
AT+CiOBAUD?
AT+CIOBAUD=baudrate
+CIOBAUD:(9600-921600)
OK
+CIOBAUD:baudrate
OK
OK
Configura la
velocidad de
transmisin a
'baudrate'
03/10/2016 18:41
9 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Este comando nos retorna "OK" si todo esta correcto, o "no change" si
el mdulo ya se encontraba en ese modo. El modo se queda grabado
aunque se desenergize el mdulo.
Ahora vamos a ver las redes inalambricas disponibles enviando:
AT+CWLAP
10 de 16
03/10/2016 18:41
11 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
+CWLAP:(4,"Naylamp",-55,"0a:18:d6:99:59:47",6)
+CWLAP:(2,"VecinoWifi",-78,"10:fe:ed:7a:a9:42",6)
+CWLAP:(3,"Anonymous-Pro",-92,"c4:17:fe:8a:2d:24",11)
OK
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
OK
Link
OK
Link
12 de 16
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
{
Serial.begin(9600); // monitor serial del arduino
esp8266.begin(9600); // baud rate del ESP8255
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
sendData("AT+RSTrn",2000);
// resetear mdulo
sendData("AT+CWMODE=1rn",1000); // configurar como client
e
sendData("AT+CWJAP="SSID","PASSWORD"rn",8000); //SSID y c
ontrasea para unirse a red
sendData("AT+CIFSRrn",1000);
// obtener direccin IP
sendData("AT+CIPMUX=1rn",1000); // configurar para multip
les conexiones
sendData("AT+CIPSERVER=1,80rn",1000);
// servidor
en el puerto 80
}
void loop()
{
if(esp8266.available())
// revisar si hay mensaje del E
SP8266
{
if(esp8266.find("+IPD,")) // revisar si el servidor recib
io datos
{
delay(1500); // esperar que lleguen los datos hacia el bu
ffer
int conexionID = esp8266.read()-48; // obtener el ID de l
a conexin para poder responder
esp8266.find("led="); // bucar el texto "led="
int state = (esp8266.read()-48); // Obtener el estado del
pin a mostrar
digitalWrite(13, state); // Cambiar estado del pin
while(esp8266.available()){
char c = esp8266.read();
Serial.print(c);
}
//responder y cerrar la conexin para que el navegador no
se quede cargando
// pgina web a enviar
String webpage = "";
if (state==1) webpage += "<h1>LED_13 = encendido!</h1>";
else { webpage += "<h1>LED_13 = apagado!</h1>";}
// comando para enviar pgina web
String comandoWebpage = "AT+CIPSEND=";
13 de 16
03/10/2016 18:41
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
comandoWebpage+=conexionID;
comandoWebpage+=",";
comandoWebpage+=webpage.length();
comandoWebpage+="rn";
sendData(comandoWebpage,1000);
sendData(webpage,1000);
// comando para terminar conexin
String comandoCerrar = "AT+CIPCLOSE=";
comandoCerrar+=conexionID;
comandoCerrar+="rn";
sendData(comandoCerrar,3000);
}
}
}
/*
Enviar comando al esp8266 y verificar la respuesta del md
ulo, todo esto dentro del tiempo timeout
*/
void sendData(String comando, const int timeout)
{
long int time = millis(); // medir el tiempo actual para
verificar timeout
esp8266.print(comando); // enviar el comando al ESP8266
while( (time+timeout) > millis()) //mientras no haya time
out
{
while(esp8266.available()) //mientras haya datos por leer
{
// Leer los datos disponibles
char c = esp8266.read(); // leer el siguiente caracter
Serial.print(c);
}
}
return;
}
14 de 16
03/10/2016 18:41
15 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
Compartir
* Name:
* E-mail:
(Not
Published)
Website:
(Site url
withhttp://)
03/10/2016 18:41
16 de 16
http://www.naylampmechatronics.com/blog/21_Tutorial-ESP8266-Part...
* Comment:
Submit
Naylamp Mechatronics,
Trujillo Per
Llmanos ahora:
997646858
Email:
03/10/2016 18:41