Despuรฉs de montar el mรณdulo Wi-Fi en la placa Arduino, operar esta aplicaciรณn en el telรฉfono mรณvil para conectar la comunicaciรณn Wi-Fi entre el telรฉfono mรณvil y Arduino, presionando los 10 botones provistos en el telรฉfono mรณvil para reconocer la presiรณn del botรณn en el Arduino para realizar la operaciรณn deseada app que permite
- Botรณn รบnico: 10
(Datos enviados a Arduino cuando se presiona cada botรณn)
Botรณn 1: '0' (30 hexadecimales) Botรณn 2: '1' (31 hexadecimales)
Botรณn 3: '2' (32 hexadecimales) Botรณn 4: '3' (33 hexadecimales)
Botรณn 5: '4' (34 hexadecimales) Botรณn 6: '5' (35 hexadecimales)
Botรณn 7: '6' (hexadecimal 36) Botรณn 8: '7' (hexadecimal 37)
Botรณn 9: '8' (38 hexadecimales) Botรณn 10: '9' (39 hexadecimales)
(Ejemplo de programa en Arduino)
El LED conectado al puerto digital 5 de Arduino se enciende cuando se presiona una vez el botรณn 1 y se apaga cuando se vuelve a presionar (acciรณn de alternancia).
///// Control de LED a travรฉs de Wi-Fi
Incluya SoftwareSerial.h en la primera parte.
SoftwareSerial esp8266(2,3);
configuraciรณn vacรญa ()
{
Serial.begin(9600);
esp8266.begin(9600); // tasa de baudios de esp
pinMode(5, SALIDA);
escritura digital(, BAJO);
enviarDatos("AT+RST\r\n",2000); // reinicio del modulo
enviarDatos("AT+CWMODE=2\r\n",1000); // establecer como AP (punto de acceso)
enviarDatos("AT+CIFSR\r\n",1000); // obtener la direcciรณn IP
enviarDatos("AT+CIPMUX=1\r\n",1000); // establecer mรบltiples conexiones
enviarDatos("AT+CIPSERVER=1,80\r\n",1000); // servidor en el puerto 80
}
bucle vacรญo ()
{
if(esp8266.disponible()) // si esp estรก enviando un mensaje
{
if(esp8266.find("+IPD,"))
{
retraso (200); // lee todos los datos en serie
int conexiรณnId = esp8266.read();
esp8266.buscar("?");
Nรบmero int = esp8266.read();
si (Nรบmero == 0x30) {
si (lectura digital (5) == ALTO) escritura digital (5, BAJO);
mรกs digitalWrite(5, ALTO);
}
// cerrar comando
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // adjuntar id de conexiรณn
cerrarComando += "\r\n";
enviarDatos(cerrarComando,1000); // conexiรณn cercana
}
}
}
Cadena sendData (comando de cadena, tiempo de espera int const)
{
Respuesta de cadena = "";
esp8266.print(comando); // enviar caracter de lectura a esp8266
tiempo int largo = milisegundos();
while( (tiempo+tiempo de espera) > milisegundos())
{
mientras (esp8266.disponible())
{
// Si hay datos recibidos en esp, los enviamos serialmente
char c = esp8266.read(); // lee el siguiente caracter
respuesta+=c;
}
}
respuesta de retorno;
}