概述
接下来的几节课,我们会来设计和实现 Maque IotHub 的下行数据处理功能。
定义下行数据
在物联网应用中,下行数据一般有两种,第一种是需要同步的数据,比如平台需要把训练好的模型部署到前端的摄像头上,那平台下发给设备的消息里面就包含模型数据的信息;第二种是指令,平台下发给设备,要求设备完成某种操作,比如共享单车的服务端下发给单车开锁的指令。
在 Maque IotHub 里,我们会把这两种下行数据统称为指令,因为第一种数据也可以被当作是要求设备完成"同步数据"这个操作的指令。 在大多数情况下,设备在收到指令后都应该向业务系统回复指令执行的结果(注意,不是回复指令已收到,因为使用 QoS>1 的消息在 MQTT 协议层面就已经保证设备一定能收到指令),比如文件有没有下载完毕、继电器有没有打开等。 是否回复以及怎么回复应该由业务逻辑决定,这个是业务系统和设备之间的约定, IotHub 只负责将业务系统下发的指令发送到设备,同时将设备对指令的回复再传送回业务系统。 IotHub 在实现一些功能时,也会向设备发送一些内部的指令。
和上行数据一样,指令也由元数据和负载组成,指令的元数据也是放在主题名中的,一般来说指令有以下一些元数据:
- ProductName、DeviceName:用于标识指令发给哪个设备。
- MessageID:作为消息的唯一标识,用于消息去重,也用于标识指令,设备回复指令
最后
以上就是昏睡狗为你收集整理的第 3-1 课:选择下行数据处理方案的全部内容,希望文章能够帮你解决第 3-1 课:选择下行数据处理方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复