ESP8266 controlado con la aplicación de Android (MIT App Inventor)

¿Te gustaría controlar un ESP8266 con tu teléfono Android? En este artículo te enseñaremos cómo hacerlo utilizando la aplicación de MIT App Inventor. Descubre cómo puedes crear tu propia interfaz personalizada para controlar este dispositivo de forma remota. ¡Sigue leyendo para aprender más!

En este proyecto, utilizará el software MIT App Inventor para crear una aplicación de Android para controlar los GPIO ESP8266.

Primero, mire el vídeo de demostración.

Para obtener más información sobre el ESP8266, utilice los siguientes tutoriales como referencia:

  • Comenzando con el ESP8266
  • Servidor web ESP8266 con NodeMCU
  • Actualización del firmware NodeMCU
  • Guía de solución de problemas de ESP8266

Si te gusta ESP y quieres hacer más proyectos, puedes descargar mi libro electrónico “Home Automation with ESP8266” aquí.

¡Vamos a empezar!

Lista de artículos

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

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

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

Actualizando tu ESP con NodeMCU

En este tutorial usaremos el firmware NodeMCU. Necesita actualizar su ESP con el firmware NodeMCU.

Descargue el IDE de ESPlorer

Recomiendo usar ESPlorer IDE, un programa creado por 4refr0nt para enviar comandos a su ESP8266.

Siga estas instrucciones para descargar e instalar ESPlorer IDE:

  1. haga clic aquí para descargar ESPlorer
  2. Descomprime esta carpeta
  3. Ir a la carpeta principal
  4. Correr «ESPlorer.jar» archivo
  5. Abra el IDE de ESPlorer

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

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. puedes comprar uno Programador FTDI en eBay.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)Alambrado:

  • Recepción -> Transmisión
  • TX -> RX
  • CH_PD -> 3.3V
  • VCC -> 3,3V
  • Tierra -> Tierra

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

Subir código

Debería aparecer una ventana similar a la imagen anterior. Siga estas instrucciones para cargar un archivo Lua:

  1. Conecte su programador FTDI a su computadora
  2. Elige tu programador FTDI Puerto
  3. Prensa Abierto cerrado
  4. Elegir Pestaña NodeMCU+MicroPtyhon
  5. Crea un nuevo archivo llamado init.lua
  6. Prensa Guardar en ESP

Cualquier cosa que le preocupe o necesite cambiar se resaltará en un cuadro rojo.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

código

Cargue el siguiente código a su ESP8266 usando el software anterior. Su archivo debe llamarse “init.lua“.

No olvide agregar el nombre de su red (SSID) y la contraseña al siguiente script.

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

wifi.setmode(wifi.STATION)
wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(client,request)
        local buf = "";
        buf = buf.."HTTP/1.1 200 OKnn"
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            end
        end
        
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.HIGH);
        elseif(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.LOW);
        elseif(_GET.pin == "ON2")then
              gpio.write(led2, gpio.HIGH);
        elseif(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.LOW);
        end
        client:send(buf);
        client:close();
        collectgarbage();
    end)
end)

Ver código sin formato

Esquema

Ahora siga estos esquemas para crear el circuito que controla dos LED.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

Su dirección IP ESP

Cuando su ESP8266 se reinicie, imprimirá la dirección IP de ESP en su monitor serie. Guarde esta dirección IP ya que la necesitará más adelante.

En mi caso la dirección IP de ESP es 192.168.1.95. Si tiene problemas para ver su dirección IP, consulte esta guía de solución de problemas.

Creando la aplicación de Android con MIT App Inventor

MIT App Inventor es un software de arrastrar y soltar que le permite crear una aplicación de Android simple pero completamente funcional en una hora o menos.

Para editar la aplicación del controlador ESP8266:

  1. Haga clic aquí para descargar el archivo .aia
  2. Descomprime la carpeta
  3. Ir a CON App Inventor
  4. Haga clic en el botón «Crear aplicaciones» en la esquina superior derecha.
  5. Vaya a la pestaña «Proyectos» y seleccione «Importar proyecto (.aia)».

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

Después de importar el archivo AIA, puede editar la aplicación y ver cómo se creó.

Diseñadores

La pestaña Diseñador le permite editar la apariencia de la aplicación. Puede cambiar el texto, cambiar los colores, agregar botones o agregar otras funciones.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)

bloques

En la sección Bloques puedes agregar la función de cada botón y agregar lógica a tu aplicación.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)
Haga clic en la imagen de arriba para ampliar la imagen

Una vez que termine de editar la aplicación, puede hacer clic en la pestaña «Crear aplicación» e instalar el archivo APK en su Android. Personalmente, recomiendo que primero cargue la aplicación que se proporciona a continuación para asegurarse de que todo funcione como se esperaba (luego podrá editar la aplicación).

Instalación de la aplicación de Android

Siga estas instrucciones para instalar la aplicación predeterminada que creé:

  1. Haga clic aquí para descargar el archivo APK
  2. Descomprime la carpeta
  3. Mueve el archivo APK a tu teléfono Android
  4. Ejecute el archivo APK para instalar la aplicación.

Asi es como funciona Controlador ESP8266 Cómo se ve la aplicación cuando la abres.

ESP8266 controlado con la aplicación de Android (MIT App Inventor)
Controlador ESP8266

Es muy fácil de configurar. Haga clic en el botón «Establecer dirección IP» en la parte inferior de la pantalla e ingrese su dirección IP (en mi caso 192.168.1.95).

¡Estas listo!

Ahora puede subir y bajar los GPIO usando su teléfono inteligente. Vaya a la parte superior de esta página para ver uno. Vídeo de demostración de este proyecto.

Continuamos

Este es un ejemplo sencillo para mostrarle lo fácil que es integrar una aplicación de Android con el ESP8266. Puede tomar este ejemplo y modificarlo.

Puede agregar varias pantallas a la aplicación para usar otros ESP o agregar botones para controlar GPIO adicionales.

¿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 por favor apóyame suscribiéndote a mi blog.

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





Control ESP8266 con App Android

Control ESP8266 con la aplicación de Android (MIT App Inventor)

En este proyecto, vas a construir una aplicación de Android utilizando el software MIT App Inventor que te permite controlar los GPIOs del ESP8266.

Video de Demonstración

Para aprender más sobre el ESP8266, puedes consultar los siguientes tutoriales como referencia:

  1. Getting started with the ESP8266
  2. ESP8266 web server with NodeMCU
  3. Flashing NodeMCU firmware
  4. ESP8266 troubleshooting guide

Si te gusta el ESP y quieres hacer más proyectos, puedes descargar mi eBook sobre Automatización del Hogar utilizando ESP8266.

¡Vamos a Empezar!

Lista de Componentes

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

  1. 1x ESP8266 – revisa las mejores placas de desarrollo Wi-Fi ESP8266
  2. 1x Programador FTDI
  3. 2x LEDs
  4. 2x Resistencias de 220Ω
  5. 1x Protoboard
  6. 1x Teléfono Android – por ejemplo OnePlus 5 (lee la reseña)

Puedes encontrar todos los componentes para tus proyectos al mejor precio aquí.

Flasheando tu ESP con NodeMCU

En este tutorial vamos a utilizar el firmware NodeMCU. Debes flashear tu ESP con el firmware NodeMCU.

Descarga e instala el IDE ESPlorer siguiendo estas instrucciones:

  1. Haz clic aquí para descargar ESPlorer
  2. Descomprime la carpeta
  3. Ve a la carpeta principal
  4. Ejecuta el archivo «ESPlorer.jar»

Esquemático (Programador FTDI de 3.3V)

El esquemático para este proyecto es muy sencillo, solo necesitas establecer una comunicación serial entre tu programador FTDI y tu ESP8266.

Conexiones:

  1. RX -> TX
  2. TX -> RX
  3. CH_PD -> 3.3V
  4. VCC -> 3.3V
  5. GND -> GND

Subiendo el Código

Debes subir el siguiente código a tu ESP8266 utilizando el software mencionado. Tu archivo debe llamarse «init.lua».

-- Rui Santos
-- Detalles completos del proyecto en Random Nerd Tutorials

wifi.setmode(wifi.STATION)
wifi.sta.config("NOMBRE_DE_TU_RED","CONTRASEÑA_DE_TU_RED")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(client,request)
        local buf = "";
        buf = buf.."HTTP/1.1 200 OKnn"
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            
        
        
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.HIGH);
        elseif(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.LOW);
        elseif(_GET.pin == "ON2")then
              gpio.write(led2, gpio.HIGH);
        elseif(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.LOW);
        
        client:send(buf);
        client:close();
        collectgarbage();
    )
)

¡Ahora puedes controlar los LEDs del ESP8266 desde tu smartphone!


5 comentarios en «ESP8266 controlado con la aplicación de Android (MIT App Inventor)»

Deja un comentario