From c284656565ea874ee7772c1d360e59d8c150f044 Mon Sep 17 00:00:00 2001 From: snickersun Date: Wed, 29 Jan 2020 01:34:55 +0800 Subject: [PATCH] =?utf8?q?=E6=B7=BB=E5=8A=A0BP86=E5=92=8CBP89=E7=9A=84?= =?utf8?q?=E5=8D=8F=E8=AE=AE=E8=A7=A3=E6=9E=90=E5=93=8D=E5=BA=94=E3=80=82?= =?utf8?q?=E6=B2=A1=E6=9C=89=E5=AE=9E=E9=99=85=E8=AE=BE=E7=BD=AEAlarm=20?= =?utf8?q?=E3=80=82=20BP86=E8=AE=BE=E7=BD=AE=E5=BF=83=E7=8E=87=E8=A1=80?= =?utf8?q?=E5=8E=8B=E5=91=A8=E6=9C=9F=E6=9C=89=E6=B5=8B=E8=AF=95=EF=BC=8CB?= =?utf8?q?P89=E6=B2=A1=E6=9C=89apk=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=9C=AA?= =?utf8?q?=E6=B5=8B=E8=AF=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../protocol/adapter/protocolAPIHelper.java | 77 +++++++++++++++++++ .../java/com/ic/protocol/service/Deliver.java | 2 +- .../ic/protocol/utils/NettyConnection.java | 8 ++ 3 files changed, 86 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java b/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java index b7f53749..dd7d0042 100644 --- a/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java @@ -1066,6 +1066,83 @@ public static String AP15(String index){ } + //17.设置心率/血压测量周期(下行协议号:BP86,响应:AP86) + public static String AP86(String index){ + + //设备响应: IWAP86, 080835# + //080835:指令流水号 + return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP86)) + .append(CMDSPLIT).append(index) + .append(CMDEND).toString(); + } + + public void handleBP86(String cmd,Connection connection){ + + //示例: + //IWBP86, 353456789012345, 080835,1,720# + //说明: + //IW:标识符 + //BP86 : 命令字符 + //353456789012345:IMEI号,设备唯一ID + //080835 :指令流水号 + //1: 表示心率周期;2 :表示血压周期 + //720: 表示720分钟 + + String[] list=cmd.split(CMDSPLIT); + + if (list.length==5){ + String index=list[2]; + String type=list[3]; + String cycle=list[4]; + connection.send(protocolAPIHelper.genStringMessage("AP86",AP86(index))); + Logger.i("收到服务器指令:设置"+(type.equals("1")?"心率周期 ":"血压周期 ")+cycle+"分钟"); + }else{ + Logger.i("BP86 format error!"); + } + + } + + //18.18.设置心率/血压阀值(下行协议号:BP89,响应:AP89) + public static String AP89(String index){ + + //设备响应: IWAP89, 080835# + //080835:指令流水号 + return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP89)) + .append(CMDSPLIT).append(index) + .append(CMDEND).toString(); + } + + public void handleBP89(String cmd,Connection connection){ + + //示例: + //IWBP89, 353456789012345, 080835,50,90,80,90,110,140# + //说明: + //IW:标识符 + //BP89 : 命令字符 + //353456789012345:IMEI号,设备唯一ID + //080835 :指令流水号 + //50: 心率低阀值,低于该阀值上传心率,如果未设置,则留空 + //90: 心率高阀值,高于该阀值上传心率,如果未设置,则留空 + //80: 低压阀值,低压低于该阀值上传血压,如果未设置,则留空 + //90: 低压阀值,低压高于该阀值上传血压,如果未设置,则留空 + //110: 高压阀值,高压低于该阀值上传血压,如果未设置,则留空 + //140: 高压阀值,高压高于该阀值上传血压,如果未设置,则留空 + String[] list=cmd.split(CMDSPLIT); + if (list.length==9){ + String index=list[2]; + String PPGH=list[3]; + String PPGL=list[4]; + String BPH_H=list[5]; + String BPH_L=list[6]; + String BPL_H=list[7]; + String BPL_L=list[8]; + connection.send(protocolAPIHelper.genStringMessage("AP89",AP89(index))); + Logger.i("收到服务器指令:心率/血压阀值 "+PPGH+","+PPGL+","+BPH_H+","+BPH_L+","+BPL_H+","+BPL_L); + }else{ + Logger.i("BP89 format error!"); + } + + } public interface CmdHandler { diff --git a/app/src/main/java/com/ic/protocol/service/Deliver.java b/app/src/main/java/com/ic/protocol/service/Deliver.java index 7f5135f4..ee5cca02 100644 --- a/app/src/main/java/com/ic/protocol/service/Deliver.java +++ b/app/src/main/java/com/ic/protocol/service/Deliver.java @@ -142,7 +142,7 @@ public class Deliver extends AbstractConnectionService { if ("1".equals(arrayOfString4[1])) { int j = paramRuntime.getContextProxy().getTelephonyManager().getCallState(); if (1 != j && 2 != j && !isSilence(paramRuntime)) { - paramRuntime.getContextProxy().startSearchActivity(); +// paramRuntime.getContextProxy().startSearchActivity(); return true; } } else { diff --git a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java index dae64800..37767a31 100644 --- a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java +++ b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java @@ -151,6 +151,14 @@ public class NettyConnection implements Connection { API.handleBP84(cmd,NettyConnection.this); Logger.i("收到服务器白名单命令"); break; + + case BP86: + API.handleBP86(cmd,NettyConnection.this); +// Logger.i(""); + break; + case BP89: + API.handleBP89(cmd,NettyConnection.this); + break; } return ret; -- 2.17.1