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

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

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

评论

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

#1 楼


但是执行器又如何呢?


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


这是顺带一提的方法吗执行器?


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



AWS IoT)而蓬勃发展作为服务支持MQTT(通过TLS,WebSockets)
Google的Google Cloud pub-sub消息传递服务
具有MQTT支持的Microsoft IoT中心


试图占领IoT空间,可以使用不同的方法轻松地将数据从传感器转移到云中,并且由于设备的连接性,功率和带宽有限,它们需要更轻量级的协议(例如MQTT)以及基于发布子模型的协议。这里要指出的是,任何可以感知并具有数据的设备都可以使用pub-sub,但是聪明的事情来自于他们正在执行的实现类型。假设您不通过某种加密机制(TLS / SSL)使用MQTT,则可以嗅探数据。


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


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


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


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


实际案例:

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

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

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

#2 楼


安全性如何,例如考虑将其用于门。是否可以在任何地方发布公开活动?



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


关于电灯开关的问题。

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

#3 楼

我认为您的交换机设备应该连接到处理所有这些事件的集线器(domotic box,zwave controller等),因此该交换机应专用于与对象(zwave,433Mhz等)的低级别交互。 br />
智能设备的电池非常有限,因此它们在网络上运行的次数越少,使用寿命就越长。

评论


灯的电源开关设备可能由市电供电,除非其控制的灯本身由电池供电。如果您指的是一个“输入”开关,它只是一个电池供电的盒子,贴在墙上,没有电源或负载接线,那么可以,但这实际上是一个传感器(它“感知”了最终用户的期望)而不是执行器。

–克里斯·斯特拉顿(Chris Stratton)
17年1月15日23:21