AP18/*重启上行*/,
AP31/*关机上行*/,
AP12/*SOS名单上行*/,
- APXL/*血压心率 上行*/,
- APXY,
- AP88,
- AP15,
- AP84,
+ APXL/*心率上行*/,
+ APXY/*血压上行*/,
+ AP88/*寻找设备*/,
+ AP15/*GPRS定位上传*/,
+ AP84/*白名单开关上行*/,
AP14/*白名单电话本上行*/,
- AP32/*拨号上行*/
+ AP32/*拨号上行*/,
+ APSW/*定位开关上行*/
}
-
private final static HashMap<CMD_TYPE, String> cmdMap;
static {
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");
}
//收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。
//如果设备回复确认数据包接收失败状态,则重复发送上一个数据包
-
String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP07))
.append(CMDSPLIT).append(packetTime)
.append(CMDSPLIT).append(count)
//心率,收缩压,舒张压,腕部温度,环境温度,采集点编号
//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()/*收缩压*/)
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#