Despois de montar o módulo Wi-Fi na placa Arduino, operar esta aplicación no teléfono móbil para conectar a comunicación Wi-Fi entre o teléfono móbil e Arduino, premendo os 10 botóns proporcionados no teléfono móbil para recoñecer a presión do botón de o Arduino para realizar a operación desexada.aplicación que permite
- Botón único: 10
(Datos enviados a Arduino cando se preme cada botón)
Botón 1: ‘0’ (hexadecimal 30) Botón 2: ‘1’ (hexadecimal 31)
Botón 3: '2' (hexadecimal 32) Botón 4: '3' (hexadecimal 33)
Botón 5: '4' (hexadecimal 34) Botón 6: '5' (hexadecimal 35)
Botón 7: ‘6’ (hexadecimal 36) Botón 8: ‘7’ (hexadecimal 37)
Botón 9: '8' (hexadecimal 38) Botón 10: '9' (hexadecimal 39)
(Exemplo de programa en Arduino)
O LED conectado ao porto dixital 5 de Arduino acendese cando se preme o botón 1 unha vez e apágase cando se preme de novo. (Acción de alternar)
///// Control de LEDs mediante Wi-Fi
Incluír SoftwareSerial.h na primeira parte.
SoftwareSerial esp8266(2,3);
void configuración ()
{
Serial.comezo(9600);
esp8266.begin(9600); // velocidade en baudios de esp
pinMode(5, OUTPUT);
DigitalWrite(, BAIXO);
sendData("AT+RST\r\n",2000); // reinicio do módulo
sendData("AT+CWMODE=2\r\n",1000); // establecer como AP (punto de acceso)
sendData("AT+CIFSR\r\n",1000); // obter o enderezo IP
sendData("AT+CIPMUX=1\r\n",1000); // estableceu varias conexións
sendData("AT+CIPSERVER=1,80\r\n",1000); // servidor no porto 80
}
bucle baleiro ()
{
if(esp8266.available()) // se esp está enviando unha mensaxe
{
if(esp8266.find("+IPD,"))
{
atraso (200); // le todos os datos en serie
int connectionId = esp8266.read();
esp8266.find("?");
int Número = esp8266.read();
if(Número==0x30){
if(digitalRead(5)==ALTO) digitalWrite(5, BAIXO);
else digitalWrite(5, HIGH);
}
// Pechar comando
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // anexa a identificación da conexión
closeCommand += "\r\n";
sendData(closeCommand,1000); // pechar a conexión
}
}
}
String sendData (comando String, tempo de espera const int)
{
Resposta de cadea = "";
esp8266.print(comando); // enviar o carácter de lectura a esp8266
tempo int longo = milis();
while( (tempo+tempo de espera) > milis())
{
mentres(esp8266.dispoñible())
{
// Se hai datos recibidos en esp, envíaos en serie
char c = esp8266.read(); // le o seguinte carácter
resposta+=c;
}
}
devolver resposta;
}
Última actualización
5 de dec. de 2024