ESP8266 + Websocket server RGB LED-controller (1 / 4 steg)
Steg 1: Installera: ESP8266
Det finns en hel del tutorials ute på hur man programmerar esp med arduino IDE.
Jag skrev redan om detta, så jag inte tänker uppehålla mig vid detta. Läs följande innan du fortsätter:
Efter inställning-upp din esp8266, kan vi fortsätta att skriva skissen till den.
Ladda ner skissen i den bifogade filen, öppna den i Arduino IDE och skriva den till ESP
Filen "espwithNetwork.ino" anger ESp att ansluta till ditt hemnätverk.
Du måste ändra SSID och lösenord därför. Också ändra följande
- CONST int bluePin = 13.
- CONST int redPin = 15.
- CONST int greenPin = 12
enligt stift anslutit du RGB till.
Om du vill ställa in ESP8266 som en åtkomstpunkt och kontroll stiftet lokalt, ladda ner den andra file"espasAP.ino" istället. Här måste du också konfigurera din ap SSID och önskat lösenord. sedan kan du ansluta datorn kör web server klienten till åtkomstpunkten ESP med autentiseringsuppgifter.
Web-uttaget händelsen förklarade
koden bygger på Markus Sattler bibliotek. Jag ändrade koden (med hjälp från Markus själv, tack!).
String text = sträng ((char *) & payload[0]);
IF(text=="LED") {digitalWrite(13,HIGH);
Delay(500); digitalWrite(13,LOW);
Serial.println ("ledde bara lyser");
webSocket.sendTXT (num, "ledde bara upplyst", längd); }
Här, ledde servern "lyssnar" om web server client "säger" "Ledde" och blinkar 13 om så är fallet. Det ekar också "ledde bara lyser" till klienten.
IF(text.startsWith("x")) {
Sträng xVal=(text.substring(text.indexOf("x")+1,text.length()));
int xInt = xVal.toInt();
analogWrite(redPin,xInt);
Serial.println(xVal);
webSocket.sendTXT (num, "red ändras", längd); }
Här lyssnar vi om klienten skickar "x" värden som används för att ställa in värdet av röda LED RGB. Detta värde kommer från ett reglage med min värdet 0 eller max 255 på web server-klienten. Vi ska förklara detta i nästa steg. Bar med mig. Så jag använder PWN till höger analoga värde till röda led stift. Den nästa bit kod liknar 'x' del men tar hand om blå nålen och gröna pin värdet genom att genomföra z och y-värden som skickas från klienten. Du kan ändra koden för att göra vad du vill. Möjligheterna är oändliga. T.ex kan du ansluta en relä och ljus hem lampor/på etc. även om du vill skicka flera värden samtidigt, kan du skicka det som JSON. Jag rekommenderar detta bibliotek att avkoda json-sträng som skickas från klienten.