Med hjälp av ESP-01 och Arduino UNO (5 / 13 steg)
Steg 5: Kod förklaring - fortsatte
void loop() {
button_state = digitalRead(button);
IF(button_state == High) {
mySerial.println("AT+CIPSEND=0,23");
mySerial.println ("< h1 > knappen trycktes! </h1 >");
Delay(1000);
SendCommand("AT+CIPCLOSE=0","OK");
}
String IncomingString = "";
booleska StringReady = false;
samtidigt (mySerial.available()) {
IncomingString=mySerial.readString();
StringReady = sant;
}
om (StringReady) {
Serial.println ("fått sträng:" + IncomingString);
om (IncomingString.indexOf("LED=ON")! = -1) {
digitalWrite(LED,HIGH);
}
om (IncomingString.indexOf("LED=OFF")! = -1) {
digitalWrite(LED,LOW);
}
}
}
I slingan, vi läser statligt av knappen och tilldela den till den variabeln "button_state."
Sedan kontrollerar vi om knappen trycks.
Om fallet är sant, vi skriver du kommandot "AT + CIPSEND = 0, 23" att skicka 23 bit av data via kanal 0 till vår enhet ansluten till den ESP-01. Vi skriver det meddelande som vi vill skicka. I detta fall är meddelandet "Knappen trycktes!" Observera att vi kan använda HTML-formatering för att redigera texten och göra det en header.
Därefter skapar vi en string-variabel som ska innehålla data från modulen ESP. När alla data har lästs vi kontrollera om den mottagna datan innehåller antingen en sträng som motsvarar "LED = ON" eller "LED = OFF" i linje.
Om det första fallet är sant, är LED påslagen. Om det andra fallet är sant, är LED avstängd.