Po namontovaní modulu Wi-Fi na dosku Arduino, spustením tejto aplikácie na mobilnom telefóne na prepojenie Wi-Fi komunikácie medzi mobilným telefónom a Arduinom, stlačením 10 tlačidiel na mobilnom telefóne, rozpoznaním stlačenia tlačidiel na Arduino a spustenie požadovanej operácie
- Jedno tlačidlo: 10
(Údaje odoslané do Arduina pri stlačení každého tlačidla)
Tlačidlo 1: „0“ (šestnástkové číslo 30) Tlačidlo 2: ‚1‘ (šestnástkové číslo 31)
Tlačidlo 3: „2“ (šestnástkové číslo 32) Tlačidlo 4: ‚3‘ (šestnástkové číslo 33)
Tlačidlo 5: „4“ (hexadecimálne 34) Tlačidlo 6: „5“ (hexadecimálne 35)
Tlačidlo 7: „6“ (šestnástkové číslo 36) Tlačidlo 8: ‚7‘ (šestnástkové číslo 37)
Tlačidlo 9: „8“ (hexadecimálne 38) Tlačidlo 10: „9“ (hexadecimálne 39)
(Príklad programu v Arduine)
LED pripojená k digitálnemu portu 5 Arduina sa rozsvieti, keď stlačíte tlačidlo 1 raz, a zhasne, keď ho stlačíte znova. (Akcia prepínania)
///// Ovládanie LED diód cez Wi-Fi
Zahrňte SoftwareSerial.h do prvej časti.
SoftwareSerial esp8266(2,3);
void setup()
{
Serial. begin(9600);
esp8266.begin(9600); // prenosová rýchlosť esp
pinMode(5, OUTPUT);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // reset modulu
sendData("AT+CWMODE=2\r\n",1000); // nastaviť ako AP (prístupový bod)
sendData("AT+CIFSR\r\n",1000); // získaj IP adresu
sendData("AT+CIPMUX=1\r\n",1000); // nastavenie viacerých pripojení
sendData("AT+CIPSERVER=1,80\r\n",1000); // server na porte 80
}
void loop()
{
if(esp8266.available()) // ak esp posiela správu
{
if(esp8266.find("+IPD,"))
{
oneskorenie(200); // prečítať všetky sériové údaje
int connectionId = esp8266.read();
esp8266.find("?");
int Číslo = esp8266.read();
if(Číslo==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// príkaz na zatvorenie
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // pripojiť ID pripojenia
closeCommand += "\r\n";
sendData(closeCommand,1000); // uzavrieť spojenie
}
}
}
String sendData (príkaz String, časový limit const int)
{
Reťazec = "";
esp8266.print(príkaz); // odošle prečítaný znak do esp8266
long int time = milis();
while( (čas+časový limit) > milis())
{
while(esp8266.available())
{
// Ak sú v esp prijaté dáta, odošlite ich sériovo
char c = esp8266.read(); // prečítať ďalší znak
odozva + = c;
}
}
spätná odpoveď;
}
Aktualizované
17. 11. 2022