Il modello Abbonato-Editore è applicabile anche agli attuatori?


16

Ci sono tonnellate di tutorial sul web, in particolare con RabbitMQ , su come pubblicare i dati dei sensori; per esempio, temperatura, umidità, ecc. Basta pubblicare il valore in una coda di messaggi e chiunque può consumarlo.

Fin qui tutto bene. E gli attuatori?

Prendiamo ad esempio un interruttore della luce. L'interruttore della luce pubblica lo stato attuale dell'apparecchio in una coda. Si abbona anche a una seconda coda per ascoltare gli eventi. Ciò consentirebbe una comunicazione bidirezionale. Se qualcuno / qualcosa vuole accendere la luce, un evento deve essere pubblicato nella coda dei messaggi che l'interruttore luci sta ascoltando.

Spero tu capisca l'idea. È questo il modo di andare con gli attuatori? C'è qualche soluzione più intelligente? Che ne dici di sicurezza, pensando ad esempio ad usarlo per le porte. È possibile pubblicare un evento a porte aperte da qualsiasi luogo? Quanto facilmente può essere hackerato?


1
Benvenuto nella beta. Sebbene l'argomento della domanda sia buono, temo che alcuni potrebbero pensarlo troppo ampio. Come probabilmente ti rendi conto dagli altri siti SE, preferiamo domande specifiche - e solo una domanda per ogni domanda. Il caso d'uso è buono, ma potrebbe essere specifico. L'aspetto della sicurezza (migliore / peggiore piuttosto che semplice) potrebbe essere una seconda domanda.
Sean Houlihane,

Risposte:


10

E gli attuatori?

, il modello pub-sub è applicabile agli attuatori.

È questo il modo di andare con gli attuatori?

Questo è uno dei modi per procedere e questo è in forte espansione a causa di molti fornitori di servizi cloud come

cercando di occupare lo spazio IoT per spostare facilmente i dati dai sensori al cloud con approcci diversi e poiché i dispositivi hanno connettività, potenza, larghezza di banda limitate, hanno bisogno di un protocollo più leggero come MQTT e basato su un modello di pub-sub.

Il mio punto qui è qualsiasi dispositivo in grado di rilevare e avere dati in grado di utilizzare pub-sub ma la cosa intelligente viene dal tipo di implementazione che stanno facendo. Supponiamo che se non si utilizza MQTT su un meccanismo crittografato (TLS / SSL), i dati possono essere sniffati.

C'è qualche soluzione più intelligente?

Dipende dall'applicazione e dai vincoli del problema e la cosiddetta soluzione più intelligente varia con il passare del tempo. Un'altra cosa da notare qui è che, avere una soluzione più intelligente non è il modo più intelligente di aggirare, perché l'implementazione è ciò che conta di più e non il protocollo o il metodo scelto.

È possibile pubblicare un evento a porte aperte da qualsiasi luogo? Quanto è facile hackerarlo?

Sì, è possibile aprire la porta da qualsiasi luogo pubblicando un evento, ma tutto dipende dall'applicazione e dall'autenticazione fornita, ad esempio è possibile effettuare la sottoscrizione / pubblicazione dell'applicazione agli argomenti solo dopo l'autenticazione.


Scenario reale:

Conosco molte aziende che utilizzano questo modello esatto per attuatori, recentemente ho lavorato per un team che fa parte dei sistemi di inseguimento solare in cui i pannelli solari sono controllati, monitorati mediante tecnologie wireless.

In particolare per spostare / ruotare una serie di pannelli in base alla posizione del sole e in base a diversi algoritmi di ottimizzazione dell'energia utilizziamo gli attuatori lineari , in questo sistema abbiamo anche una disposizione per controllare manualmente i pannelli da dashboard web / mobile in caso di emergenza o eventuali scopi di manutenzione.

Nello scenario precedente per controllare gli attuatori viene utilizzato il modello Pub-Sub con autenticazione / codifica.


8

Che ne dici di sicurezza, pensando ad esempio ad usarlo per le porte. È possibile pubblicare un evento a porte aperte da qualsiasi luogo? Quanto è facile hackerarlo?

Secondo la documentazione RabbitMQ utilizza TLS / SSL . Quindi il livello di sicurezza è buono come queste tecnologie. Se controlli RabbitMQ-TLS Support ecco i tuoi esempi sull'uso di SSL, sull'acquisizione di certificati server e così via.


Per quanto riguarda la tua domanda su un interruttore della luce.

Quello che hai descritto sembra piuttosto semplice. L'interruttore ascolta (sottoscrive) le fonti potenziali che desiderano accendere o spegnere un apparecchio. Inoltre li avvisa dei cambiamenti nello stato dell'apparecchio, in modo che possano sapere quando e come agire.


5

Penso che il tuo dispositivo switch dovrebbe essere collegato a un hub (scatola domotica, controller zwave, ...) che gestisce tutti questi eventi, quindi lo switch dovrebbe essere dedicato per l'interazione di basso livello con gli oggetti (zwave, 433Mhz, ...)

I dispositivi intelligenti sono molto limitati sulla batteria, quindi meno funzionano sulla rete più a lungo durano.


Un dispositivo di commutazione dell'alimentazione di una luce è presumibilmente alimentato dalla rete, a meno che la luce che controlla non sia essa stessa alimentata a batteria. Se intendi un interruttore "input" che è semplicemente una scatola alimentata a batteria bloccata su una parete senza rete o cablaggio di carico, allora sì, ma in realtà è un sensore ("rileva" i desideri dell'utente finale) piuttosto che un attuatore.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.