我是一个初学者,不懂代码之类的,刚好手上有一个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可视化就每办法进行呢。这个问题困扰我两个月了!
你是想把那个温度数据的字符串编码转成实际的数值再上传是吗?你那个485的字符串编码应该包含了两个温度两个湿度的四个数值,需要跟厂家确认一下他的编码规则,哪部分是温度值,哪部分是湿度值 这样才能转换出来。另外还需要把上传的两个温度两个湿度的字段、类型和物联网平台物模型的字段和类型完全一致才行
为什么问问题都喜欢说自己对代码一窍不通,你能写出这么一大堆代码来,那多少得懂一些吧
真的一窍不通,那我说什么你都听不懂,说了也白说
除了建议你花钱雇个人帮你实现,实在给不出更好的建议
参考这个配置的:
https://www.alibabacloud.com/help/zh/iot-platform/latest/parse-pass-through-data-from-devices%EF%BC%9B
问题是我即便把这个代码复制进去,按照这个测试数据,执行结果也是空的。