Cómo hacer que dos ESP8266 hablen

Los módulos ESP8266 son dispositivos potentes que pueden revolucionar la forma en que se conectan los dispositivos IoT. En este artículo, te enseñaremos cómo hacer que dos ESP8266 se comuniquen entre sí, abriendo un mundo de posibilidades para la creación de proyectos interconectados. ¡Descubre cómo lograrlo paso a paso!

En este proyecto obtendrás dos ESP8266 para comunicarse entre sí.

¿Cómo funciona? Configurará un ESP como punto de acceso (servidor) y otro ESP como estación (cliente). Luego establecen comunicación inalámbrica y el cliente envía un mensaje al servidor que dice «¡Hola mundo!»

Cómo hacer que dos ESP8266 hablen

Antes de continuar leyendo este proyecto, complete los siguientes tutoriales:

  • Comenzando con el ESP8266
  • Actualice ambos ESP con NodeMCU

Si te gusta ESP y quieres hacer más proyectos, puedes leer mi libro electrónico «Automatización del hogar con ESP8266» aquí. ¡Vamos a empezar!

Lista de artículos

Aquí está el hardware que necesita para completar este proyecto:

Cómo hacer que dos ESP8266 hablen

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Cómo hacer que dos ESP8266 hablen

Diagramas de cableado (programador FTDI de 3,3 V)

Los esquemas de este proyecto son muy simples. Todo lo que necesita hacer es establecer una comunicación en serie entre su programador FTDI y su ESP8266 para cargar el código. (Repita los siguientes esquemas para el cliente y el servidor).

Cómo hacer que dos ESP8266 hablen

Descargar ESPlorer

Recomiendo usar el programa ESPlorer creado por 4refr0nt para crear y guardar archivos Lua en su ESP8266.

Siga estas instrucciones para descargar e instalar ESPlorer:

  1. Haga clic aquí para descargar ESPlorer
  2. Descomprime esta carpeta
  3. Ir a ante todo Carpeta
  4. Correr ESPlorer.jar. Dado que este es un programa JAVA, JAVA debe estar instalado en su computadora.
  5. Abrir ESPlorer

Cómo hacer que dos ESP8266 hablen

Escribiendo el script de tu servidor

No olvide que primero debe actualizar ambos ESP con el firmware NodeMCU. Copie y pegue el siguiente código en ESPlorer.

Resumen: El servidor ESP actúa como punto de acceso y tiene su propio SSID=prueba y contraseña=12345678. El servidor espera continuamente una conexión cuando se conecta exitosamente y recibe un mensaje que imprime esta cadena en el monitor serie.

-- Rui Santos
-- Complete project details at https://randomnerdtutorials.com
-- ESP8266 Server

print("ESP8266 Server")
wifi.setmode(wifi.STATIONAP);
wifi.ap.config({ssid="test",pwd="12345678"});
print("Server IP Address:",wifi.ap.getip())

sv = net.createServer(net.TCP) 
sv:listen(80, function(conn)
    conn:on("receive", function(conn, receivedData) 
        print("Received Data: " .. receivedData)         
    end) 
    conn:on("sent", function(conn) 
      collectgarbage()
    end)
end)

Ver código sin formato

Subiendo tu script Lua

Cuando abres ESPlorer, deberías ver una ventana similar a la imagen anterior. Siga estas instrucciones para enviar comandos a su ESP8266:

  1. Conecte su programador FTDI a su computadora
  2. Establezca la ruta incorrecta a 9600
  3. Seleccione su puerto de programación FTDI (por ejemplo, COM3)
  4. Presione Abrir/Cerrar
  5. Seleccione la pestaña NodeMCU+MicroPtyhon
  6. Copie su script Lua en ESPlorer

Luego simplemente haga clic en el botón Guardar en ESP y guarde su archivo con el nombre «init.lua». Todo lo que necesitas considerar o cambiar está resaltado en rojo en la imagen a continuación.

Cómo hacer que dos ESP8266 hablen

Escribiendo el guión de tu cliente

Actualice su ESP con NodeMCU. Copie y pegue el siguiente código en ESPlorer. Resumen: El cliente ESP actúa como una estación y busca constantemente un punto de acceso. Cuando el cliente lo encuentra, el servidor establece comunicación y envía un mensaje de «¡Hola mundo!» cada 5 segundos.

-- Rui Santos
-- Complete project details at https://randomnerdtutorials.com
-- ESP8266 Client

print("ESP8266 Client")
wifi.sta.disconnect()
wifi.setmode(wifi.STATION) 
wifi.sta.config("test","12345678") -- connecting to server
wifi.sta.connect() 
print("Looking for a connection")

tmr.alarm(1, 2000, 1, function()
     if(wifi.sta.getip()~=nil) then
          tmr.stop(1)
          print("Connected!")
          print("Client IP Address:",wifi.sta.getip())
          cl=net.createConnection(net.TCP, 0)
          cl:connect(80,"192.168.4.1")
          tmr.alarm(2, 5000, 1, function() 
            cl:send("Hello World!") 
          end)
      else
         print("Connecting...")
      end
end)

Ver código sin formato

Nota: Para cargar el código del script del cliente, siga el encabezado anterior «Cargar su script Lua».

demostración

En este proyecto, el cliente envía un mensaje «¡Hola mundo!» transmitido de forma inalámbrica al servidor. Esto es lo que debería ver en las ventanas de su terminal serie (vea la imagen a continuación).

Cómo hacer que dos ESP8266 hablen

Nota: En la ventana de la izquierda estoy usando la ventana de salida de ESPlorer. En la ventana derecha establezco comunicación serial con PuTTY.org.

¿Tiene usted alguna pregunta? ¡Deja un comentario a continuación!

Gracias por leer. Si te gusta esta publicación, es posible que también te gusten mis próximas. Así que apóyame suscribiéndote a mi blog y a mi página de Facebook.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded







Cómo hacer que dos ESP8266 hablen

Introducción

En este proyecto, aprenderás a hacer que dos ESP8266 se comuniquen entre sí. Para lograrlo, configurarás un ESP como Punto de Acceso (Servidor) y otro ESP como Estación (Cliente). Luego, establecerán una comunicación inalámbrica y el Cliente enviará un mensaje al Servidor que dice «¡Hola Mundo!».

Antes de continuar con este proyecto, por favor completa los siguientes tutoriales:

  1. Cómo empezar con el ESP8266
  2. Flash de ambos ESPs con NodeMCU

Si te gusta el ESP y quieres hacer más proyectos, puedes leer mi eBook Automatización del Hogar usando ESP8266 aquí. ¡Comencemos!

Lista de componentes

Aquí tienes el hardware que necesitas para completar este proyecto:

  • ESP8266-01
  • Programador FTDI

Puedes encontrar todas las partes para tus proyectos al mejor precio en MakerAdvisor.com/tools.

Esquemáticos (Programador FTDI 3.3V)

Los esquemáticos para este proyecto son muy sencillos. Solo necesitas establecer una comunicación serial entre tu programador FTDI y tu ESP8266 para subir un código.

Descargando ESPlorer

Recomiendo usar el programa ESPlorer creado por 4refr0nt para crear y guardar archivos Lua en tu ESP8266.

  1. Click aquí para descargar ESPlorer
  2. Descomprime la carpeta
  3. Abre el archivo ESPlorer.jar

Creando tu script de Servidor

No olvides que primero necesitas flashear ambos ESPs con el firmware de NodeMCU. Copia y pega el siguiente código en ESPlorer:

    
      -- Código del Servidor ESP8266 aquí
    
  

Subiendo tu script Lua

Conecta tu programador FTDI a tu computadora y sigue las instrucciones en ESPlorer para enviar comandos a tu ESP8266.

Creando tu script de Cliente

Después de tener tu ESP con NodeMCU, copia y pega el código del Cliente en ESPlorer para establecer la comunicación con el Servidor.

Demostración

En este proyecto, el Cliente envía un mensaje «¡Hola Mundo!» al Servidor de forma inalámbrica. Puedes ver la comunicación en las terminales serie.

¿Tienes alguna pregunta? ¡Déjala en los comentarios!

Gracias por leer. Si te ha gustado este artículo, seguramente disfrutarás de los próximos, así que por favor apóyame suscribiéndote a mi blog y a mi Página de Facebook.


3 comentarios en «Cómo hacer que dos ESP8266 hablen»

Deja un comentario