From f1f7f154b5149f270b1ce163e1eadb7da3fdb31d Mon Sep 17 00:00:00 2001 From: TrillGates Date: Mon, 26 Apr 2021 20:00:22 +0800 Subject: [PATCH] comleted location upload trigger --- .../java/com/ic/protocols/protocol_anan.java | 61 +++++++++++++++---- 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/ic/protocols/protocol_anan.java b/app/src/main/java/com/ic/protocols/protocol_anan.java index c3c68867..514cb714 100644 --- a/app/src/main/java/com/ic/protocols/protocol_anan.java +++ b/app/src/main/java/com/ic/protocols/protocol_anan.java @@ -184,16 +184,16 @@ public class protocol_anan { AP18/*重启上行*/, AP31/*关机上行*/, AP12/*SOS名单上行*/, - APXL/*血压心率 上行*/, - APXY, - AP88, - AP15, - AP84, + APXL/*心率上行*/, + APXY/*血压上行*/, + AP88/*寻找设备*/, + AP15/*GPRS定位上传*/, + AP84/*白名单开关上行*/, AP14/*白名单电话本上行*/, - AP32/*拨号上行*/ + AP32/*拨号上行*/, + APSW/*定位开关上行*/ } - private final static HashMap cmdMap; static { @@ -242,7 +242,14 @@ public class protocol_anan { cmdMap.put(CMD_TYPE.AP18, "AP18"); cmdMap.put(CMD_TYPE.AP32, "AP32"); cmdMap.put(CMD_TYPE.AP15, "AP15"); - + cmdMap.put(CMD_TYPE.APXY, "APXY"); + cmdMap.put(CMD_TYPE.AP84, "AP84"); + cmdMap.put(CMD_TYPE.AP88, "AP88"); + cmdMap.put(CMD_TYPE.AP14, "AP14"); + cmdMap.put(CMD_TYPE.AP12, "AP12"); + cmdMap.put(CMD_TYPE.AP31, "AP31"); + cmdMap.put(CMD_TYPE.APXL, "APXL"); + cmdMap.put(CMD_TYPE.APSW, "APSW"); } @@ -271,7 +278,6 @@ public class protocol_anan { //收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。 //如果设备回复确认数据包接收失败状态,则重复发送上一个数据包 - String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP07)) .append(CMDSPLIT).append(packetTime) .append(CMDSPLIT).append(count) @@ -427,9 +433,7 @@ public class protocol_anan { //心率,收缩压,舒张压,腕部温度,环境温度,采集点编号 //IWAPHT,60,130,85,34.6,26.3,0# return genStringMessage(cmdMap.get(CMD_TYPE.APHT), - new StringBuffer(CMDHEADER).append( - cmdMap.get(CMD_TYPE.AP00) - ).append(CMDSPLIT) + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APHT)).append(CMDSPLIT) .append(runtime.getHRS().getPPG()/*心率*/) .append(CMDSPLIT) .append(runtime.getHRS().getBPL()/*收缩压*/) @@ -607,9 +611,42 @@ public class protocol_anan { ICLogger.d("收到拨号指令..." + cmd); handleBP32(cmd, mConnection); break; + case BPSW: + ICLogger.d("收到定位开关.." + cmd); + handleBPSW(cmd, mConnection); + break; } } + /** + * 处理终端定位上报 + * + * @param cmd + * @param mConnection + */ + private void handleBPSW(String cmd, Connection mConnection) { + String[] split = cmd.split(CMD_SPLIT); + if (split.length == 4) { + //IWBPSW,353456789012345,0808351,1# + String responseCode = split[2]; + String value = split[3]; + //1打开,0关闭 (终端默认为1) + ICLogger.d("cmd == > " + cmd); + //TODO:设置项进入数据库 + //回复IWAPSW,0808351,1# + mConnection.send(APSW(responseCode, value)); + } else { + ICLogger.d("cmd parse error..."); + } + } + + private static StringMessage APSW(String responseCode, String value) { + return genStringMessage(cmdMap.get(CMD_TYPE.APSW), + new StringBuilder(CMDHEADER).append(cmdMap.get(CMD_TYPE.APSW)).append(CMDSPLIT) + .append(responseCode).append(CMDSPLIT) + .append(value).append(CMDEND).toString()); + } + private void handleBP32(String cmd, Connection mConnection) { //返回AP32 //IWBP32,353456789012345,080835,133xxxxxxxx# -- 2.17.1