开发者社区 > 物联网 > 正文

JavaScript脚本示例

问题描述

/* 示例数据: 设备上报属性数据: 传入参数: ?0x000000000100320100000000 输出结果: ?{"method":"thing.event.property.post","id":"1","params":{"prop_float":0,"prop_int16":50,"prop_bool":1},"version":"1.0"} 属性设置的返回结果: 传入参数: ?0x0300223344c8 输出结果: ?{"code":"200","data":{},"id":"2241348","version":"1.0"} */ 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(); ????var?fHead?=?uint8Array[0];?//?commandif?(fHead?==?COMMAND_REPORT)?{ ????????jsonMap['method']?=?ALINK_PROP_REPORT_METHOD;?//ALink?JSON格式,属性上报topic。 ????????jsonMap['version']?=?'1.0';?//ALink?JSON格式,协议版本号固定字段。 ????????jsonMap['id']?=?''?+?dataView.getInt32(1);?//ALink?JSON格式,标示该次请求id值。var?params?=?{}; ????????params['prop_int16']?=?dataView.getInt16(5);?//对应产品属性中prop_int16。 ????????params['prop_bool']?=?uint8Array[7];?//对应产品属性中prop_bool。 ????????params['prop_float']?=?dataView.getFloat32(8);?//对应产品属性中prop_float。 ????????jsonMap['params']?=?params;?//ALink?JSON格式,params标准字段。 ????}?else?if(fHead?==?COMMAND_SET_REPLY)?{ ????????jsonMap['version']?=?'1.0';?//ALink?JSON格式,协议版本号固定字段。 ????????jsonMap['id']?=?''?+?dataView.getInt32(1);?//ALink?JSON格式,标示该次请求id值。 ????????jsonMap['code']?=?''+?dataView.getUint8(5); ????????jsonMap['data']?=?{}; ????} ????return?jsonMap; }

期望结果

这个函数如果用c语言在设备解析上传云端该如何编写?占用资源多吗?

.

展开
收起
游客gppnylnkzwgty 2022-09-02 15:13:06 183 0
2 条回答
写回答
取消 提交回答

物联网领域前沿技术分享与交流

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载
http://www.vxiaotou.com