¿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:
- 1 ESP8266 -leer Las mejores placas de desarrollo Wi-Fi ESP8266
- 1x programador FTDI
- 2x LED
- 2 resistencias de 220 Ω
- 1x placa de pruebas
- 1x teléfono Android – ejemplo OnePlus 5 (leer reseña)
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
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:
- haga clic aquí para descargar ESPlorer
- Descomprime esta carpeta
- Ir a la carpeta principal
- Correr «ESPlorer.jar» archivo
- Abra el IDE de ESPlorer
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.
Alambrado:
- Recepción -> Transmisión
- TX -> RX
- CH_PD -> 3.3V
- VCC -> 3,3V
- Tierra -> Tierra
Subir código
Debería aparecer una ventana similar a la imagen anterior. Siga estas instrucciones para cargar un archivo Lua:
- Conecte su programador FTDI a su computadora
- Elige tu programador FTDI Puerto
- Prensa Abierto cerrado
- Elegir Pestaña NodeMCU+MicroPtyhon
- Crea un nuevo archivo llamado init.lua
- Prensa Guardar en ESP
Cualquier cosa que le preocupe o necesite cambiar se resaltará en un cuadro rojo.
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)
Esquema
Ahora siga estos esquemas para crear el circuito que controla dos LED.
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:
- Haga clic aquí para descargar el archivo .aia
- Descomprime la carpeta
- Ir a CON App Inventor
- Haga clic en el botón «Crear aplicaciones» en la esquina superior derecha.
- Vaya a la pestaña «Proyectos» y seleccione «Importar proyecto (.aia)».
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.
bloques
En la sección Bloques puedes agregar la función de cada botón y agregar lógica a tu aplicación.
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é:
- Haga clic aquí para descargar el archivo APK
- Descomprime la carpeta
- Mueve el archivo APK a tu teléfono Android
- 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.
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.
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:
- Getting started with the ESP8266
- ESP8266 web server with NodeMCU
- Flashing NodeMCU firmware
- 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:
- 1x ESP8266 – revisa las mejores placas de desarrollo Wi-Fi ESP8266
- 1x Programador FTDI
- 2x LEDs
- 2x Resistencias de 220Ω
- 1x Protoboard
- 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:
- Haz clic aquí para descargar ESPlorer
- Descomprime la carpeta
- Ve a la carpeta principal
- 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:
- RX -> TX
- TX -> RX
- CH_PD -> 3.3V
- VCC -> 3.3V
- 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!
¡Qué espectacular! Me encanta la idea de poder controlar dispositivos con el ESP8266 desde mi celular. Definitivamente voy a intentarlo. ¡Gracias por la recomendación! 🙌📲
Sí, es una combinación súper útil y fácil de usar. Me encantaría probarlo. ¡Gracias por compartir! 📱🛠️
¡Interesante! ¿Tienes alguna experiencia personal usando el ESP8266 con MIT App Inventor?
¡Suena genial! Nunca he usado el ESP8266 con MIT App Inventor, pero después de leer esto definitivamente quiero intentarlo. ¡Gracias por la inspiración! 📱✨
¡Genial! Me encanta la idea de poder controlar el ESP8266 desde mi celular con MIT App Inventor. Definitivamente voy a probarlo. ¡Gracias por la sugerencia! 🙌📲