Salut
dans ce instructable, je vais vous montrer comment créer un serveur web léger et incroyablement réactif avec WebSockets.
Je vais l’utiliser pour contrôler une LED en utilisant un Arduino, mais le concept peut être appliqué à beaucoup d’autres projets.
Étant donné que ce projet n’utilise pas tous les périphériques embarqués, il fonctionnera avec n’importe quel ordinateur, mais en l’exécutant sur une machine de faible puissance comme le Raspberry PI est logique pour un fonctionnement continu.
Pourquoi utiliser Node.Js ou WebSockets ?
Il y a quelques tutoriels sur le web qui montrent comment utiliser un Pi de framboise pour la domotique, mais beaucoup utilisent php et les requêtes http simple pour envoyer des données sur le serveur. C’est très bien pour tout simplement allumer et éteindre des feux, mais atteint rapidement ses limites lorsque vous souhaitez exécuter le code côté serveur ou si vous voulez la communication bidirectionnelle.
Node.Js vous permet d’écrire des programmes en JavaScript et l’énorme quantité de bibliothèques communautaires-faites vous permet d’écrire des programmes très complexes en seulement quelques lignes de code.
WebSockets ont quelques avantages par rapport aux requêtes http simple :
- Vitesse : Une requête http normal doit établir une connexion avant que toutes les transactions peuvent se produire qui prend beaucoup de temps. Un websocket est toujours ouvert et prêt à envoyer ou recevoir des données.
Cela signifie que le décalage peut être aussi bas que votre ping, il suffit donc d’une milliseconde ou deux dans la plupart des cas - Bidirectionnel : Websockets permettent de données à envoyer dans les deux sens, cela signifie également que le serveur peut déclencher des événements dans le client.