Lätt Node.JS + WebSockets LED-Controller för Raspberry Pi
Hej
i detta instructable, jag ska visa dig hur man skapar en lätt och otroligt lyhörd webbserver med WebSockets.
Jag ska använda den för att styra en LED med en Arduino men begreppet kan tillämpas på många andra projekt.
Eftersom detta projekt inte använder någon ombord kringutrustning, det kommer att fungera med bara om någon dator, men kör den på en strömsnål maskin som Raspberry PI är vettigt för kontinuerlig drift.
Varför använda Node.Js eller WebSockets?
Det finns några tutorials på nätet som visar hur du använder en Raspberry Pi för hemautomation, men många använder php och enkla http-förfrågningar skicka data till servern. Detta är bra för att bara koppla på och av några lampor men når snabbt det är begränsningar när du vill köra kod serversidan eller om du vill använda dubbelriktad kommunikation.
Node.Js kan du skriva program i JavaScript och den stora mängden gemenskapen-made bibliotek kan du skriva mycket intrikat program på bara några rader kod.
WebSockets har några fördelar jämfört med enkla http-förfrågningar:
- Hastighet: En vanlig http-begäran har att upprätta en anslutning innan transaktioner kan ske som tar mycket tid. En websocket är alltid öppen och redo att skicka eller ta emot data.
Detta innebär att lag kan vara så låg som din ping, så det är bara en millisekund eller två i de flesta fall - Dubbelriktad: Websockets kan data skickas i båda riktningarna, detta innebär också att servern kan utlösa händelser i klienten.