ESP8266 + Websocket server RGB LED-controller
Hej världen!
I detta instructable jag kommer att illustrera användningen av web sockets med ESP8266 micro controller. Med detta projekt kan du använda en webbläsare för att köra en webbklient uttaget till kontroll RGB LED ansluten till utgång stiften på ESP8266 mcu. The RGB kan styras av reglagen eller använda en smartphone accelerometer. Svaret är ganska snabbt med minsta fördröjning men resultaten kan variera.
Detta projekt var inspirerad av ett liknande projekt med Node.JS och arduino med raspberry pi. Jag använder inte Node.JS. Se projektet av martin här.
Jag är ingen expert och detta projekt är också en möjlighet för mig att lära mig. Jag lär mig som jag gör. Jag föredrar detta sedan genom att göra projekt som detta som du kan se användningen av saker du lär dig och sina begränsningar. Också, när du stöter på hinder, du är motiverad att hitta en lösning. Detta är en lärandeprocess, så känn dig fri att påpeka eventuella misstag eller eventuella justeringar. Jag skulle vara tacksam. Genom detta projekt jag lärt mig om web sockets, JSON, node.js, html5/javascript etc.
Varför ESP8266?
Detta är en kraftfull wifi-skit som kan fungera som en åtkomstpunkt, kan köra en enkel webbserver och även fungera som micro controller för hårdvara gränssnitt. Det finns flera smaker där ute men jag använder esp-12 utveckling styrelsen. Också, jag använder Arduino IDE till program ESP, vilket raderar AT firmware eller Nodemcu firmware som kanske redan har installerats på mcu.
Varför Websockets?
Nyligen gjorde jag ett projekt där jag använde ESP som en trådlös fjärrkontroll för avtryckaren. Detta var enkelt med hjälp av en HTTP-server. Dock ville jag också skicka GPS värden från min smartphone till ESP. använda http var lite knepigt. Tvärtom, web sockets ger en kontinuerlig öppen kommunikation med servern och datakommunikationen är dubbelriktad.
Jag läste en mycket intressant dokumentation om web sockets och node.js här. Jag rekommenderar för att läsa den.
Hur det fungerar
Jagf du läsa den ovanför dokumentation, ni kan nog gissa att detta enkla projekt i huvudsak innebär:
1. micro controller--ESP8266 till gränssnittet med hårdvara (RGB LED här)
2. socket server-att exponera ESP till nätverk--jag kör servern på ESP sig
Detta är baserad på arbete av Markus Sattler [https://github.com/Links2004].
3. klienten-att prata servern. Detta är en enkel HTML-sida som du kan köra direkt på din dator ansluten eller värd som en webapp.
ANSVARSFRISKRIVNING
Under skapandet av detta projekt använt jag material från andras arbete. Jag försökte inklusive länkar och kredit var rakt. Men att fela är mänskligt! Om jag inte på något sätt nämnt några awesome maker/coder/den som ute, ge mig shout. Jag kommer att göra det rätt :)