# dda-sdk-dll-demo **Repository Path**: DDA-IOT/dda-sdk-dll-demo ## Basic Information - **Project Name**: dda-sdk-dll-demo - **Description**: 盛路物联设备终端的dll业务解码库,在JAVA通过JNA调用dll中函数接口样例。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2020-08-20 - **Last Updated**: 2025-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dda-sdk-java 盛路物联(DDA-IOT)终端设备解析dll库存,JAVA调用dll&so示例 ### dll&so文件目录 win64 .dll库文件:dda-sdk-dll-demo\src\main\resources\win32-x86-64\ddadllmain64.dll linux64 .so库文件:dda-sdk-dll-demo\src\main\resources\win32-x86-64\ddadllmain64.so ### 库函数 ```Java //设备解析方法,参数:deviceType:设备组网路径, data:设备原始数据 String ddadevdll(String deviceType, String data); ``` ### DDA网关组网档案属性数据解析调用 ```Java public static void main(String[] args) { String rs = LoadDeviceDll.getParseData("WG00010126/1", "3401006A0100087D0D7C0264775100000000000000100034000000000000006B3402006A0100295C2C5D0251617000000000000000110034000000000000008C3403006A0100582D5D2C0251120100000000000000120034000000000000006E"); System.out.println(rs); } ``` ### DDA网关组网档案属性数据解析返回格式 ```json [{ "device": "智能用电", "status": 0, "msg": "成功", "ptype": "1", "data": [{ "name": "设备类型", "value": "52", "desc": "智能用电" }, { "name": "终端ID", "value": "1", "desc": "" }, { "name": "族群ID", "value": "362", "desc": "" }, { "name": "终端通讯SN", "value": "087D0D7C02647751", "desc": "" }, { "name": "敏感字节", "value": "0", "desc": "" }, { "name": "功耗服务类别", "value": "0", "desc": "0/1-不休眠/深度休眠" }, { "name": "业务类别", "value": "0", "desc": "" }, { "name": "设备SN", "value": "00000010", "desc": "" }, { "name": "挂起标识", "value": "00", "desc": "00/FF-正常/挂起" }] }, { "device": "智能用电", "status": 0, "msg": "成功", "ptype": "1", "data": [{ "name": "设备类型", "value": "52", "desc": "智能用电" }, { "name": "终端ID", "value": "2", "desc": "" }, { "name": "族群ID", "value": "362", "desc": "" }, { "name": "终端通讯SN", "value": "295C2C5D02516170", "desc": "" }, { "name": "敏感字节", "value": "0", "desc": "" }, { "name": "功耗服务类别", "value": "0", "desc": "0/1-不休眠/深度休眠" }, { "name": "业务类别", "value": "0", "desc": "" }, { "name": "设备SN", "value": "00000011", "desc": "" }, { "name": "挂起标识", "value": "00", "desc": "00/FF-正常/挂起" }] }, { "device": "智能用电", "status": 0, "msg": "成功", "ptype": "1", "data": [{ "name": "设备类型", "value": "52", "desc": "智能用电" }, { "name": "终端ID", "value": "3", "desc": "" }, { "name": "族群ID", "value": "362", "desc": "" }, { "name": "终端通讯SN", "value": "582D5D2C02511201", "desc": "" }, { "name": "敏感字节", "value": "0", "desc": "" }, { "name": "功耗服务类别", "value": "0", "desc": "0/1-不休眠/深度休眠" }, { "name": "业务类别", "value": "0", "desc": "" }, { "name": "设备SN", "value": "00000012", "desc": "" }, { "name": "挂起标识", "value": "00", "desc": "00/FF-正常/挂起" }] }] ``` ### 传感器数据解析调用方法 ```Java public static void main(String[] args) { String rs = LoadDeviceDll.getParseData("WG00010126/sf_1_0_90", "020918190022000500000000"); System.out.println(rs); } ``` ### 传感器设备解析返回格式 ```Json { "device": "粉尘浓度", "status": 0, "msg": "成功", "ptype": "2", "data": [{ "name": "包类型", "value": "2", "desc": "数据包" }, { "name": "流水号", "value": "24", "desc": "" }, { "name": "功耗类别", "value": "0", "desc": "1-低功耗/0-非低功耗" }, { "name": "PM2.5", "value": "25", "desc": "单位:ug/m3" }, { "name": "PM10", "value": "34", "desc": "单位:ug/m3" }] } ``` ### 返回字典描述 | 键 | 值 | | ------ | ------- | | device | 设备名称 | | status | 解析返回结果状态码 0:成功 | | msg | 解析返回结果描述 | | ptype | 包类型:1:设备心跳包 2:采集数据包 3:组网属性包 4:下行响应包 5:终端复位包 6:终端状态包 | | data.name | 数据含义 | | data.value | 数据值 | | data.desc | 值描述 |