2017-06-09 54 views
0

我正在使用我的云服务器实施IoT网关(它在每个场所运行)。我设计的方式是,物联网网关通过网络套接字与云服务器建立连接,以接收来自移动设备的命令。通过互联网连接的移动设备会将命令传递给云服务器,然后将命令发送到物联网网关。我想收到的所有命令的实时 什么是写命令最好的选择,物联网网关应该监听其数据物联网网关和云服务器消息传递

  • MQTT样的消息代理(建议MQTT是良好的机器对机器连接,但我使用情况下认购的消息和接收它)
  • PUB/SUB机制(卡夫卡/流)

它应该是高度可扩展和容错。

回答

0

我在去年也实现了这种服务,在我的实现中,我使用MQTT(emqtt实现mqtt),因为它对实时服务非常有用,并且它足够快以交换命令,如打开灯。在这个项目中,我使用Kafka从设备收集数据并将它们发送给一些数据处理系统。

0

考虑同时使用MQTT和Kafka。 我使用mqtt进行设备到设备和设备到数据中心的消息传递(使用mqtt在DMZ中运行的分区的蚊子代理群集)。然后在后端运行一个MQTT Kafka源连接器,该连接器将所有mqtt流量重新发布为Kafka主题(以mqtt主题为关键)以及一系列Kafka Streams作业,用于流式分析和一些Kafka Sink连接器以长时间存储数据(例如Mongodb,Hadoop,弹性搜索等)

1

在GitHub上有项目,它将作为您的需求的一部分。我可以指您java sample code on GitHub这是为了向设备发布命令。你可以根据你的需要修改它们。

通常我使用Kafka从设备收集数据,然后将它们发送给一些后端数据处理。在后端Hadoop,弹性搜索,Mongodb等保存。我使用NodeRed进行视觉流程编辑。我想你已经有了一个计划。

您可以查看StackOverflow上特定供应商的服务所讨论的类似主题,以进行像这样的调试/开发 - Publishing commands to device in IBM IoT using MQTT in Java