Serveur pour gérer les connexions avec les Smart Sockets


9

En ce moment, je travaille sur l'architecture d'une application qui gérera les sockets intelligents et j'ai besoin de conseils. Voici ce que j'ai pour l'instant:

Architecture du système

Je ne sais pas comment gérer la connexion entre Spring et la prise intelligente (je veux pouvoir activer / désactiver la prise depuis mon application Web). Je communique avec mes sockets via HTTP. Mon idée est d'avoir un serveur qui gèrera les connexions et les commandes entre Spring et les sockets:

  1. Lorsque le socket sera activé, il essaiera de se connecter au serveur.
  2. Le serveur attendra les nouvelles connexions des Smart Sockets pour les enregistrer. Il attendra également les commandes de Spring pour changer l'état de la socket.

Est-ce que c'est une bonne idée? Si oui, existe-t-il un outil qui m'aidera à le faire (peut-être intégré au printemps), ou devrais-je l'écrire moi-même?


À première vue, il y a beaucoup de pièces mobiles ici. Pour le moment, Node-RED ne semble pas faire quoi que ce soit, sauf des données froward à l'instance Mongo, mais (en supposant que cela est juste pour vous), il est probablement capable de présenter également toute la partie avant
hardillb

Réponses:


7

Vous avez déjà la possibilité de publier des données via le protocole MQTT, même un courtier et un moyen de transmettre certaines demandes à Spring à partir du socket.

Je ne vois aucun intérêt à prendre la responsabilité de savoir si la prise est branchée pour certaines demandes de Spring. Le courtier MQTT fait cela sous le capot, vous n'avez pas à réinventer la roue.

Donc, je créerais d'autres éditeurs et abonnements à Spring et socket et utiliserais MQTT comme protocole, sans toucher à http cette fois-ci.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.