var PROPERTY_SET_METHOD = "thing.property.post";
var INVOKE_SERVICE_METHOD = "invokeService";
var PROPERTY_SET_METHOD = "thing.property.set";
function rawDataToJson (bytes) {
var jsonMap = {};
var params = {};
var data = {};
var strValue = '';
for (var i = 0; i < bytes.length; i++) {
var num = bytes[i];
var tem;
if (num < 0) {
tmp =(255+num+1).toString(16);
} else {
tmp = num.toString(16);
}
if (tmp.length == 1) {
tmp = "0" + tmp;
}
strValue += tmp;
}
data['value'] = strValue.toUpperCase();
params['cmdData'] = data;
jsonMap['id'] = '111'
jsonMap['version'] = '1.0'
jsonMap['params'] = params;
jsonMap['method'] = PROPERTY_SET_METHOD
return jsonMap
}
function jsonToRawData (json) {
var method = json['method']
var id = json['id']
var payloadArray = []
var params = json['params'];
var cmdData = params['cmdData'];
payloadArray = system_string(cmdData.toUpperCase());
return payloadArray;
}
function system_string(value) {
var uint8Array = new Uint8Array(value.length/2);
var dv = new DataView(uint8Array.buffer, 0);
var j=0;
for (var i = 0; i<value.length; i+=2) {
dv.setUint8(j++, hex2Value(value[i])*16+hex2Value(value[i+1]));
}
return [].slice.call(uint8Array);
}
function hex2Value(v){
var res;
switch(v){
case "A": res = 10;break;
case "B": res = 11;break;
case "C": res = 12;break;
case "D": res = 13;break;
case "E": res = 14;break;
case "F": res = 15;break;
case "0": res = 0;break;
case "1": res = 1;break;
case "2": res = 2;break;
case "3": res = 3;break;
case "4": res = 4;break;
case "5": res = 5;break;
case "6": res = 6;break;
case "7": res = 7;break;
case "8": res = 8;break;
case "9": res = 9;break;
default: res = 0;break;
}
return res;
}