订户-发布者模式也适用于执行器吗?


16

Web上有很多教程,尤其是RabbitMQ上的有关如何发布传感器数据的教程。例如,温度,湿度等。只需将值发布到消息队列中,任何人都可以使用它。

到目前为止,一切都很好。但是执行器呢?

让我们以电灯开关为例。电灯开关将照明设备的当前状态发布到队列中。它还订阅第二个队列以侦听事件。这将允许双向通信。如果某人/某人想打开灯,则必须将事件发布到灯开关正在收听的消息队列中。

希望您能理解。这是执行器的一种方式吗?有没有更聪明的解决方案?安全性如何,例如考虑将其用于门。是否可以在任何地方发布公开活动?它容易被黑客入侵吗?


1
欢迎使用Beta。尽管问题的主题是好的,但我担心有些人可能认为它范围太广。正如您可能从其他SE网站看到的那样,我们更喜欢特定问题-每个问题仅一个问题。用例很好,但是可以具体。安全方面(更好/更糟,而不是那么简单)可能是第二个问题。
肖恩·霍利哈内

Answers:


10

但是执行器呢?

pub-sub模式适用于执行器。

这是执行器的一种方式吗?

这是一种可行的方法,并且由于许多云提供商(例如,

试图占用IoT空间以通过不同的方法轻松地将数据从传感器移动到云中,并且由于设备的连接性,功率,带宽有限,它们需要重量更轻的协议(例如MQTT),并且该协议是基于发布子模型的。

我的意思是,任何可以感知并具有数据的设备都可以使用pub-sub,但是聪明的事情来自于他们正在执行的实现类型。假设如果您不通过某种加密机制(TLS / SSL)使用MQTT,则可以嗅探数据。

有没有更聪明的解决方案?

它取决于应用程序和问题所具有的约束,所谓的更智能的解决方案会随着时间的流逝而变化。这里要注意的另一件事是,拥有更智能的解决方案不是解决问题的最明智的方法,因为实现是最重要的,而不是您选择的协议或方法。

是否可以在任何地方发布公开活动?它被黑客攻击有多容易?

是的,可以通过发布事件从任何地方打开门,但这完全取决于您提供的应用程序和身份验证,例如,可以使您的应用程序仅在身份验证之后订阅/发布主题。


实际情况:

我知道很多公司都在使用这种精确模型执行器,最近我为一个团队工作,该团队是Solar Tracking系统的一部分,该系统使用无线技术控制,监视太阳能电池板。

特别是要根据太阳的位置移动/旋转面板面板并基于不同的能量优化算法,我们使用线性执行器,在该系统中,我们还提供了在紧急情况或紧急情况下通过Web /移动仪表板手动控制面板的功能任何维护目的。

在上述情况下,使用带有身份验证/加密的执行器Pub-Sub模型。


8

安全性如何,例如考虑将其用于门。是否可以在任何地方发布公开活动?它被黑客攻击有多容易?

根据文档,RabbitMQ使用TLS / SSL。因此,安全级别与这些技术一样好。如果选中“ RabbitMQ-TLS支持”,以下是有关使用SSL,获取服务器证书等的示例。


关于电灯开关的问题。

您所描述的听起来很直接。开关监听(订阅)想要打开或关闭灯具的潜在光源。它还会通知他们有关灯具状态的变化,以便他们知道何时以及如何采取行动。


5

我认为您的交换机设备应该连接到处理所有这些事件的集线器(domotic box,zwave controller等),因此该交换机应该专用于与对象(zwave,433Mhz等)的低级别交互。

智能设备的电池非常有限,因此它们在网络上运行的次数越少,使用寿命越长。


灯的电源开关设备可能由市电供电,除非其控制的灯本身由电池供电。如果您指的是一个“输入”开关,它只是一个电池供电的盒子,贴在墙上,没有电源或负载布线,那么可以,但这实际上是一个传感器(它“感知”了最终用户的期望)而不是执行器。
克里斯·斯特拉顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.