刚好手上有一个RTU设备,自带4路模拟量输入和一路485输入,485接口下接了两个温湿度传感器,自己在云端物模型配置如下:
云端RS485透传数据已经能接收到原始的Hex数据,但是这个数据不直观,于是我设置了四个物模型,分别用来展示传感器数值,但是试了很久都不能显示传感器数据。开始只用一个传感器,试着解析数据,但是始终每办法解析成功,数据解析的代码如下:
var PROPERTY_REPORT_METHOD = ‘thing.event.property.post’;
//上行数据,自定义格式转物模型JSON格式。 function rawDataToProtocol(bytes) {
var uint8Array = new Uint8Array(bytes.length);
for (var i = 0; i < bytes.length; i++) {
uint8Array[i] = bytes[i] & 0xff;
}
var dataView = new DataView(uint8Array.buffer, 0);
var jsonMap = new Object();
//属性上报method。jsonMap['method'] = PROPERTY_REPORT_METHOD;//协议版本号,固定字段,取值1.0。jsonMap['version'] = '1.0';//表示该次请求的ID。jsonMap['id'] = new Date().getTime();var params = {}; //14、15对应产品属性中temperature。params['485wd'] = (dataView.getUint8(15)*256+dataView.getUint8(14))/10;//16、17对应产品属性中humidity。params['485sd'] = (dataView.getUint8(17)*256+dataView.getUint8(16)); jsonMap['params'] = params;
return jsonMap;
}
function transformPayload(topic, rawData) { var jsonObj = {} return jsonObj; }
我对代码一窍不通,们帮我想想办法,这个问题不解决,我的Web可视化就每办法进行呢。这个问题困扰我两个月了!