Efter att ha monterat Wi-Fi-modulen på Arduino-kortet, använd den här appen på mobiltelefonen för att ansluta Wi-Fi-kommunikationen mellan mobiltelefonen och Arduino, tryck på de 10 knapparna som finns på mobiltelefonen för att känna igen tryckningen av knappen på Arduino för att utföra önskad operation.app som tillåter
- Enkel knapp: 10
(Data skickas till Arduino när varje knapp trycks in)
Knapp 1: '0' (hexadecimal 30) Knapp 2: '1' (hexadecimal 31)
Knapp 3: '2' (hexadecimal 32) Knapp 4: '3' (hexadecimal 33)
Knapp 5: '4' (hexadecimal 34) Knapp 6: '5' (hexadecimal 35)
Knapp 7: '6' (hexadecimal 36) Knapp 8: '7' (hexadecimal 37)
Knapp 9: '8' (hexadecimal 38) Knapp 10: '9' (hexadecimal 39)
(Exempel på program i Arduino)
LED ansluten till digital port 5 på Arduino tänds när knapp 1 trycks en gång och släcks när du trycker på den igen. (Växla åtgärd)
///// Styrning av lysdioder via Wi-Fi
Inkludera SoftwareSerial.h i den första delen.
SoftwareSerial esp8266(2,3);
void setup()
{
Seriestart (9600);
esp8266.begin(9600); // baudhastighet på esp
pinMode(5, OUTPUT);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // modulåterställning
sendData("AT+CWMODE=2\r\n",1000); // satt som AP (åtkomstpunkt)
sendData("AT+CIFSR\r\n",1000); // få ip-adress
sendData("AT+CIPMUX=1\r\n",1000); // inställd på flera anslutningar
sendData("AT+CIPSERVER=1,80\r\n",1000); // server på port 80
}
void loop()
{
if(esp8266.available()) // om esp skickar ett meddelande
{
if(esp8266.find("+IPD,""))
{
fördröjning(200); // läs alla seriella data
int connectionId = esp8266.read();
esp8266.find("?");
int Number = esp8266.read();
if(Number==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// stäng kommando
String closeCommand = "AT+CIPCLOSE=";
closeCommand += anslutnings-ID; // bifoga anslutnings-id
closeCommand += "\r\n";
sendData(closeCommand,1000); // nära anslutning
}
}
}
String sendData(String-kommando, const int timeout)
{
String respons = "";
esp8266.print(kommando); // skicka läs tecken till esp8266
long int time = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
// Om det finns mottagen data i esp, skicka den i serie
char c = esp8266.read(); // läs nästa tecken
svar+=c;
}
}
retursvar;
}
Uppdaterades den
5 dec. 2024