Gilt das Subscriber-Publisher-Muster auch für Aktoren?

16

Insbesondere mit RabbitMQ gibt es im Internet unzählige Tutorials zum Veröffentlichen von Sensordaten. Beispiel: Temperatur, Luftfeuchtigkeit usw. Veröffentlichen Sie den Wert einfach in einer Nachrichtenwarteschlange, und jeder kann ihn verwenden.

So weit, ist es gut. Aber wie wäre es mit Aktuatoren?

Nehmen wir zum Beispiel einen Lichtschalter. Der Lichtschalter gibt den aktuellen Zustand der Leuchte an eine Warteschlange weiter. Es wird auch eine zweite Warteschlange abonniert, um auf Ereignisse zu warten. Dies würde eine bidirektionale Kommunikation ermöglichen. Wenn jemand / etwas das Licht einschalten möchte, muss ein Ereignis in der Nachrichtenwarteschlange veröffentlicht werden, die der Lichtschalter abhört.

Ich hoffe du verstehst die Idee. Ist dies der richtige Weg für Aktuatoren? Gibt es eine intelligentere Lösung? Wie wäre es zum Beispiel mit Sicherheit, wenn Sie darüber nachdenken, dies für Türen zu verwenden? Ist es möglich, ein Open Door Event von jedem Ort aus zu veröffentlichen? Wie leicht kann es gehackt werden?

Matte
quelle
1
Willkommen in der Beta. Obwohl das Thema der Frage gut ist, mache ich mir Sorgen, dass einige es für zu umfassend halten. Wie Sie wahrscheinlich von den anderen SE-Sites wissen, bevorzugen wir bestimmte Fragen - und nur eine Frage pro Frage. Der Anwendungsfall ist gut, könnte aber spezifisch sein. Der Sicherheitsaspekt (besser / schlechter als wie einfach) könnte eine zweite Frage sein.
Sean Houlihane

Antworten:

10

Aber wie wäre es mit Aktuatoren?

Ja, das Pub-Sub-Muster gilt für Stellantriebe.

Ist dies der richtige Weg für Aktuatoren?

Dies ist einer der Wege, und dieser boomt, weil viele Cloud-Anbieter dies mögen

Der Versuch, den IoT-Raum zu belegen, um Daten auf einfache Weise mit verschiedenen Methoden von den Sensoren in die Cloud zu übertragen. Da Geräte nur über begrenzte Konnektivität, Leistung und Bandbreite verfügen, benötigen sie ein Protokoll mit geringerem Gewicht wie MQTT und ein solches, das auf einem Pub-Sub-Modell basiert.

Was ist mein Punkt hier ist , jedes Gerät , das spüren kann und kann Daten verwenden pub-sub aber die intelligente Sache kommt von der Art der implemnatation sie tun. Angenommen, wenn Sie MQTT nicht über einen verschlüsselten Mechanismus (TLS / SSL) verwenden, können die Daten abgehört werden.

Gibt es eine intelligentere Lösung?

Dies hängt von der Anwendung und den Einschränkungen des Problems ab, und die so genannte intelligentere Lösung ändert sich im Laufe der Zeit. Eine weitere Sache, die Sie hier beachten sollten, ist, dass eine intelligentere Lösung nicht die intelligenteste Lösung ist , da die Implementierung am wichtigsten ist und nicht das von Ihnen gewählte Protokoll oder die von Ihnen gewählte Methode.

Ist es möglich, ein Open Door Event von jedem Ort aus zu veröffentlichen? Wie einfach kann es gehackt werden?

Ja, ist es möglich , von überall um die Tür zu öffnen , indem Sie ein Ereignis zu veröffentlichen , aber das alles hängt von der Anwendung und Authentifizierung Sie bereitstellen, zum Beispiel Sie Ihre Anwendung zeichn / Veröffentlichung zu Themen ist nur nach der Authentifizierung machen.


Reales Fallszenario:

Ich kenne viele Unternehmen, die genau dieses Modell für Aktuatoren verwenden. Kürzlich habe ich für ein Team gearbeitet, das Teil von Solar Tracking-Systemen ist, bei denen die Solarmodule mithilfe von Wireless-Technologien gesteuert und überwacht werden.

Insbesondere, um eine Reihe von Panels entsprechend dem Sonnenstand zu bewegen / zu drehen und basierend auf verschiedenen Energieoptimierungsalgorithmen, verwenden wir Linearaktoren . In diesem System ist auch vorgesehen, Panels im Notfall manuell von Web- / mobilen Dashboards aus zu steuern irgendwelche Wartungszwecke.

Im obigen Szenario wird zur Steuerung von Aktoren das Pub-Sub-Modell mit Authentifizierung / Verschlüsselung verwendet.

bravokeyl
quelle
8

Wie wäre es zum Beispiel mit Sicherheit, wenn Sie darüber nachdenken, dies für Türen zu verwenden? Ist es möglich, ein Open Door Event von jedem Ort aus zu veröffentlichen? Wie einfach kann es gehackt werden?

RabbitMQ verwendet laut Dokumentation TLS / SSL . Das Sicherheitsniveau ist also so gut wie diese Technologien. Wenn Sie die RabbitMQ-TLS-Unterstützung überprüfen , finden Sie hier Beispiele für die Verwendung von SSL, den Erwerb von Serverzertifikaten usw.


Bezüglich Ihrer Frage zu einem Lichtschalter.

Was Sie beschrieben haben, klingt ziemlich direkt. Der Schalter hört (abonniert) die potentiellen Quellen, die eine Leuchte ein- oder ausschalten möchten. Außerdem werden sie über Änderungen des Leuchtenzustands informiert, damit sie wissen, wann und wie sie handeln müssen.

Bence Kaulics
quelle
5

Ich denke, Ihr Switch-Gerät sollte an einen Hub (Domotik-Box, ZWAVE-Controller, ...) angeschlossen sein, der alle diese Ereignisse verarbeitet. Daher sollte der Switch für die Interaktion auf niedriger Ebene mit Objekten (ZWAVE, 433 MHz, ...) vorgesehen sein.

Intelligente Geräte sind sehr batteriebetrieben. Je weniger sie im Netzwerk betrieben werden, desto länger ist ihre Lebensdauer.

Goufalite
quelle
Ein Stromschaltgerät für eine Leuchte wird vermutlich vom Stromnetz gespeist, es sei denn, die von ihm gesteuerte Leuchte ist selbst batteriebetrieben. Wenn Sie einen "Eingangs" -Schalter meinen, bei dem es sich lediglich um eine batteriebetriebene Box handelt, die an einer Wand ohne Netz- oder Lastkabel befestigt ist, dann ist dies zwar ein Sensor (der die Wünsche des Endbenutzers "erkennt"), aber kein Aktuator.
Chris Stratton