Autor Tema: Módulo WIFI - Serie ESP8266  (Leído 73791 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Módulo WIFI - Serie ESP8266
« Respuesta #90 en: 01 de Octubre de 2015, 12:34:24 »
Yo lo hice así.

Tienda donde compre el ESP8266: http://www.ebay.com/itm/ESP8266-Serial-Esp-01-WIFI-Wireless-Transceiver-Module-Send-Receive-LWIP-AP-STA-/221589414478?hash=item3397c2224e
Precio: US$2.65

Terminal: Termite 3.1 (http://www.compuphase.com/software_termite.htm)

Comunicación USB<->232:
Modulo de YwRobot que tiene un chip FT232RL.

Hardware:
https://www.dropbox.com/s/tslxhara5kemquq/Captura.PNG?dl=0


Los 5V provienen de un puerto USB de mi laptop. Para la alimentación de 3.3V primero probé con un zener de 3.3V a 1/2w con una R de 15ohm 1/2w pero el voltaje no se mantenía (el ESP8266 he leído que tiene picos altos de 200mA), entonces mejor hacerlo con un regulador lineal LDO como el AMS1117.

He leído que el ESP8266 es tolerante a 5V en su pin RX pero por otros lados he leído que no. Entonces mejor a lo seguro, por eso uso un diodo rápido 1n5817/8/9. La R de 10k sirve de pullup.

Config. Termite
https://www.dropbox.com/s/1di2hy4age5m6a9/termiteconfig.PNG?dl=0


Pasos:
Ya con el modulo usb-232 funcionando bien, conecto el cable usb para alimentar al ESP8266. Aparece en el terminal algo de basura y luego dice "ready"...  Pero igual le doy un AT+RST para resetearlo.

AT+GMR para ver la version:
Código: [Seleccionar]
AT+GMR

AT version:0.23.0.0(Apr 24 2015 21:11:01)
SDK version:1.0.1
Ai-Thinker Technology Co. Ltd.
Apr 27 2015 13:55:14

AT+CWMODE=1  para estar en modo Station

AT+CWLAP para ver todos los wifi cercanos

Como mi router lo he configurado para que el wifi este oculto NO aparece en esta lista. Ademas, mi wifi también lo he configurado para que no tenga contraseña, entonces para conectarme a él será con:
Código: [Seleccionar]
AT+CWJAP="piso2",""  (piso2 es el nombre de mi wifi)

AT+CIFSR para ver que ip local me ha asignado mi router, en mi caso: 192.168.1.15

(Si queremos desconectarnos lo hacemos con AT+CWQAP)

Para iniciar un server, lo hacemos con:
Código: [Seleccionar]
AT+CIPMUX=1
AT+CIPSEREVER=1,2000

Así inciamos el server por el puerto 2000.

Ya solo quedará entrar en la web y poner:
192.168.1.15:2000

Y el ESP8266 botará algo como:
Código: [Seleccionar]
0,CONNECT
1,CONNECT

+IPD,0,380:GET / HTTP/1.1
Host: 192.168.1.15:2000
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: es-ES,es;q=0.8

1,CLOSED


Sigo probando.


Referencias:
https://dl.dropboxusercontent.com/u/307560/ESP8266%20WIFIATCOMMANDS_English.pdf
http://www.instructables.com/id/Using-the-ESP8266-module/?ALLSTEPS

Y como no, gracias planeta9999 por tu post.


Saludos.
« Última modificación: 01 de Octubre de 2015, 14:18:15 por jeremylf »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3479
    • Pinballsp
Re: Módulo WIFI - Serie ESP8266
« Respuesta #91 en: 01 de Octubre de 2015, 18:04:03 »
.


Una Wiki que recoge todo los modelos de ESP8266 disponibles, al final hay una tabla resumen comparativa muy interesante para decidirse por que modelo usar según la aplicación.
http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family



Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7332
Re: Módulo WIFI - Serie ESP8266
« Respuesta #92 en: 01 de Octubre de 2015, 18:22:32 »
Probe el mio que es como el que pones primero en las fotos planeta, y me funciono con una velocidad de 9600 a otra velocidad no hubo forma. Ademas renegue mucho con el USB-UART, tenia que enviarle todo el hexa junto, sino no me lo tomaba.

Desconectado marcoscab1166

  • PIC12
  • **
  • Mensajes: 55
Re:Módulo WIFI - Serie ESP8266
« Respuesta #93 en: 15 de Octubre de 2015, 11:35:36 »
Una duda, existe alguna libreria para usarlo con el pic ccs compiler? o algun ejemplo bien claro.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3479
    • Pinballsp
Re:Módulo WIFI - Serie ESP8266
« Respuesta #94 en: 15 de Octubre de 2015, 15:33:03 »


Realmente no hacen falta librerías para cada lenguaje concreto, ya que se trata simplemente de una comunicación de puerto serie, cualquier ejemplo que tengas para usar el puerto serie en CCS te servirá.

Lo que si sería interesante es que fuéramos documentado entre todos la serie de comandos AT que hay que usar para cada caso, y tambien sería muy interesante documentar la programación del ESP8266, el entorno de desarrollo y los firmware ya disponibles para personalizaciones concretas usando LUA.

Yo ahora mismo estoy desarrollando un proyecto GSM-WIFI, en el que tendré que establecer en determinados casos una red WIFI entre varios módulos ESP8266, uno que actuará de master y el resto de esclavos para transferir el estado de varios interruptores de cada esclavo al master, para que este lo envíe todo por GSM a un servidor WEB. Ahora mismo estoy todavía centrado en el GSM, pero cuando toque los WIFI documentaré la serie de comandos AT en el master y en el esclavo para establecer la red y transferir datos, como configurar un ESP8266 como cliente o como servidor.



Desconectado egar1956

  • PIC10
  • *
  • Mensajes: 2
Re:Módulo WIFI - Serie ESP8266
« Respuesta #95 en: 15 de Octubre de 2015, 20:54:52 »
Hola gente.
Tengo un esp-01 y un esp-07 usando con comandos at.
Puedo lograr que se comuniquen entre si en modo STA y que intercambien datos.
El problema es que cuando configuro a uno de los módulos como AP y me conecto con el otro ( obviamente como STA), la misma es exitosa, pero cuando quiero iniciar una conexión TCP entre ellos, es decir
AT+CIPSTART=0,"TCP","192.168.4.1",333  por ejemplo,
me devuelve el mensaje seguido de
ERROR
0,CLOSED
Hasta ahora no puedo establecer una conexión TCP de esta manera. Repito, SI puedo hacerlo si el AP no es uno de los módulos
Tambien armé una red con una pc y un módulo como STA,  y un módulo como AP, usando el hercules en la pc como tcp cliente ( también como servidor ), puedo crear una conexión TCP entre la pc y el módulo AP, para luego enviar y recibir datos. Pero si quiero hacer lo mismo entre el módulo que está funcionando como STA y la pc , me tira el mismo error.
Bueno, dejo la inquietud a ver si ustedes hicieron hicieron algo al respecto
saludos

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Módulo WIFI - Serie ESP8266
« Respuesta #96 en: 18 de Octubre de 2015, 14:46:48 »
hola.de nuevo aqui.estoy como un loco experimentando con dos ESP8266 que he comprado por ebay.y por el momento solo estoy toqueteandolo todo.jejej
asi que he podido conectarme al router y ver como se transmiten los datos.usando WiresHark veo las capturas de las tramas que se envian.

como por el momento estoy empezando,esto se me hace una montaña.menosmal que en un tiempo anterior estudie el ENC28j60 y tengo alguna nocion
en esto de las redes.

pues he tenido que cometer algun tipo de error.porque se me han quedado encendidas las luces azules de los modulos y se han bloqueado.nisiquiera
puedo conectar el modulo usb-ttl al hiperterm porque no coge el puerto.supongo porque el tx del modulo se habra quedado fijo.
esto me paso al cambiar la velocidad de comunicacion del ESP8266.no de 115200 a 9600.pero se bloqueo al pasar de 9600 a 115200.

la solucion flashear el ESP8266.pongo esta pagina que lo explica: http://www.prometec.net/firmware-esp8266/

al conectar el puente entre gnd y GPIO0.se desactiva el led azul y ya se puede conectar el modulo USB-TTL.
en la pagina web se indica que hay que seleccionar una velocidad para programar el ESP8266.pero ni hay un sitio en el programa que se pueda
modificar ni me ha hecho falta.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2226
Re:Módulo WIFI - Serie ESP8266
« Respuesta #97 en: 27 de Noviembre de 2015, 12:47:17 »
¿Os suena de algo el protocolo MQTT...?

Ayer estuve haciendo una búsqueda de dispositivos IoT y encontré bastantes módulos ESP8266 reportando datos vía internet, algunos de los cuales usando dicho protocolo (MQTT Connection Code).

Siempre os veo usando comandos AT para comunicaros con este módulo y me llamó la atención el protocolo MQTT, que ni sabía que existía.  :shock:

¿Os suena?

saludo

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2226
Re:Módulo WIFI - Serie ESP8266
« Respuesta #98 en: 27 de Noviembre de 2015, 12:53:14 »
Bueno, en esp8266.com hay bastantes comentarios.

Debe ser que es algo nuevo solo para mi  :oops:

saludo

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3479
    • Pinballsp
Re:Módulo WIFI - Serie ESP8266
« Respuesta #99 en: 27 de Noviembre de 2015, 14:01:00 »


No conozco MQTT, pero parece que está soportado por LUA, así que usando el intérprete LUA probablemente podrás usar el protocolo MQTT para comunicar el ESP8266 con sensores que lo soporten, será cuestión de probarlo.

Yo en breve tengo que meterme de lleno con los ESP8266 en mi proyecto GSM, le echaré un vistazo a MQTT a ver que ventajas tiene sobre los comandos AT.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2226
Re:Módulo WIFI - Serie ESP8266
« Respuesta #100 en: 27 de Noviembre de 2015, 15:13:26 »
Dejo un par de enlaces:
http://goo.gl/kNsstg
http://goo.gl/7vLEUC

Hay una extensión MQTT para Chrome y una app para Android.

saludo

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re:Módulo WIFI - Serie ESP8266
« Respuesta #101 en: 27 de Noviembre de 2015, 15:18:03 »
Creo que MQTT es un protocolo de comunicación de red; entendiendo como red internet/ethernet. Es un protocolo basado en TCP/IP. Salvando las distancias, algo así como http pero mucho más ligerito.

Los comandos AT son comandos para comunicarte con el módulo ESP desde otro dispositivo (normalmente un uC) para que el ESP cambie su estado, envíe datos a la red, etc. Vamos, que si se quiere se puede enviar paquetes MQTT usando comandos AT, aunque imagino que será un tostón manejar MQTT con ellos.

No sé si hay alguna versión de firmware para el ESP que admita comandos AT (no estándar) para enviar datos por el protocolo MQTT.

En caso contrario, lo que se puede hacer es cargar un firmware en el ESP (programado con LUA, Arduino o su SDK) de forma que los datos que reciba el esp por puerto serie los transmita usando MQTT.

Saludos!

Desconectado Enrique_86

  • PIC12
  • **
  • Mensajes: 62
Re:Módulo WIFI - Serie ESP8266
« Respuesta #102 en: 07 de Diciembre de 2015, 21:30:18 »
Hola a todos,

Me conseguí un ESP-12E aquí en Perú, y la verdad me ha dejado sorprendido, al principio tuve unos inconvenientes que comparto por si les llega a pasar:

1. Adicionalmente de conectar los Pines Tx, Rx, En, VCC y GND, se deben conectar los pines GPIO15=0, GPIO0=1 y GPIO2=1 [1=VCC, 0=GND] ya sea directamente a un pin del micro o a fuente o tierra según corresponda. En caso de conectar a fuente, hacerlo mediante una resistencia en Pull-up de 1.5k.
En mi caso lo conecté directo a los pines del micro para tener más control e investigar un poco mas del funcionamiento.
2. Al inicio el módulo envía data en un baudiaje especial: 76800, luego de enviar una serie de datos finalmente cambia al baudiaje 115200, y queda listo para recibir los comandos AT.
Aqui pueden construir rutinas para mostrar la data si es que les interesa o simplemente espera que termine de enviar datos para inicializar la conexión WIFI.
3. El comando de recepción de datos es asincrono, solo lo recibes si hay una conexión abierta previamente, y la cabecera es +IP,<longitud>,<data>
4. Los pines de control GPIO15, GPIO0 y GPIO2, sirven para iniciar el modulo en diferentes modos, el modo que probé es el que describo en el punto 1, los otros modos son utilizados para reprogramar el firmware del modulo ESP entre otras cosas así que tengan cuidado con jugar con ellos, siempre al cambiar de modo, deben poner cero y luego a uno el pin de EN.

Aún sigo programando una pequeña aplicación del tipo data logger, que recolectará información y la enviará vía conexión TCP a un servidor, hasta ahora lo he probado manualmente y funciona (enviando los comandos AT), ahora voy a implementar en código C (C18), pero estoy viendo que toda la gestión de comunicación con el módulo se hace mediante intercambio de tramas en ASCII, por lo que me parece va a ser un tanto tedioso estar comparando cadenas... ¿Alguien ya hizo este trabajo en el foro? O ¿Tiene algun ejemplo con un modulo similar?, de modo que sea mas rápida la implementación de esta librería para el ESP8266..

Si tienen alguna ayuda bienvenida sea.

Saludos!

Data del ESP12E:

Código: [Seleccionar]
  ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000


SDK \0xef
Ai-Thinker Technology Co.,Ltd.

ready

Referencias:
http://vogelchr.blogspot.pe/2014/12/esp8266-firmware-upgrade-odd-baudrate.html
https://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/
http://espressif.com/ <---Web del fabricante
http://www.electrodragon.com/w/Category:ESP8266_Firmware_and_SDK <---Wiki del firmware del ESP8266 & SDK
« Última modificación: 07 de Diciembre de 2015, 21:44:41 por Enrique_86 »
...enrique  :-)

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 236
Re:Módulo WIFI - Serie ESP8266
« Respuesta #103 en: 08 de Diciembre de 2015, 10:19:48 »
Hola Enrique , de mi parte ya hace casi un año que vengo experimentando con este modulo , y la verdad es que me parece excelente , a mi me ha dado muy buenos resultados , siempre trabaje con los comandos AT , y si es cierto es tedioso e incomodo , pero uno se acostumbra , ...

Te recomiendo uses este soft

https://hackaday.io/project/3568-esp8266-test-program

es muy bueno y te soluciona bastante ...

hace unos dias encontre esto pero no lo he podido probar ...lo dejo en el foro y por favor los que lo experimenten , que comenten

http://firatdeveci.com/wp-content/uploads/Electronics/ESP8266%20Library.rar


Desde ya estoy a disposicion de los que les interese compartir

Gracias






Hola a todos,

Me conseguí un ESP-12E aquí en Perú, y la verdad me ha dejado sorprendido, al principio tuve unos inconvenientes que comparto por sles llega a pasar:





1. Adicionalmente de conectar los Pines Tx, Rx, En, VCC y GND, se deben conectar los pines GPIO15=0, GPIO0=1 y GPIO2=1 [1=VCC, 0=GND] ya sea directamente a un pin del micro o a fuente o tierra según corresponda. En caso de conectar a fuente, hacerlo mediante una resistencia en Pull-up de 1.5k.
En mi caso lo conecté directo a los pines del micro para tener más control e investigar un poco mas del funcionamiento.
2. Al inicio el módulo envía data en un baudiaje especial: 76800, luego de enviar una serie de datos finalmente cambia al baudiaje 115200, y queda listo para recibir los comandos AT.
Aqui pueden construir rutinas para mostrar la data si es que les interesa o simplemente espera que termine de enviar datos para inicializar la conexión WIFI.
3. El comando de recepción de datos es asincrono, solo lo recibes si hay una conexión abierta previamente, y la cabecera es +IP,<longitud>,<data>
4. Los pines de control GPIO15, GPIO0 y GPIO2, sirven para iniciar el modulo en diferentes modos, el modo que probé es el que describo en el punto 1, los otros modos son utilizados para reprogramar el firmware del modulo ESP entre otras cosas así que tengan cuidado con jugar con ellos, siempre al cambiar de modo, deben poner cero y luego a uno el pin de EN.

Aún sigo programando una pequeña aplicación del tipo data logger, que recolectará información y la enviará vía conexión TCP a un servidor, hasta ahora lo he probado manualmente y funciona (enviando los comandos AT), ahora voy a implementar en código C (C18), pero estoy viendo que toda la gestión de comunicación con el módulo se hace mediante intercambio de tramas en ASCII, por lo que me parece va a ser un tanto tedioso estar comparando cadenas... ¿Alguien ya hizo este trabajo en el foro? O ¿Tiene algun ejemplo con un modulo similar?, de modo que sea mas rápida la implementación de esta librería para el ESP8266..

Si tienen alguna ayuda bienvenida sea.

Saludos!

Data del ESP12E:

Código: [Seleccionar]
  ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000


SDK \0xef
Ai-Thinker Technology Co.,Ltd.

ready

Referencias:
http://vogelchr.blogspot.pe/2014/12/esp8266-firmware-upgrade-odd-baudrate.html
https://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/
http://espressif.com/ <---Web del fabricante
http://www.electrodragon.com/w/Category:ESP8266_Firmware_and_SDK <---Wiki del firmware del ESP8266 & SDK
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado Enrique_86

  • PIC12
  • **
  • Mensajes: 62
Re:Módulo WIFI - Serie ESP8266
« Respuesta #104 en: 09 de Diciembre de 2015, 11:09:34 »
Hola Rsliman,

Gracias!

Acabo de ver los links y el del codigo está casi completo, justo era lo que andaba buscando, ya tengo una idea de como implementar la librería que necesito, gracias por el aporte.
Publicaré el avance para la comunidad.

Saludos!
...enrique  :-)


 

anything