gpt4 book ai didi

http - 物联网:我需要使用 MQTT 还是 HTTP?

转载 作者:可可西里 更新时间:2023-11-01 15:12:43 25 4
gpt4 key购买 nike

我正在研究一种设备,它可以感知和收集来自环境的信息,例如温度、湿度等。

该设备未连接到任何电源,但它有一 block 电池和一 block 太阳能电池板可以为其充电。

几乎大部分时间都处于深度 sleep 状态,只有在需要感知和传输数据时才会醒来。此操作大约需要 1-2 分钟,然后再次进入休眠状态。

我不是这方面的专家,但我认为如果设备需要随时可以访问以接收来自某个主题的消息,我认为 MQTT 应该是一个不错的选择,但在我的场景中它只读取传感器,然后发送定期向服务器发送数据。

目前我正在通过 HTTP 发送数据,但我想知道实现 MQTT 是否有意义?对于这种情况,我是否应该比 HTTP 更有优势?

最佳答案

有大量关于 MQTT 与 HTTP 的文献,您应该深入研究这些文献以了解详细信息,但这里是您的应用程序的一些要点。

MQTT

  • MQTT 支持持久连接,可通过 HTTP 节省大量资源。如果您使用 SSL,这是最相关的。
  • 如果您只发送一些指标,MQTT 通常比 HTTP 的带宽效率更高。
  • 由于 MQTT 是为传输数据(而非整个页面)而设计的,因此其发布/订阅模型提供了许多有用的内置功能,例如保留和遗嘱。
  • MQTT 还提供了一种实现加密、身份验证和访问控制的简单方法。
  • MQTT 适用于连接可能断断续续或不可靠的情况。它的各种服务质量级别为您提供了确保数据可靠发送的重要方法。
  • 根据我的经验,在较大的应用程序中,MQTT 代理提供更轻松的管理。我特别喜欢有一套标准化的指标来衡量绩效。
  • MQTT 的主题/子主题值(value)结构有助于组织您的数据,并且可以轻松地扩大规模并在多个项目之间共享资源。
  • 这可能是个人偏好,但我发现 MQTT 协议(protocol)比使用 HTTP 更容易理解、故障排除和编程。特别是 Python Paho MQTT 库简单且运行良好。

总而言之,MQTT 有许多功能似乎非常适合您的应用程序。也就是说,您可能会使用 HTTP 复制其中的许多内容,但这需要更多的工作。

HTTP

  • 几乎无处不在,确保更容易与防火墙兼容。如果您要在您无法控制的网络上进行部署,这可能很重要。

  • 这是一种更常见的协议(protocol),因此您(和您的最终用户)可能已经对它感到满意。同样,您可能已经了解可以更轻松地确保安全的安全模型。

  • 不同的 MQTT 实现之间存在一些差异,这可能会导致困难(例如,我使用 Mosquitto,当人们谈论他们的 HiveMQ 设置时,有时会感到困惑)。 HTTP 给我的印象是更通用,并且有更大的社区可以为您提供帮助。

所以 HTTP 与 MQTT 相比有一些固有的缺点,但如果 MQTT 的特定功能对您没有吸引力,它可以完成工作并且可能更实用。

但实际上,如果这是一个大型项目,则值得同时尝试并在您的特定应用程序和环境中运行一些基准测试和测试。设置测试环境并获得一些指标并不难。如果这更像是一个爱好/一次性项目,那么我会使用您更喜欢或觉得更有趣的任何一个。

来源/进一步阅读:

http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https https://www.ibm.com/developerworks/community/blogs/sowhatfordevs/entry/using_mqtt_protocol_advantages_over_http_in_mobile_application_development5?lang=en https://medium.com/@shubhanshusingh/http-vs-mqtt-9008d448bf88 https://www.slideshare.net/paolopat/mqtt-iot-protocols-comparison https://mobilebit.wordpress.com/2013/05/03/rest-is-for-sleeping-mqtt-is-for-mobile/ http://bec-systems.com/site/1200/iot-protocols-mqtt-vs-coap-vs-http

关于http - 物联网:我需要使用 MQTT 还是 HTTP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44074864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com