单元 2:创建数据解析脚本


由于创建 人体感应器产品接入方式支持 EnOS IoT 和自定义,该产品下的设备可以上传任何格式的数据(例如,二进制数据)至 EnOS。


本单元展示如何创建数据解析脚本以对上游数据进行编码和解码,以及如何将其上传至 EnOS。


更多信息,参见 解析非 EnOS 标准 JSON 格式的数据

创建解析脚本

  1. 设备管理 > 产品管理 并点击 人体感应器产品查看 btn_view 图标。

  2. 在产品详情页面里点击 数据解析 标签页。

  3. 编辑脚本 部分添加以下脚本处理来自设备的非标准上行数据。

    function rawDataToJsonStr(bytes) {
     var uint8Array = new Uint8Array(bytes.length);
     for (var i = 0; i < bytes.length; i++) {
       uint8Array[i] = bytes[i] & 0xff;
     }
     return hex2str(uint8Array);
    }
    
    function hex2str(arr) {
     var str = "";
     for (var i = 0; i < arr.length; i++) {
       str += String.fromCharCode(arr[i]);
     }
     return str;
    }
    


../../_images/s2_product_parsing_script.png

测试脚本

为验证解析脚本的有效性,可通过模拟数据的方式测试脚本解析的功能。 参照以下以用作模拟数据。

  1. 将以下 JSON 转换为 Hex 数据。

    {
       "id": "1",
       "version": "1.0",
       "params": {
       "events": {
             "humanMoved": "target"
       },
       "time": 1635865450177
     },
     "method": "thing.event.HumanMoved.post"
    }
    


  2. 模拟输入 部分输入以下转换后的 Hex 数据,然后单击 运行

    0x7b0a20202020226964223a202231222c0a202020202276657273696f6e223a2022312e30222c0a2020202022706172616d73223a207b0a2020202020202020226576656e7473223a207b0a2020202020202020202020202268756d616e4d6f766564223a20226d6f766564220a20202020202020207d2c0a20202020202020202274696d65223a20313633353836353435303137370a202020207d2c0a20202020226d6574686f64223a20227468696e672e6576656e742e48756d616e4d6f7665642e706f7374220a7d
    


  3. JSON 输出将显示在 运行结果 中。


    ../../_images/s2_test_parsing_script_result.png

下一单元

配置路由规则