Després de muntar el mòdul Wi-Fi a la placa Arduino, operar aquesta aplicació al telèfon mòbil per connectar la comunicació Wi-Fi entre el telèfon mòbil i Arduino, prement els 10 botons proporcionats al telèfon mòbil per reconèixer la pressió del botó en l'Arduino per realitzar l'operació desitjada.aplicació que permet
- Botó únic: 10
(Les dades s'envien a Arduino quan es prem cada botó)
Botó 1: "0" (hexadecimal 30) Botó 2: "1" (hexadecimal 31)
Botó 3: "2" (hexadecimal 32) Botó 4: "3" (hexadecimal 33)
Botó 5: "4" (hexadecimal 34) Botó 6: "5" (hexadecimal 35)
Botó 7: "6" (hexadecimal 36) Botó 8: "7" (hexadecimal 37)
Botó 9: "8" (hexadecimal 38) Botó 10: "9" (hexadecimal 39)
(Exemple de programa en Arduino)
El LED connectat al port digital 5 d'Arduino s'encén quan es prem el botó 1 una vegada i s'apaga quan es torna a prémer. (Acció de commutació)
///// Control dels LED mitjançant Wi-Fi
Inclou SoftwareSerial.h a la primera part.
SoftwareSerial esp8266(2,3);
void setup ()
{
Serial. begin(9600);
esp8266.begin(9600); // velocitat en baudis d'esp
pinMode(5, SORTIDA);
digitalWrite(, BAIX);
sendData("AT+RST\r\n",2000); // restabliment del mòdul
sendData("AT+CWMODE=2\r\n",1000); // estableix com a AP (punt d'accés)
sendData("AT+CIFSR\r\n",1000); // obteniu l'adreça IP
sendData("AT+CIPMUX=1\r\n",1000); // estableix múltiples connexions
sendData("AT+CIPSERVER=1,80\r\n",1000); // servidor al port 80
}
bucle buit ()
{
if(esp8266.available()) // si esp està enviant un missatge
{
if(esp8266.find("+IPD,"))
{
retard (200); // llegiu totes les dades en sèrie
int connectionId = esp8266.read();
esp8266.find("?");
int Número = esp8266.read();
if(Nombre==0x30){
if(digitalRead(5)==ALTA) digitalWrite(5, BAIX);
else digitalWrite(5, HIGH);
}
// tanca l'ordre
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // adjunta l'identificador de connexió
closeCommand += "\r\n";
sendData(closeCommand,1000); // tanca la connexió
}
}
}
String sendData (ordre String, temps d'espera const int)
{
Resposta de cadena = "";
esp8266.print(ordre); // envia caràcter de lectura a esp8266
temps int llarg = millis();
while( (temps+temps d'espera) > millis ())
{
mentre(esp8266.disponible())
{
// Si hi ha dades rebudes en esp, envieu-les en sèrie
char c = esp8266.read(); // llegiu el següent caràcter
resposta+=c;
}
}
resposta de retorn;
}
Data d'actualització:
5 de des. 2024