Efter montering af Wi-Fi-modulet på Arduino-kortet, betjening af denne app på mobiltelefonen for at forbinde Wi-Fi-kommunikationen mellem mobiltelefonen og Arduino, tryk på de 10 knapper på mobiltelefonen for at genkende trykket på knappen på Arduino til at udføre den ønskede handling.app, der tillader
- Enkelt knap: 10
(Data sendt til Arduino, når hver knap trykkes)
Knap 1: '0' (hexadecimal 30) Knap 2: '1' (hexadecimal 31)
Knap 3: '2' (hexadecimal 32) Knap 4: '3' (hexadecimal 33)
Knap 5: '4' (hexadecimal 34) Knap 6: '5' (hexadecimal 35)
Knap 7: '6' (hexadecimal 36) Knap 8: '7' (hexadecimal 37)
Knap 9: '8' (hexadecimal 38) Knap 10: '9' (hexadecimal 39)
(Eksempel på program i Arduino)
LED tilsluttet til digital port 5 på Arduino tændes, når der trykkes på knap 1 én gang, og slukker, når der trykkes på igen. (Skift-handling)
///// Styring af LED'er via Wi-Fi
Inkluder SoftwareSerial.h i den første del.
SoftwareSerial esp8266(2,3);
ugyldig opsætning()
{
Seriel start(9600);
esp8266.begin(9600); // baudrate på esp
pinMode(5, OUTPUT);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // modul nulstilling
sendData("AT+CWMODE=2\r\n",1000); // indstillet som AP (adgangspunkt)
sendData("AT+CIFSR\r\n",1000); // få ip-adresse
sendData("AT+CIPMUX=1\r\n",1000); // indstillet til flere forbindelser
sendData("AT+CIPSERVER=1,80\r\n",1000); // server på port 80
}
void loop()
{
if(esp8266.available()) // hvis esp sender en besked
{
if(esp8266.find("+IPD,""))
{
forsinkelse(200); // læs alle serielle data
int connectionId = esp8266.read();
esp8266.find("?");
int Tal = esp8266.read();
if(antal==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
andet digitalWrite(5, HIGH);
}
// lukkekommando
String closeCommand = "AT+CIPCLOSE=";
closeCommand += forbindelses-id; // vedhæft forbindelses-id
closeCommand += "\r\n";
sendData(closeCommand,1000); // tæt forbindelse
}
}
}
String sendData(String-kommando, const int timeout)
{
String respons = "";
esp8266.print(kommando); // send læsetegn til esp8266
lang int tid = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
// Hvis der er modtaget data i esp, send det serielt
char c = esp8266.read(); // læs det næste tegn
respons+=c;
}
}
retursvar;
}