ESP8266 Comandos AT para configurar un servidor

1

Estoy intentando configurar un servidor simple en el puerto: 80 con un módulo esp8266. Lo pasé a la versión más reciente y parece que funciona ... pero parece que no responde a la solicitud cuando accedo a través del explorador.

La parte más molesta para mí es sobre el comando + CIFS Devuelve lo siguiente:

AT+CIFSR

+CIFSR:APIP,"86.186.85.186"
+CIFSR:APMAC,"1a:fe:34:9b:c3:83"
+CIFSR:STAIP,"102.106.51.178"
+CIFSR:STAMAC,"c0:ca:41:00:47:40"

My network is 192.168.1.X , 255.255.255.0, 192.168.1.1

Según este hilo encontré

  

Estación (STA) es cuando su ESP se está conectando a su wifi doméstica.

     

Punto de acceso (AP) es cuando tu ESP está transmitiendo wifi para que te conectes.

Si ejecuto un ping en el 86.186.85.186 está bien.

Haciendo ping a 86.186.85.186 con 32 bytes de datos:
Respuesta desde 86.186.85.186: bytes=32 tiempo=67ms TTL=51
Respuesta desde 86.186.85.186: bytes=32 tiempo=67ms TTL=51
Respuesta desde 86.186.85.186: bytes=32 tiempo=67ms TTL=51
Respuesta desde 86.186.85.186: bytes=32 tiempo=67ms TTL=51

Estadísticas de ping para 86.186.85.186:
    Paquetes: enviados = 4, recibidos = 4, perdidos = 0
    (0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
    Mínimo = 67ms, Máximo = 67ms, Media = 67ms

secuencia de comandos:

AT
OK

AT+RST
OK
WIFI DISCONNECT
ets Jan  8 2013,rst cause:1, boot mode:(3,0)

load 0x40100000, len 1856, room 16 
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8 
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8 
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
SPI Speed      : 40MHz
SPI Mode       : QIO
SPI Flash Size & Map: 4Mbit(256KB+256KB)
jump to run user1 @ 1000

rlŽ‚rlŒžâ
ready

AT+GMR
AT version:0.60.0.0(Jan 29 2016 15:10:17)
SDK version:1.5.2(80914727)
compile time:Jan 29 2016 19:07:08
OK

AT+CWMODE?
+CWMODE:2
OK

AT+CWMODE_CUR=3
OK

AT+CWJAP_CUR="XXXX","XXXX"
WIFI CONNECTED
WIFI GOT IP
OK

AT+CIFSR
+CIFSR:APIP,"86.186.85.186"
+CIFSR:APMAC,"1a:fe:34:9b:c3:83"
+CIFSR:STAIP,"102.106.51.178"
+CIFSR:STAMAC,"c0:ca:41:00:47:40"
OK

AT+CIPMUX=1
OK

AT+CIPSERVER=1,80
OK

¿Me estoy perdiendo algo?

EDITAR: Resultado esperado, más o menos parecido (para ser claro, no uso ningún boceto de arduino o lo que sea. Solo uso el monitor de serie. El comportamiento es el mismo que con la masilla.

Me conecto al chip ESP8266 mediante un cable USB a serie.

Pero en este momento el explorador simplemente dice que no se encuentra.

    
pregunta blfuentes

2 respuestas

2

Está utilizando direcciones IP que son (probablemente) no direcciones de LAN. Es muy inusual que su red local se ejecute en 86.x.x.x y 102.x.x.x . Las direcciones de LAN suelen estar en 10.0.0./8 , 172.16.0.0/12 y 192.168.0.0/16 .

Averigüe qué está usando su enrutador (puede hacerlo verificando la dirección IP de su computadora, en el uso de Windows ipconfig , en el uso de Mac ifconfig ). Luego elija una dirección en la misma subred, por ejemplo, Si su computadora es 192.168.1.32 , intente 192.168.1.200 . Tenga en cuenta que su elección puede chocar con otro dispositivo, si es así, cámbiela. Puede encontrar todos los dispositivos en su red local con nmap o similar.

Por lo general, algo como AT+CIPSTA="192.168.1.200","192.168.1.1","255.255.255.0" es lo que quieres.

Una vez que se haya configurado el ESP, vea si puede hacer ping al ESP desde su computadora. Luego dirija su navegador a la dirección IP del ESP y vea si recibe una solicitud en el monitor serie. No espere que el navegador muestre una página, no está sirviendo ningún contenido al navegador; inspeccionar el encabezado HTTP en el monitor serie es suficiente para determinar una conexión exitosa.

    
respondido por el uint128_t
1

Prueba estos en secuencia:

AT+RST

AT+CWJAP="SSID","password"

AT+CIFSR

AT+CWMODE=1

AT+CIPMUX=1

AT+CIPSERVER=1,80

Espera a que aparezca OK después de cada comando.

Acceda a la IP asignada a ESP8266 con el comando AT+CIFSR en chrome / IE, debería devolver la versión de chrome y mucha información.

Luego envía: %código% sustituya la cadena por la longitud de los datos que desea enviar.

Por ejemplo AT+CIPSEND=0,<string len> debería ser %código% entonces debería volver con <html><p>test</p></html> en el monitor luego envía los datos AT+CIPSEND=0,24 .

Todos estos comandos se pueden ejecutar en Arduino Serial Monitor, asumo que estás usando Arduino como convertidor de USB a TTL.

    
respondido por el ammar.cma

Lea otras preguntas en las etiquetas