Kun olet asentanut Wi-Fi-moduulin Arduino-levylle, käyttänyt tätä sovellusta matkapuhelimessa Wi-Fi-viestinnän yhdistämiseksi matkapuhelimen ja Arduinon välillä, painamalla matkapuhelimen 10 painiketta tunnistaaksesi painikkeen painamisen Arduino suorittaa halutun toiminnon. sovellus, joka sallii
- Yksi painike: 10
(Tiedot lähetetään Arduinoon, kun jokaista painiketta painetaan)
Painike 1: '0' (heksadesimaali 30) Painike 2: '1' (heksadesimaali 31)
Painike 3: ‘2’ (heksadesimaali 32) Painike 4: ‘3’ (heksadesimaali 33)
Painike 5: "4" (heksadesimaali 34) Painike 6: "5" (heksadesimaali 35)
Painike 7: "6" (heksadesimaali 36) Painike 8: "7" (heksadesimaali 37)
Painike 9: "8" (heksadesimaali 38) Painike 10: "9" (heksadesimaali 39)
(Esimerkki Arduinon ohjelmasta)
Arduinon digitaaliporttiin 5 kytketty LED syttyy, kun painiketta 1 painetaan kerran, ja sammuu, kun sitä painetaan uudelleen. (Toggle)
///// LEDien ohjaus Wi-Fi:n kautta
Sisällytä SoftwareSerial.h ensimmäiseen osaan.
SoftwareSerial esp8266(2,3);
void setup()
{
Serial. begin(9600);
esp8266.begin(9600); // baudinopeus esp
pinMode(5, OUTPUT);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // moduulin nollaus
sendData("AT+CWMODE=2\r\n",1000); // asetettu AP:ksi (access point)
sendData("AT+CIFSR\r\n",1000); // hanki ip-osoite
sendData("AT+CIPMUX=1\r\n",1000); // asetettu useille yhteyksille
sendData("AT+CIPSERVER=1,80\r\n",1000); // palvelin portissa 80
}
void loop()
{
if(esp8266.available()) // jos esp lähettää viestin
{
if(esp8266.find("+IPD"))
{
viive (200); // lue kaikki sarjatiedot
int yhteysId = esp8266.read();
esp8266.find("?");
int Numero = esp8266.read();
if(luku==0x30){
if(digitalRead(5)==KORKEA) digitalWrite(5, LOW);
muu digitalWrite(5, KORKEA);
}
// sulje komento
Merkkijono closeCommand = "AT+CIPCLOSE=";
closeCommand += yhteystunnus; // liitä yhteystunnus
closeCommand += "\r\n";
sendData(closeCommand,1000); // Sulje yhteys
}
}
}
Merkkijono sendData (merkkijono komento, const int aikakatkaisu)
{
Merkkijonovastaus = "";
esp8266.print(komento); // lähetä lukumerkki numeroon esp8266
pitkä int time = millis();
while( (aika+aikakatkaisu) > millis())
{
while(esp8266.available())
{
// Jos esp:ssä on vastaanotettu data, lähetä se sarjana
char c = esp8266.read(); // lue seuraava merkki
vastaus+=c;
}
}
palauttaa vastauksen;
}