Go Down

Topic: ESP8266 como AP y comunicación directa TCP (Read 1 time) previous topic - next topic

Jopapa

  El módulo ESP8266 nos permite conectarnos a nuestra red local y nuestro router le asigna una IP del tipo 192.168.1.xxx. Es decir, nuestra comunicación con el módulo ha de pasar a través de nuestro router.
         En este tutorial  veremos como configurar el esp8266 como un punto de acceso que tendrá (de fabrica) la IP 192.168.4.1 como puerta de enlace. Por tanto podremos conectar directamente con él con nuestro móvil, portátil, etc.
         Esto nos permite hacer una comunicación directa y bidireccional, en este ejemplo, por TCP.

Podéis verlo en mi página

http://www.jopapa.me/esp8266APyTCP.html

 Por tanto, y resumiendo, esto nos permite la comunicación con nuestro módulo fuera de casa o lugares donde no tengamos un router que haga de intermediario posibilitando radiocontrol vía Wifi entre el módulo y uno o varios dispositivos.


Jopapa
Jopapa
www.jopapa.me

max_saeta

Saludos
Jopapa, una pregunta como cambiar la dirección  192.168.4.1 por otra? es posible? y si quiero conectar dos ESP8266 quien hacer el control DHCP? o como asigno una IP estática al modulo?

Jopapa

#2
Feb 21, 2015, 10:07 pm Last Edit: Feb 21, 2015, 10:12 pm by Jopapa
Hola max_saeta
La IP 192.168.4.1 NO se puede cambiar. Viene predefinida en el módulo cuando lo configuras en modo 2 ó 3.

En el modo 3, ademas tendrás una IP que te dará tu router (si conectas con él, claro). Tendrás por tanto dos IP en el módulo. Si lo interrogas con AT+CIFSR te dirá:

192.168.4.1
192.168.1.xxx

Si lo pone sen modo 2, solo tendrás la primera.
En ese modo actúa como si fuese un router y asigna  por DHCP IPs a los que se conectan.
A mi móvil le asigna la 192.168.4.100 y a la tablet la 192.168.4.101

Si lo conectas por serie a un Arduino, podrás enviar y recibir ordenes si necesidad de router intermedio.
Me falta explorar si además sin necesidad de Arduino se podrían activar los GPIO.

"Investigeison" en marcha.
Jopapa
www.jopapa.me

max_saeta

Ok, ya lo tengo funcionando pero quería colocarle una IP fija para llamarla desde mi red.

Y aunque mantiene el ultimo IP asignado, si cambio de red me toma otro.

Ya lo tengo montado sobre un proyecto que voy a presentar y he optado por conectarme directamente. Y la intención es conectar varios ESP8266 que me envien informacion censada a un master y de allí enviar a un servidor Web. Pero no se si sera posible.

Jopapa

Para IP "fija", tienes que averiguar la MAC del módulo y entonces asociarla en el router. No hay otra.
Jopapa
www.jopapa.me

Sistac

Hola a todos, puesto que este es mi primer post birras para todos. ;D
Mi problema es que no consigo mandar datos de un esp8266 a otro vía WiFi, lo que hago es seguir los pasos de jopapa para crear un servidor y conectarme a este con otro esp8266.Se conecta bien con el usuario y contraseña y todo pero cuando comienzo el AT+CIPSTART siempre me devuelve 'unlink' he buscado por la red, he hecho gran cantidad de pruebas hasta aborrecer pero no consigo mandarme datos de un ESP a otro.

jorgermen

Hola buenos días,

tengo un pequeño problema, y es que al comunicar un ESP8266 con otro mediante el puerto serial me salta el mensaje de busy entonces creo que por eso no escribe en el serial,
por lo tanto al usar el comando: BT1.find("COMANDO") (para que me encuentre esa cadena de caracteres en el puerto serie) falla porque no lo encuentra, pero no se si es porque no ha escrito el otro dispositivo o es porque al escribir busy ya "corrompe" el mensaje.


en primer lugar como puedo solucionar el problema del "busy"?
en segundo lugar como puedo controlar que el mensaje se ha enviado?

muchas gracias de ante mano.

Jorge.

jorgermen

Hola a todos, puesto que este es mi primer post birras para todos. ;D
Mi problema es que no consigo mandar datos de un esp8266 a otro vía WiFi, lo que hago es seguir los pasos de jopapa para crear un servidor y conectarme a este con otro esp8266.Se conecta bien con el usuario y contraseña y todo pero cuando comienzo el AT+CIPSTART siempre me devuelve 'unlink' he buscado por la red, he hecho gran cantidad de pruebas hasta aborrecer pero no consigo mandarme datos de un ESP a otro.
Suponiendo que tienes dos modulos
-modulo 1 (server)
-modulo 2 (punto de acceso)

Conecta los dos modulos a la misma wiffi.

Comprueba:
 - que en el modulo2 : en modo 2(punto de acceso)  --> AT+CWMODE=2
                               y tiene conexion multiple activa --> AT+ CIPMUX=1

 - que en el modulo1  en modo 1(Server)  --> AT+CWMODE=1
                              y tiene conexion multiple activa --> AT+ CIPMUX=1

El AT+ CIPMUX=1 es importante!!!!!


primero desde el modulo 1 crear el server con : AT+ CIPSERVER=1,80 (por ejemplo: en este casopuerto 80)

haz un AT+CIFSR? (o AT+CIFSR=?, no me acuerdo muy bien) para saber la ip del modulo que crea el server. te aparecerán dos IP:

192.168.4.1
192.168.4.XXX --> esta es la que tienes que meter en el AT+CIPSTART

con el modulo 2 hacer un: AT+CIPSTART=1,"TCP","192.168.4.XXX",80

te dejo un enlace con varios comandos AT: http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module



Sistac

Muchas gracias Jorgemen por tu respuesta, llevó un tiempo liado con otras cosas, voy a retomar los esp8266 y seguiré tus pasos a ver si al fin soy capaz de mandar datos de un esp a otro.
Tengo alguno funcionando junto con arduino para controlar unos focos y es una maravilla.El enlace que me pones es interesante y muy recomendable.Saludos.

dgm58

Buenos días compañeros.

Ando metido en un proyecto con la ESP8266.
Nuestro objetivo es hacer un streaming de audio.

Para hacerlo,configuramos la ESP8266 como ap para que los dispositivos que se conecten a ella reciban el audio que la ESP manda.
La idea es que sea totalmente independiente,sin que este conectado a Internet.
Gracias a vuestra ayuda,ya hemos conseguido mandar datos mediante dicha conexión independiente.
Pero el siguiente paso al que nos enfrentamos es la de mandar audio.

Mi pegunta va enfocada a esto.

¿Alguno de vosotros podría orientarnos algo en como realizar la acción de mandar audio?


Muchas gracias.

Un saludo.

rpuntasv

Buenos días:

Tengo un modulo ESP8266 y no hay forma de conectarlo para programarlo. He usado Arduino y ahora estoy con un USB, es imposible me da siempre ERROR. He comprado un alimentador externo por si se quedaba corto con el Arduino o el USB, pero aún así no hay manera. Uso el Termite. El caso es que si busco el Wifi lo encuentra y se conecta, pero he probado con la IP conectarme con el explorador de mi movil al puerto 8080 ó 8888 y no hace nada.

Esto me dice con el Termite:


Ai-Thinker Technology Co. Ltd.

ready
AT
AT

ERROR

A ver si me podéis echar una mano.


Gracias.

Go Up