Le modèle Abonné-Éditeur s'applique-t-il également aux actionneurs?

16

Il existe des tonnes de tutoriels sur le Web, en particulier avec RabbitMQ , sur la façon de publier les données des capteurs; par exemple, la température, l'humidité, etc. Publiez simplement la valeur dans une file d'attente de messages et n'importe qui peut la consommer.

Jusqu'ici tout va bien. Mais qu'en est-il des actionneurs?

Prenons un interrupteur d'éclairage par exemple. L'interrupteur d'éclairage publie l'état actuel du luminaire dans une file d'attente. Il s'abonne également à une deuxième file d'attente pour écouter les événements. Cela permettrait une communication bidirectionnelle. Si quelqu'un / quelque chose veut allumer la lumière, un événement doit être publié dans la file d'attente de messages que l'interrupteur d'éclairage écoute.

J'espère que vous comprenez l'idée. Est-ce la voie à suivre avec les actionneurs? Existe-t-il une solution plus intelligente? Qu'en est-il de la sécurité, en pensant à l'utiliser pour les portes par exemple. Est-il possible de publier un événement porte ouverte de n'importe où? Avec quelle facilité peut-il être piraté?

Tapis
la source
1
Bienvenue dans la version bêta. Bien que le sujet de la question soit bon, je crains que certains ne la trouvent trop large. Comme vous le savez probablement sur les autres sites SE, nous préférons des questions spécifiques - et une seule question par demande. Le cas d'utilisation est bon, mais pourrait être spécifique. L'aspect sécurité (meilleur / pire plutôt que facile) pourrait être une deuxième question.
Sean Houlihane

Réponses:

10

Mais qu'en est-il des actionneurs?

Oui, le modèle pub-sub s'applique aux actionneurs.

Est-ce la voie à suivre avec les actionneurs?

C'est l'une des voies à suivre et elle est en plein essor en raison de nombreux fournisseurs de cloud comme

essayant d'occuper l'espace IoT pour déplacer facilement les données des capteurs vers le cloud avec différentes approches et comme les appareils ont une connectivité, une puissance et une bande passante limitées, ils ont besoin d'un protocole plus léger comme MQTT et tel qui est basé sur un modèle pub-sub.

Ce que je veux dire ici, c'est que tout appareil capable de détecter et de disposer de données peut utiliser pub-sub, mais la chose intelligente vient du type de mise en œuvre qu'ils font. Supposons que si vous n'utilisez pas MQTT sur un mécanisme chiffré (TLS / SSL), les données peuvent être reniflées.

Existe-t-il une solution plus intelligente?

Cela dépend de l'application et des contraintes du problème et la solution dite plus intelligente varie au fil du temps. Une autre chose à noter ici, c'est qu'avoir une solution plus intelligente n'est pas la façon la plus intelligente de contourner, car l'implémentation est ce qui compte le plus et non le protocole ou la méthode que vous choisissez.

Est-il possible de publier un événement porte ouverte de n'importe où? Est-il facile de le pirater?

Oui, il est possible d'ouvrir la porte de n'importe où en publiant un événement, mais tout cela dépend de l'application et de l'authentification que vous fournissez, par exemple, vous pouvez faire en sorte que votre application s'abonne / publie sur des sujets uniquement après l'authentification.


Scénario de cas réel:

Je connais beaucoup d'entreprises qui utilisent ce modèle exact pour les actionneurs, récemment j'ai travaillé pour une équipe qui fait partie des systèmes de suivi solaire où les panneaux solaires sont contrôlés, surveillés à l'aide des technologies sans fil.

En particulier en ce que pour déplacer / faire pivoter un tableau de panneaux en fonction de la position du soleil et en fonction de différents algorithmes d'optimisation énergétique, nous utilisons des actionneurs linéaires , dans ce système, nous avons également une disposition pour contrôler manuellement les panneaux à partir de tableaux de bord Web / mobiles en cas d'urgence ou toute fin de maintenance.

Dans le scénario ci-dessus, pour contrôler les actionneurs, le modèle Pub-Sub avec authentification / cryptage est utilisé.

bravokeyl
la source
8

Qu'en est-il de la sécurité, en pensant à l'utiliser pour les portes par exemple. Est-il possible de publier un événement porte ouverte de n'importe où? Est-il facile de le pirater?

Selon la documentation, RabbitMQ utilise TLS / SSL . Le niveau de sécurité est donc aussi bon que ces technologies. Si vous cochez RabbitMQ-TLS Support, voici vos exemples d'utilisation de SSL, d'acquisition de certificats de serveur, etc.


Concernant votre question sur un interrupteur d'éclairage.

Ce que vous avez décrit semble assez simple. Le commutateur écoute (souscrit) les sources potentielles qui souhaitent allumer ou éteindre un luminaire. Et il les informe également des changements dans l'état du luminaire, afin qu'ils puissent savoir quand et comment agir.

Bence Kaulics
la source
5

Je pense que votre périphérique de commutation doit être connecté à un concentrateur (boîtier domotique, contrôleur zwave, ...) qui gère tous ces événements, donc le commutateur doit être dédié à une interaction de bas niveau avec des objets (zwave, 433Mhz, ...)

Les appareils intelligents sont très limités sur batterie, donc moins ils fonctionnent sur le réseau, plus ils durent.

Goufalite
la source
Un dispositif de commutation d'alimentation pour un éclairage est vraisemblablement alimenté par le secteur, sauf si l'éclairage qu'il contrôle est lui-même alimenté par batterie. Si vous voulez dire un interrupteur "d'entrée" qui est simplement un boîtier alimenté par batterie collé sur un mur sans réseau ni câblage de charge, alors oui, mais c'est effectivement un capteur (il "détecte" les désirs des utilisateurs finaux) plutôt qu'un actionneur.
Chris Stratton du