|
public void cWrite(XPGWifiDevice xpgWifiDevice, String key, Object value){
try{
//创建JSONObject 对象,用于封装所有数据
final JSONObject jsonsend = new JSONObject();
//写入命令字段(所有产品一致)
jsonsend.put("cmd", 1);
//创建JSONObject 对象,用于封装数据点
JSONObject jsonparam = new JSONObject();
//写入数据点字段
jsonparam.put(key, value);
//写入产品字段(所有产品一致)
jsonsend.put("entity0", jsonparam);
//调用发送指令方法
xpgWifiDevice.write(jsonsend.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
//例如发送开源空调
cWrite(xpgWifiDevice, "switch", true);
请问:二进制数据点是否也按照json串方式,如果这样是不是首先对二进制数据进行base64编码再构造json对象,即 jsonparam.put(key, value); 中的value是将二进制数据经过base64编码的字符串,传递给SDK后,SDK再还原成二进制按MQTT协议发送?
|
|