# 数字管家护花使者设备profile定义说明 ##### 下发命令定义 ###### 开关浇水(SetMotor) ``` { "service_id": "SmartWatering", // 产品服务ID,固定为SmartWatering "command_name": "SetMotor", // 命令名称,固定为SetMotor "paras": { "MotorStatus": "ON" // 命令值(类型String):ON/OFF "Capacity": 200 // 浇水的容量(类型int) : 1 - 500, 一次浇水不能超过500ml } } ``` ###### 开关补光灯(SetLampStatus) ``` { "service_id": "SmartWatering", // 产品服务ID,固定为SmartWatering "command_name": "SetLampStatus", // 命令名称,固定为SetLampStatus "paras": { "LampStatus": "ON" // 命令值(类型String):ON/OFF "DutyCycle": 200 // 灯亮度(类型int) : 0-100 } } ``` ###### 开关风扇(SetSpeedLevel) ``` { "service_id": "SmartWatering", // 产品服务ID,固定为SmartWatering "command_name": "SetSpeedLevel", // 命令名称,固定为SetSpeedLevel "paras": { "LampStatus": "FanStatus" // 命令值(类型String):ON/OFF "SpeedLevel": 0 // 风扇电机转速(类型int) : 0-4 } } ``` ###### 日程设置(SetSchedule) ``` { "service_id": "SmartWatering", // 产品服务ID,固定为SmartWatering "command_name": "SetSchedule", // 命令名称,固定为SetSchedule "paras": { "ScheduleID":0 // 日程ID号(类型int): 0 - 65535 "option":"A" // 日程操作(类型string):长度为1,暂指定3个操作:A(新增日程),U(更新日程),D(删除日程) "Day": "1,3,5", // 开始浇水的日期,以星期为单位 // 取值(类型string): "1,2,3,4,5,6,7", 1-7代表周一到周日,每天之间用逗号(,)隔开,可以只设1天,也可以设置多天 "StartHour": 18, // 开始浇水的小时时间(类型int) : 0 - 23 "StartMinute": 12, // 开始浇水的分钟时间(类型int) : 0-59 "Command":"{"MotorStatus":"ON", "Capacity": 200}" // 日程到点后需要执行的命令。 MotorStatus:打开/关闭浇水功能,Capacity:浇水容量 } } ``` ##### 属性获取定义 属性是指设备当前的一些状态,由设备端主动上报到云端 ``` { serviceId: SmartWatering, // 产品服务ID,固定为SmartWatering data: { "MotorStatus":"ON", // 当前浇水状态,是否在浇水(类型String):ON/OFF "FanStatus":"ON", // 当前风扇电机状态(类型String):ON/OFF "LampStatus":"ON", // 当前灯状态状态(类型String):ON/OFF "Temperature":38, // 当前空气的温度(类型int) 0 - 65535 "Humidity":58, // 当前空气的湿度(类型int):0 - 65535 "Moisture":6 // 当前土壤的水分(类型int):0 - 65535 "Lux":6 // 当前光照的强度(类型int):0 - 65535 "SpeedLevel":0 // 当前风扇电机转速(类型int):0 - 4 "DutyCycle":0 // 当前灯亮度(类型int):0 - 100 "Capacity":0 // 当前水容量(类型int):0 - 500 } } ``` ##### 备注 护花使者设备相关信息 | 标签 | 名字 | 描述 | 样例 | | :--: | ------------------- | ------------------------------------------------------------ | ------------------------ | | 1 | IoTDA平台设备产品ID | 由IoTDA平台中获取,使用自身,标识设备产品品类。典型值24字节,小于32字节 | 61f26336de9933029be4e155 | | 2 | NodeID | 设备节点ID,辨识同品类中,不同的设备。典型值8字节,小于64字节 | Watering01 | | 3 | DevicePwd | 设备认证秘钥,用于设备连接IoTDA认证。典型值8字节,小于32字节 | 12345678 | | 4 | 配网标识 | 标识当前设备配网类型,1字节
0:不需要配网设备(如手表平板等自带蜂窝网络的设备);
1:NAN配网 + softAP组合模式配网(能自动使用当前网络配网,不需要输入密码);
2:softAP配网,连入设备热点,输入wifi密码进行配网;
3:ble蓝牙配网;
4:NAN配网 近距离贴近设备配网(能自动使用当前网络配网,不需要输入密码); | 1 | | 5 | ApSSID | 设备自身热点名,典型值12字节,小于32字节,NAN配网和softAp配网必须提供;构成一般为前缀teamX + nodeID | teamX-Watering01 | FA中Commandutil.java文件里修改补光灯、风扇的serviceId 例如getLampStatusCommand中补光灯设置。 原补光灯serviceId ``` public static Command getLampStatusCommand(boolean isOn, int dutyCycle) { JSONObject params = new JSONObject(); if (isOn) { params.put("LampStatus", "ON"); params.put("DutyCycle", dutyCycle); } else { params.put("LampStatus", "OFF"); params.put("DutyCycle", 1); } return new Command("SetLampStatus","SmartLamp", JSONObject.toJSONString(params)); } ``` 修改后,补光灯serviceId ``` public static Command getLampStatusCommand(boolean isOn, int dutyCycle) { JSONObject params = new JSONObject(); if (isOn) { params.put("LampStatus", "ON"); params.put("DutyCycle", dutyCycle); } else { params.put("LampStatus", "OFF"); params.put("DutyCycle", 0); } return new Command("SetLampStatus", "SmartWatering", JSONObject.toJSONString(params)); } ``` 同理可设置风扇的serviceId