物联网-服务器下发命令控制设备

服务器下发命令到设备一般经过哪些步骤,简单来说就是服务器通过MQTT把需要设置的设备的属性值发送到设备具体流程,通常情况下设备一般都有像开关(打开,关闭的操作),还有就是语音控制的一些设备(百度的小度,阿里的天猫精灵),一般都是需要区分开来控制的,你可能是控制天猫精灵说什么或者是做什么,具体到数据库设计的话就是如果不是语音控制设备,一般需要一张属性表(attribute)保存这个设备都有哪些操作,操作之间可能还有联动(后续有能力再写),

1:DevicesAction的setAttribute()方法

参数:deviceId(设备ID),index(attribute表的attribute_index字段),content(具体下发的内容,控制开关等等操作,其他设备查看表attribute表的name和content_info字段做对应的操作,语音设备不查表)

eg:下发一个语音设备说:你好

具体调用RoomServiceImpl的setDevice方法

public boolean setDevice(Long deviceId, Integer index, String content) throws RemoteConnectFailureException {

如果不是语音设备和电动窗帘,则需要调用DeviceCenterService的setDevice方法

deviceCenterService.setDevice(roomDeviceDO.getSerialId(), indexValueMapToSet, Constant.SMARTHOTEL_DOMAIN_NAME);

方法参数serialId, Map<Integer, AttributeDTO>(indexValueMapToSet),smart-hotel,map里放入index和对应的attribute

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值