Stap 5: Code uitleg - vervolg
void loop(){ button_state = digitalRead(button); if(button_state == HIGH){ mySerial.println("AT+CIPSEND=0,23"); mySerial.println("<h1>Button was pressed!</h1>"); delay(1000); SendCommand("AT+CIPCLOSE=0","OK"); } String IncomingString=""; boolean StringReady = false; while (mySerial.available()){ IncomingString=mySerial.readString(); StringReady= true; } if (StringReady){ Serial.println("Received String: " + IncomingString); if (IncomingString.indexOf("LED=ON") != -1) { digitalWrite(LED,HIGH); } if (IncomingString.indexOf("LED=OFF") != -1) { digitalWrite(LED,LOW); } } }
In de lus, we lezen de status van de knop en deze toewijzen aan de variabele "button_state."
We controleren vervolgens als de knop wordt ingedrukt.
Als het geval waar is, we de opdracht typen "AT + CIPSEND = 0, 23" voor het verzenden van gegevens via kanaal 0 naar onze apparaat dat is aangesloten op de ESP-01 23 beetje. Typ we de boodschap die we willen sturen. In dit geval is het bericht "Knop werd ingedrukt!" Merk op dat we gebruiken HTML kunnen-opmaak te bewerken van de tekst en maken het een koptekst.
Vervolgens maken we een string-variabele die de gegevens vanuit de ESP module zal houden. Zodra alle data gelezen is we controleren of de ontvangen gegevens bevat ofwel een tekenreeks die gelijk is aan "LED = ON" of "LED = OFF" langs de lijnen.
Als het eerste geval waar is, wordt de LED is ingeschakeld. Als het tweede geval waar is, wordt de LED is uitgeschakeld.