开发者社区 > 云原生 > 云消息队列 > 正文

MQTT我们有个需求, 您看一下如何解决:?

MQTT我们有个需求, 您看一下如何解决:

  1. 我们的设备会有状态变化, 频率大概1秒一次.
  2. 当有手机订阅设备状态变化时, 设备会通过mqtt上传状态.
  3. 手机接收到状态后更新界面.
  4. 当所有订阅设备的手机下线后, 设备会停止上传状态.麻烦看一下我们这个需求该如何实现呀?

展开
收起
真的很搞笑 2023-10-16 21:36:41 70 0
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    根据您的需求描述,可以通过以下步骤实现您所需的功能:

    1. 设备状态上传:设备定时将状态信息通过MQTT协议发布到指定的主题。可以将每个设备的状态信息发布到一个特定的主题,例如"device/status"。

    2. 手机订阅设备状态:手机应用程序使用MQTT客户端订阅设备状态的主题,例如"device/status"。当手机订阅了该主题后,它将接收到设备状态的更新。

    3. 界面更新:手机应用程序在接收到设备状态更新的消息后,可以解析并更新界面上与设备状态相关的部分。您可以根据具体的需求设计界面的更新逻辑,例如显示设备状态的数值、图标或者其他形式的展示。

    4. 判断手机在线状态:您可以通过MQTT代理提供的连接状态信息来判断手机是否在线。当所有订阅设备状态的手机下线时,设备可以停止上传状态信息。可以通过检查MQTT客户端的连接状态或者订阅者列表来判断手机的在线状态。

    为了实现上述功能,您需要选择合适的MQTT客户端库和MQTT代理,并在手机应用程序中进行相应的开发和配置。确保设备和手机都能够正确连接到MQTT代理,并使用正确的主题进行订阅和发布。

    2023-10-25 08:21:28
    赞同 展开评论 打赏
  • 好像是没看到,那不行 就让手机连上 就发一条数据给服务端。好像是没看到,那不行 就让手机连上 就发一条数据给服务端,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

    2023-10-17 08:12:22
    赞同 展开评论 打赏
问答分类:

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载