Pärast Wi-Fi mooduli paigaldamist Arduino tahvlile, selle rakenduse käivitamist mobiiltelefonis, et ühendada mobiiltelefoni ja Arduino vahel Wi-Fi side, vajutades mobiiltelefonis olevale 10 nupule, et tuvastada nupuvajutus. Arduino soovitud toimingu tegemiseks. rakendus, mis võimaldab
- Üks nupp: 10
(Iga nupu vajutamisel saadetakse andmed Arduinosse)
Nupp 1: "0" (kuueteistkümnendsüsteem 30) Nupp 2: "1" (kuueteistkümnendsüsteem 31)
Nupp 3: „2” (kuueteistkümnendsüsteem 32) Nupp 4: „3” (kuueteistkümnendsüsteem 33)
Nupp 5: „4” (kuueteistkümnendsüsteem 34) Nupp 6: „5” (kuueteistkümnendsüsteem 35)
Nupp 7: "6" (kuueteistkümnendsüsteem 36) Nupp 8: "7" (kuueteistkümnendsüsteem 37)
Nupp 9: "8" (kuueteistkümnendsüsteem 38) Nupp 10: "9" (kuueteistkümnendsüsteem 39)
(Arduino programmi näide)
Arduino digipordiga 5 ühendatud LED lülitub sisse, kui nuppu 1 vajutatakse üks kord, ja lülitub uuesti välja.
///// LED-ide juhtimine Wi-Fi kaudu
Kaasake SoftwareSerial.h esimesse ossa.
SoftwareSerial esp8266(2,3);
tühine seadistus ()
{
Serial. begin (9600);
esp8266.begin(9600); // esp
pinMode(5, VÄLJUND);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // mooduli lähtestamine
sendData("AT+CWMODE=2\r\n",1000); // määrata AP-ks (pääsupunkt)
sendData("AT+CIFSR\r\n",1000); // hankige IP-aadress
sendData("AT+CIPMUX=1\r\n",1000); // seatud mitmele ühendusele
sendData("AT+CIPSERVER=1,80\r\n",1000); // server pordis 80
}
void loop ()
{
if(esp8266.available()) // kui esp saadab sõnumi
{
if(esp8266.find("+IPD"))
{
viivitus(200); // loe kõik seeriaandmed
int ühenduseId = esp8266.read();
esp8266.find("?");
int Arv = esp8266.read();
if(arv==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// sulge käsk
String closeCommand = "AT+CIPCLOSE=";
closeCommand += ühenduseId; // lisa ühenduse ID
closeCommand += "\r\n";
sendData(closeCommand,1000); // tihe ühendus
}
}
}
String sendData (stringikäsk, const int timeout)
{
Stringi vastus = "";
esp8266.print(käsk); // saadab lugemismärgi esp8266-le
pikk int time = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
// Kui esp-s on vastuvõetud andmed, saatke need järjestikku
char c = esp8266.read(); // loe järgmine märk
vastus+=c;
}
}
vastus tagasi;
}
Värskendatud:
17. nov 2022