| 控制设备的过程可以通过客户端与Gizwits平台建立SSL连接来实现。客户端可以发送特定的字符串内容来控制设备,具体格式如下:jsonCopy Code {  "cmd": "remote_control_v2_req",  "msg_id": <消息ID字符串>,  "data": [    {      "cmd": "write_attrs" | "write" | "write_v1",      "data": {        "did": <设备ID字符串>,        "mac": <设备Mac地址字符串>,        "product_key": <产品标识码字符串>,        "binary_coding": <"hex"或"base64",默认为"hex">,        "attrs": {          "name1": <value1>,           "name2": <value2>,          ...        }      }    },    ...  ]}
 其中,cmd字段必须为"remote_control_req",msg_id字段可选,用于标识消息,在回复指令中会返回。data字段是一个数组,包含了一个或多个控制指令。 控制指令的具体内容如下: cmd字段:对于V4产品数据点协议格式,填写"write_attrs";对于V4产品自定义协议格式,填写"write";对于V1产品协议格式,填写"write_v1"。source字段:固定填写"noti"。data.did字段:设备ID。data.mac字段:设备Mac地址,长度为12的字符串,大小写敏感。data.product_key字段:设备所属产品的标识码。data.binary_coding字段(可选):用于指定Raw数据或数据点扩展类型数据的编码格式。data.attrs字段或data.raw字段:对于V4产品数据点协议格式,选择data.attrs;对于V4产品自定义协议格式,选择data.raw;对于V1产品协议格式,选择data.raw。
 控制指令中的数据类型说明如下: 数据点类型:Bool(布尔值,true或false、1或0)、Enum(枚举类型,可以是枚举字符串或枚举下标)、Int(整型数字)、扩展类型(hex或base64编码的byte数组或字符串)。透传类型:Raw(hex或base64编码的byte数组或字符串)。
 Gizwits平台会回复以下格式的消息:jsonCopy Code {  "cmd": "remote_control_v2_res",  "msg_id": <消息ID字符串>,  "result": {    "succeed": [      {"did": <did1字符串>},      {"did": <did2字符串>},      ...    ],    "failed": [      {        "did": <did3字符串>,        "reason": <原因字符串>      },      {        "did": <did4字符串>,        "reason": <原因字符串>      },      ...    ]  }}
 其中,msg_id字段的内容与请求消息中的msg_id字段相同(如果请求消息中不存在该字段,则回复消息中不会出现该字段)。 上述就是控制设备的过程和消息格式的详细说明。 
 |