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?
Antworten:
Ja, das Pub-Sub-Muster gilt für Stellantriebe.
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.
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.
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.
quelle
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.
quelle
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.
quelle