Suscribete en mi canal de youtube en https://www.youtube.com/c/Carlosvolt
Seguinos en https://www.facebook.com/groups/407445649459365
Hola amigos de youtube hoy les traigo un nuevo video donde les muestro la implementación de un módulo wifi esp8266 conectado a un arduino uno. En este video podran ver como enciendo 4 led con una aplicación para android.
Se agradece un ME GUSTA y SUSCRIBETE a mi canal para poder seguir creciendo, gracias. Únete al Bit ;-)
Código fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#include <SoftwareSerial.h> #define DEBUG true SoftwareSerial modulo(2,3); // Pin 2 receptor, Pin 3 transmisor void setup() { Serial.begin(9600); modulo.begin(9600); // velocidad de transmisión podria ser diferente aunque genralmente es la que usa el el modulo modulo pinMode(10,OUTPUT); //configuramos los pines como salidas digitalWrite(10,LOW); pinMode(11,OUTPUT); //configuramos los pines como salidas digitalWrite(11,LOW); pinMode(12,OUTPUT); //configuramos los pines como salidas digitalWrite(12,LOW); pinMode(13,OUTPUT); //configuramos los pines como salidas digitalWrite(13,LOW); sendData("AT+RST\r\n",2000,DEBUG); // resetea el modulo sendData("AT+CWMODE=3\r\n",1000,DEBUG); // configure el modulo con AP y Estación al mismo tiempo sendData("AT+CWJAP='nombre de tu red','clave de tu red'\r\n",1000,DEBUG);// cambiar estos datos por los de tu red sendData("AT+CIFSR\r\n",1000,DEBUG); // Este comandos nos indica la configuración ip que ha tomado nuestro módulo sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // Configura multiples coneciones sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // Inicializa el servidor web } void loop() { if(modulo.available()) // Verifica si el modulo está disponible { if(modulo.find("+IPD,")) //Busca el campo de texto +IPD { delay(1000); //Espera un segundo para leer todos los datos del puerto serie int connectionId = modulo.read()-48; modulo.find("sal="); // avanza el cursor a "sal=" int pinNumber = (modulo.read()-48)*10; // conseguir primer número, si el pin es 13, entonces el primer número es 1, entonces se multiplican para obtener 10 pinNumber += (modulo.read()-48); // consegue el segundo número, si el número de pin es 13, entonces el segundo número es 3, a continuación, le añade al primero digitalWrite(pinNumber, !digitalRead(pinNumber)); String closeCommand = "AT+CIPCLOSE="; closeCommand+=connectionId; closeCommand+="\r\n"; sendData(closeCommand,1000,DEBUG); // cierra la conección } } } String sendData(String command, const int timeout, boolean debug) { String cadena = ""; modulo.print(command); // enviar el carácter leído al modulo long int time = millis(); while( (time+timeout) > millis()) { while(modulo.available()) { // Muestra los Datos de salida del modulo por el seguimiento de la serie char c = modulo.read(); //Lee el proximo caracter cadena+=c; } } if(debug) { Serial.print(cadena); } return cadena; } |
Código fuente para la configuración a travez del puerto serial(para el video de Configuración por comandos AT módulo wifi ESP8266 / arduino uno )
Y aquí el video
Aplicación para android y el archivo .aia para app inventor
Comandos at para docklight at_esp8266
Manuales
ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4
Diagrama
Tal vez pueda interesarte proyectos en IOT, raspberry pi, arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas.
Que utilizaste para crear la aplicación? Podrías facilitar el código de la aplicación :)
Ahí esta publicado ya lo actualicé esta en app inventor y dejé el archivo fuente por si lo quieren modificar a su gusto saludos
Está hecha en app inventor y esta en el archivo zip de esta página junto con la aplicación para android, saludos
Si amigo sube la aplicacion de android, y porfavor has un tutorial de como hacer la aplicacion la necesito urgente, para un proyecto de la universiadad, no importa si lo tienes en escrito, appinventor, eclipce. Espero contestes ! :D
Estimado ahí actualicé el artículo con la información que solicito, espero le sirva saludos cordiales
GRacias por el tuto, quiero saber si tienes el diagrama.
hola me puedes ayudar, es que no reconoce esta linea de programacion
@eedgar Hola podrías copiar y pegar el error que te parece en el ide, saludos
hola me puedes ayudar, es que no reconoce esta linea de programacion
” if(modulo.find(“+IPD,”)) //Busca el campo de texto +IPD ”
y sin esto no va al siguiente paso
Hola podrías copiar y pegar el error que te parece en el ide, saludos
C:\Users\User_\AppData\Local\Temp\Rar$DI00.178\esp8266LedWifi\esp8266LedWifi.ino: In function ‘void loop()’:
C:\Users\User_\AppData\Local\Temp\Rar$DI00.178\esp8266LedWifi\esp8266LedWifi.ino:35:23: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if(modulo.find(“+IPD,”)) //Busca el campo de texto +IPD
disculpa no entiendo tu comentario, saludos
Intetenta reescribir las comillas dobles en (“+IPD,”) a veces el compilador no las toma bien me ha pasado
tengo el mismo error mencionado con anterioridad, he intente reescribir las comillas pero el error sigue de que otra manera puedo solucionarlo ????
Hola, Ya solucionaste el problema? — salu2
Hola, ya solucionaron ese problema? a mi también me aparece
Disculpa cuando conecto el pin 1 y 2 puenteados
no me recibe datos
y con el pin dos directo si llegan pero no activa nada
Saludos buenas tardes. Me ha encantado él montaje y la explicación. Quería consultarte si seria posible meter en un mismo sketch la posibilidad de enviar comandos para controlar los leds, y simultáneamente enviar información a un servidor remoto por ejemplo THINGSPEAK. Osea, tener un servidor para enviar órdenes y encender cosas como leds y a la vez poder enviar datos de otros sensores al thingspeak, por ejemplo temperatura y humedad y él estado actual de los leds encencidos o apagados. Gracias.
hola ¿Podrías ayudarme con este error?
warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
*El error esta en esta condición*
if(BT1.find(“u+IPD,”)){}
(no funciona reescribir las comillas)
Hola ahí pegué el código en este misma página fíjate si copiando y pegando el mismo te sigue pasando, por otro lado que versión de arduino estas usando?, saludos
Hola, buenas noches, realice todo como corresponde, el esp8266 prende la luz azul al recibir señal y al enviarla pero por alguna razon no me prenden los led de las salidas 1011,12 y 13 alguna ayuda? le conecte el rst a 3.3v pero tampoco me da salida. alguna ayuda?
modulo.find(“sal=”); // avanza el cursor a “sal=”
En el fichero ino la variable sal es pin=
modulo.find(“pin=”); // avanza el cursor a “pin=”
Yo tambien tengo ese problema
Ayuda porfavor
Saludos amigo una consulta la app como realizas el envio de datos, gracias
Hola no logro instalar el app me podria enviar el link x fa …..
Saludos
por supesto http://rogerbit.com/wprb/wp-content/uploads/2015/08/4led_appinventor.zip saludos
hola amigo que buen turorial disculpa no tendras la carpeta del proyecto para la app de android si me la puedes proporcionar para poder modificarla quiero hacer un proyecto parecido pero le quiero añadir otras cosas con android studio te lo agradeceria
@carlos-hidalgo hola si está acá mismo para descargar http://rogerbit.com/wprb/wp-content/uploads/2015/08/4led_appinventor.zip saludos
Me sumo a la petición del proyecto de la app pues también quiero crear una más personalizada. Solo necesito saber las líneas que utilizaste para conectar la app al modulo esp 8266 en el ide Android studio. Desde ya muchas gracias
Hola tienes el diagrama completo con todos los led ?
Porfavor sube con el diagrama de leds
Excelente video, gracias por compartir tus conocimientos. Pero se me presento un problema y no se que pueda ser , reviso los comandos AT en el esp y están correctos y realice los cambios en el sketch de Arduino y aun así cambiando la ip fija de mi módulo en la app , realizó las pruebas de reconocimiento hago un reset de todo pero no realiza ninguna ejecución de datos , que podría ser la falla ?