Hallo
in dit instructable, ik zal u tonen hoe voor het maken van een lichtgewicht en ongelooflijk responsive webserver met WebSockets.
Ik zal het gebruik om een LED met behulp van een Arduino, maar het concept kan worden toegepast op vele andere projecten.
Aangezien dit project maakt geen gebruik van een on-board randapparatuur, het zal werken met zowat elke computer, maar draait het op een laag vermogen machine zoals de Raspberry PI is zinvol voor continu gebruik.
Hoezo Node.Js of WebSockets?
Er zijn een paar tutorials op het web die laten zien hoe het gebruik van een Raspberry Pi voor huisautomatisering, maar veel gebruik php en eenvoudige http-verzoeken om gegevens te verzenden naar de server. Dit is prima voor het eenvoudig wisselen van in- en uitschakelen enkele lichten maar snel bereikt beperkingen wanneer u wilt uitvoeren van server-side code of als u wilt dat bidirectionele communicatie.
Node.Js kunt u schrijven programma's in JavaScript en de enorme hoeveelheid communautaire-en-klare bibliotheken kunt u zeer ingewikkelde programma's in slechts een paar lijnen van code schrijven.
Websockets hebben een paar voordelen ten opzichte van eenvoudige http-aanvragen:
- Snelheid: Een normale http-verzoek moet een verbinding tot stand brengen voordat alle transacties kunnen gebeuren dat kost veel tijd. Een websocket is altijd open en klaar om te verzenden of ontvangen van gegevens.
Dit betekent dat de lag zo laag als je ping, dus gewoon een milliseconde of twee in de meeste gevallen kan worden - Bidirectionele: Websockets zodat gegevens kunnen worden verzonden in beide richtingen, dit betekent ook dat de server kan leiden tot gebeurtenissen in de client.