Stap 1: Setup: ESP8266
Er zijn veel tutorials die er over hoe te programmeren van de esp met de arduino IDE.
Ik schreef al over dit, dus ik ga er niet verder over uitweiden. Lees het volgende voordat u verdergaat:
Na het opzetten van uw esp8266, kunnen we doorgaan met het schrijven van de schets aan.
Downloaden van de schets die in de bijlage, openen in de Arduino IDE en naar ESP schrijven
Het bestand "espwithNetwork.ino" wordt ingesteld dat de ESp te verbinden met uw thuisnetwerk.
U moet de SSID en het wachtwoord gewijzigd. Ook de volgende gegevens wijzigen
- Const int bluePin = 13;
- Const int redPin = 15;
- Const int greenPin = 12
volgens de pinnen aangesloten u RGB naar.
Als u instellen van de ESP8266 een access point als het besturingselement de pin lokaal wilt, download de tweede file"espasAP.ino" in plaats daarvan. Ook moet hier u aan opstelling uw ap SSID en het gewenste wachtwoord. Vervolgens kunt u een computer met web server-client met het ESP-toegangspunt met behulp van de referenties.
De web socket gebeurtenis uitgelegd
de code is gebaseerd op Markus Sattler de bibliotheek. Ik wijzigde de code (met hulp van Markus zelf, bedankt!).
Tekst string = String ((char *) & payload[0]);
if(text=="LED") {digitalWrite(13,HIGH);
delay(500); digitalWrite(13,LOW);
Serial.println ("bracht enkel verlichte");
webSocket.sendTXT (num, "bracht enkel verlichte", lengte); }
Hier, leidde de server "luistert" als web server-client "zegt" "LED" knippert 13 als dit het geval is. Het ook echo's "bracht enkel verlicht" aan client.
if(text.startsWith("x")) {}
String xVal=(text.substring(text.indexOf("x")+1,text.length()));
int xInt = xVal.toInt();
analogWrite(redPin,xInt);
Serial.println(xVal);
webSocket.sendTXT (num, "red veranderd", lengte); }
Hier luisteren we als de client stuurt "x" waarden die voor het instellen van de waarde van de rode LED van het RGB worden gebruikt. Deze waarde is afgeleid van een slider met minimumwaarde 0 of max 255 op web server-client. We gaan dit uit te leggen in de volgende stap. Kale met mij. Dus ben ik met behulp van PWN naar rechts analoge waarde moet rode led pin. Het volgende stukje code is vergelijkbaar met 'x' deel maar zorgt voor de blauwe pins waarde en groene pin waarde door de uitvoering van z en y-waarden verzonden vanaf client. U kunt de code om te doen wat je wilt aanpassen. De mogelijkheden zijn eindeloos. Bijvoorbeeld kunt u verbinding maken met een relais en licht huis lichten in-/ uitschakelen etc. ook als u wilt meerdere waarden tegelijk verzenden, kunt u het verzenden als JSON. Ik beveel deze bibliotheek te decoderen van de verzonden vanaf client json-string.