Wifi para Arduino por 3€ con ESP8266

Después del Wifi por 10€ con el HLK-RM04, tenemos disponible un módulo ESP8266 que vale menos de 3€. Impresionante. La diferencia es que este se configura por comandos AT. Le dejo un modesto tutorial en mi página, en la sección Cosas Arduino. Espero sea útil.

Jopapa www.jopapa.me

Buenísimo:

http://83.56.32.125/esp8266.html

Tanto los dos Wi-fi de 10 € y el otro de 3€.

¿Cuál es ventajas e inconvenientes entre uno y otro?

Gracias por compartir.

Edito: Mirando este enlace, si no recuerdo mal, has salido en la revista todoelectronica. Fue hace años. Cuando le di mi proyecto me contaron que la revista no lo hacen y no tienen intención por la crisis que ha cambiado todo.

http://83.56.32.125/intervalometro.html

Saludo.

Metaconta, te digo

HLK-RM04
-Permite la configuración con la página Web que lleva incluida. Vale 10€.
-Tiene conector para antena externa.
-Tiene GPIO, pero no he visto nada publicado.

ESP8266
-Menor precio. Si necesitas muchos. Vale 3€.
-Menor tamaño. Si el espacio te lo exige.
-Tiene salidas GPIO y ya hay algún firmware en pruebas que permite el control de esas salidas sin necesidad de microprocesador. ¡En 2cm2 tienes resuelto el Internet de las Cosas!.
-No permite asignarle IP statica, pero conserva la anterior aunque se apague (o forzarla en el router).

Jopapa
www.jopapa.me

Buenas noches Jomapa. Tengo varias dudas con el ESP8266 a ver si me puedes ayudar ya que estoy muy interesado en el.

En caso de querer cambiar la IP ¿como se haría? imaginate que se queda colgado y esa ip ya la tiene asignado otro equipo, ¿se le puede hacer un reset? ¿Como? ¿Tiene forma de volverlo a fabrica de forma mecánica? (uniendo dos pines)?

Muchas gracias

Tengo 5 ESP8266 y al ir probándolos todos han ido cogiendo una IP sucesiva del router y la han conservado aún cuando los desconectaba. Si tenían la 155, esa volvían a tener, aunque no existan otros dispositivos conectados al router por DHCP.

Ya no se si es el router el que recuerda la MAC o esa IP queda grabada en el modulo.

De todas formas, lo que tienes que hacer es ver que MAC tiene ese módulo (lo puede ver en el router cuando esta conectado). Sabiendo la MAC, vas a una opción que hay en los router junto a la opción de DHCP y ahí añades la MAC del módulo y le fuerzas la IP que quieres reservar para él.

Por cierto, esta opción de reservar IP según la MAC no funciona en el router Comtrend VG-8050 que instala Movistar con la fibra óptica.

No he visto posibilidad de hardreset y tampoco la he necesitado. Además, el modulo se le actualiza el firmware muy fácilmente.

Jopapa www.jopapa.me

Ok muchas gracias. Yo he pedido 4 de estos y dos de los otros para trastear. Un saludo PedroP

Es la primera vez que me meto en el mundillo y en el foro :blush: por lo que debéis tratarme con paciencia ;-)

Lo primero saludaros y daros las gracias por las posibles respuestas.

Mi pregunta es: donde puedo comprar este componente para arduino? tenéis alguna web de confianza?

Estoy interesado por el modelo de 10€

Un saludo !!

Nota: pregunta de novato, donde configuro que no se muestre mi email?? no lo encuentro...

El módulo HLK-RM04 viene de China. Tienes que buscarlo en ebay. Por ejemplo

http://www.ebay.es/itm/HLK-RM04-wifi-Module-Serial-to-Ethernet-wifi-AP-wireless-routing-module-/281508453743?pt=LH_DefaultDomain_0&hash=item418b361d6f

Jopapa www.jopapa.me

Muchas gracias Jopapa por tu respuesta, te lo agradezco.
Por cierto, ya me he apuntado tu web en favoritos :wink:
Te animo a que hagas más artículos, ya que los explicas muy bien.

Un saludo

Buenas, una pregunta, el madarle los comandos AT al modulos ESP8266, tiene que se conectandolo al usb y el ordenador o se puede conectar al arduino y este al pc para configurar la placa??

saludos

Jopapa:

Yo también estoy interesado en mandar los comandos AT para configurarlo directamente desde el arduino. Es posible? Como lo hacemos?, teniendo en cuenta que hay que mandar un carácter de fin de línea no ascii.-

Un cordial saludo y gracias de antemano.

Contestando a tiozes y a Kuwito.
Como no esta clara la pregunta, hay dos respuestas.

1.-Se puede configurar el módulo en tiempo de ejecución del programa poniendo los parámetros en el
void setup() del IDE. Cargamos el programa en el Arduino y luego conectamos por serie el esp8266.

2.-Cargar la configuración usando el Arduino como USB-Serie. Puede hacerse fácilmente cargando el programa que pongo más abajo. Se conecta el Arduino al ordenador y el módulo a los pines 10 y 11 (y a masa) configurados como SoftwareSerial.
Mandamos los comandos AT desde el ordenador en el monitor serie del Arduino y veremos las respuestas del módulo.

// * RX is digital pin 10 (connect to TX of other device)
// * TX is digital pin 11 (connect to RX of other device)

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}

void loop()  {
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available()){
   delay(3);  
   char c = Serial.read();
   mySerial.write(c);}
}

Jopapa
http://www.jopapa.me

Muchas gracias jopapa

Voy a trastear un poco y te cuento ;)

Un cordial saludo

ok, muchas gracias, aunque me compre un programador para programar unas placas arduino pro mini. Ahora una duda sobre el modulo wifi, es muy complicado el configurarlo para poder cargar el programa al chip sin cables?

llevo unos días probando los módulos ESP8266 y bueno. Contento y descontento, me explico Usándolos con Arduino y comandos AT no van "finos". Al depender de conexión serie, a veces la página no carga bien, otras si, otras a medias,... Si le cargas a mano los comandos AT no suele haber problemas, pero cuando los metes dentro del SETUP, como no controlas muy bien los tiempos que tarda el módulo en aceptarlos y contestarlos, pues es otra fuente de problemas. He probado con diferentes delays y no se acaba de solucionarlo. Si usas otro Firmware como el NodeMcu, esa parte se soluciona pero dependes de programas creados en LUA, y así de primeras no tengo muchas ganas de aprender otro lenguaje de programación. Los ejemplos que hay por ahí están bien, pero no encontré el que quiero: una página web que pueda enviar valores, controlar las salidas del arduino y visualizar las entradas analógicas u otro valor y las entradas digitales del arduino. Es decir, que sea cliente y servidor al mismo tiempo. Todo esto lo he encontrado por separado, pero no junto.

El tema de que mantengan la IP es cosa del router. Mientras no utilices todas las IPs disponibles, el router, aún en DHCP, intenta dar una IP diferente a cada equipo que se conecte, y recuerda a los que ya se han conectado con anterioridad.

Que yo tenga experimentado, solo he tenido algún retraso (lógico) en el momento de la identificación Wifi con el AT+CWJAP. Pero eso se soluciona con una rutina que espera y confirma la conexión.

De todas forma no lo he usado mucho con Arduino ya que últimamente estoy experimentando con el módulo en solitario.

Dentro de poco publicaré como enviar email y SMS al móvil en respuesta a sensores y eventos.

Vaya, lo de los mails, me hubiera ido muy bien, ya que no veía la forma de hacerlo con ese módulo, y he comprado un wifi shield para hacerlo, que es bastante más caro.

otro problema que he encontrado: al alimentar el modulo , pone el gpio0 a uno durante 300 ms. dado que el modulo lo he puesto mediante un rele a la puerta del garaje,cada vez que se va la tension y vuelve, se abre la puerta. que gracia!

Hola Jopapa!
He estado probando el ESP8266 para un proyecto que tengo en mente y lo he podido configurar por AT perfectamente pero me aparece como “ruido” en la consola (adjunto foto). A que podría ser debido?
Muchas gracias.

Podría ser por voltaje mal filtrado o estabilizado. Pon un condensador de 100µF y otro de 100nF junto al Eesp8266 o alimentalo con dos pilas de 1,5 en serie.

O interferencias de RF sobre el cableado. Esto es mas complicado. Habría que apantallar todo. Prueba el montaje en otra habitación.