Nakon montiranja Wi-Fi modula na Arduino ploču, rada ove aplikacije na mobilnom telefonu za povezivanje Wi-Fi komunikacije između mobilnog telefona i Arduina, pritiskom na 10 gumba na mobilnom telefonu za prepoznavanje pritiska gumba na Arduino za izvođenje željene operacije aplikacija koja omogućuje
- Jedno dugme: 10
(Podaci se šalju Arduinu kada se pritisne svaki gumb)
Gumb 1: '0' (heksadecimalni 30) Gumb 2: '1' (heksadecimalni 31)
Gumb 3: '2' (heksadecimalni 32) Gumb 4: '3' (heksadecimalni 33)
Gumb 5: '4' (heksadecimalni 34) Gumb 6: '5' (heksadecimalni 35)
Gumb 7: '6' (heksadecimalni 36) Gumb 8: '7' (heksadecimalni 37)
Gumb 9: '8' (heksadecimalni 38) Gumb 10: '9' (heksadecimalni 39)
(Primjer programa u Arduinu)
LED dioda spojena na digitalni priključak 5 Arduina uključuje se kada se tipka 1 pritisne jednom, a isključuje se kada se pritisne ponovno. (Akcija prebacivanja)
///// Upravljanje LED diodama putem Wi-Fi veze
Uključite SoftwareSerial.h u prvi dio.
SoftwareSerial esp8266(2,3);
void setup()
{
Serijski početak(9600);
esp8266.begin(9600); // brzina prijenosa esp
pinMode(5, IZLAZ);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // resetiranje modula
sendData("AT+CWMODE=2\r\n",1000); // postavi kao AP (pristupnu točku)
sendData("AT+CIFSR\r\n",1000); // dobiti ip adresu
sendData("AT+CIPMUX=1\r\n",1000); // postavljeno na više veza
sendData("AT+CIPSERVER=1,80\r\n",1000); // poslužitelj na portu 80
}
void petlja()
{
if(esp8266.available()) // ako esp šalje poruku
{
if(esp8266.find("+IPD,"))
{
kašnjenje (200); // čitanje svih serijskih podataka
int ConnectionId = esp8266.read();
esp8266.find("?");
int Broj = esp8266.read();
if(Broj==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// zatvori naredbu
String closeCommand = "AT+CIPCLOSE=";
closeCommand += ConnectionId; // priložite ID veze
closeCommand += "\r\n";
pošaljiPodatke(zatvoriNaredbu,1000); // zatvori vezu
}
}
}
String sendData(String naredba, const int timeout)
{
Odgovor niza = "";
esp8266.ispis(naredba); // pošalji znak za čitanje na esp8266
dugo int vrijeme = millis();
dok( (vrijeme+vrijeme) > mililis())
{
dok(esp8266.dostupno())
{
// Ako ima primljenih podataka u esp, pošaljite ih serijski
char c = esp8266.read(); // čitanje sljedećeg znaka
odgovor+=c;
}
}
povratni odgovor;
}