MQTT单消息多记录VS单记录单消息:LED屏调度方案选型
LED显示屏MQTT调度方案的最佳实践选择
我有一台小型LED显示屏,需基于CRON调度在全天展示不同消息。设备会在与服务器断开连接时本地保存调度,并根据接收的MQTT消息创建、更新或删除调度。我想到两种实现方案,想了解哪种属于最佳实践:
方案1:单消息包含全部调度
- Topic:
led_display/12EB0770/schedule - Payload:
{ [ {"id":1, "cron":"0 0 * * *", "AM"}, {"id":1, "cron":"0 12 * * *", "PM"} ] }
缺点:每次修改都需发布较大的Payload,这一问题可通过第二种方案解决。
方案2:单调度单消息,调度ID作为Topic的一部分
- 调度1:
- Topic:
led_display/12EB0770/schedule/1 - Payload:
- Topic:
{"cron":"0 0 * * *", "AM"}
- 调度2:
- Topic:
led_display/12EB0770/schedule/2 - Payload:
- Topic:
{"cron":"0 12 * * *", "PM"}
缺点:订阅led_display/12EB0770/schedule/+后,无法确定是否已接收全部调度,可能需新增led_display/12EB0770/schedule主题来补充相关信息。
内容的提问来源于stack exchange,提问作者just-my-name
相关产品推荐
相关产品推荐

