物聯網-服務器下發命令控制設備

服務器下發命令到設備一般經過哪些步驟,簡單來說就是服務器通過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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章