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é?
Réponses:
Oui, le modèle pub-sub s'applique aux 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.
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.
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é.
la source
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.
la source
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.
la source