From: snickersun Date: Thu, 3 Sep 2020 12:33:22 +0000 (+0800) Subject: 添加 mqtt 报警模式 ,修正AL命令 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=35856f6ef3141446a2b5d662d6b94bfed4fb625b;p=protocol_srv.git 添加 mqtt 报警模式 ,修正AL命令 已经更新账号密码,但是不知为什么登陆不了mqtt服务器 --- diff --git a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java index 1ee6550f..1f7f2ce8 100644 --- a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java +++ b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java @@ -792,7 +792,6 @@ public class ICSmsManager extends BroadcastReceiver { sendSMS(phonenumber, "Set USB config to "+tmp[1]+"!"); Util.setSystemProperties("persist.sys.usb.config", "none"); Util.setSystemProperties("persist.sys.usb.config", tmp[1]); - }else{ sendSMS(phonenumber, "USB cmd format error only support current|adb|mtp|adb,mtp|mtp,adb|none !"); } diff --git a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java index c5fd8cb1..20b7ac66 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -180,8 +180,11 @@ public class Runtime { ALARM_LOCK_WATCH, ALARM_TEMP_HIGH, ALARM_TEMP_LOW, + ALARM_POWER_OFF, ALARM_NONE, }; + + private AlarmType g_alarm=AlarmType.ALARM_NONE; /*** * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警, * 07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低, @@ -189,7 +192,7 @@ public class Runtime { */ public void setAlarmType(AlarmType alarm){ // if ( !fall && !lowbattery && !sos && antioff) - + g_alarm=alarm; switch (alarm){ case ALARM_SOS: alarmType="01"; @@ -257,6 +260,7 @@ public class Runtime { case ALARM_TEMP_LOW: alarmType="18"; break; + case ALARM_POWER_OFF: case ALARM_NONE: default: alarmType="00"; @@ -630,7 +634,115 @@ public class Runtime { } public String fzdAlarmStatus="00000000"; - public String getFZDDevStatus(){ + + + /*** + * 终端状态 00000000 ( 16 进 + * 制) 用二进制字符串表示为 + * 0000 0000 0000 0010 0000 0000 0000 0000 含义如下: + * 左边高 16bit 表示报警,右边低 16bit 表示状态. Bit 位(0 开始) 含义(1 有效) + * 0低电状态 + * 1出围栏状态(目前没用到) + * 2进围栏状态(目前没用到) + * 3手环戴上取下状态 + * 4手表运行静止状态 + * 16SOS 报警 + * 17低电报警 + * 18出围栏报警(目前没用到) + * 19进围栏报警(目前没用到) + * 20手环拆除报警 + * 21跌倒报警 + * 22震动报警 + * 23断电报警 + * 24心率骤降报警 + * 25车辆启动 + * 比如 00200010,即表示00000000001000000000000000010000 + * 这个项目需要支持防拆 20、00000000000100000000000000000000 0x 00100000 1048576 + * 低电 17、00000000000000100000000000000000 0x 00020000 131072 + * 离线 23、00000000100000000000000000000000 0x 00800000 8388608 + * 逃逸报警 18\ 00000000000001000000000000000000 0x 00040000 262144 + * 分别是第四位为 1,第 21 位为 1,对应 21 位是跌倒报警 + * @param runtime + * @return + */ + public String getFZDDevStatus(Runtime runtime){ + String alarmType1="00000000"; + switch (runtime.g_alarm){ + case ALARM_SOS: + // alarmType1="01"; + break; + case ALARM_LOWBATTERY: + alarmType1="00020000"; + break; + case ALARM_ANTIOFF: + alarmType1="00100000"; + break; + case ALARM_WEARED: +// alarmType1="04"; + break; + case ALARM_CUTOFF: +// alarmType1="05"; + break; + case ALARM_FALL: +// alarmType1="06"; + break; + + case ALARM_ABNORMAL_HEART_RATE: +// alarmType1="07"; + break; + + case ALARM_HEART_RATE_HIGH: +// alarmType1="08"; + break; + + case ALARM_HEART_RATE_LOW: +// alarmType1="09"; + break; + + case ALARM_BPH_HIGH: +// alarmType1="10"; + break; + + case ALARM_BPH_LOW: +// alarmType1="11"; + break; + + case ALARM_BPL_HIGH: +// alarmType1="12"; + break; + + case ALARM_BPL_LOW: +// alarmType1="13"; + break; + + case ALARM_SEDENTARY: +// alarmType1="14"; + break; + + case ALARM_ILLEGAL_CUTOFF: +// alarmType1="15"; + break; + + case ALARM_LOCK_WATCH: +// alarmType1="16"; + break; + + case ALARM_TEMP_HIGH: +// alarmType1="17"; + break; + + case ALARM_TEMP_LOW: +// alarmType1="18"; + break; + case ALARM_POWER_OFF: + alarmType1="00800000"; + break; + case ALARM_NONE: + default: +// alarmType1="00000000"; + break; + } + fzdAlarmStatus=alarmType1; return fzdAlarmStatus; } public String getGPSHeading(){ diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 7fb67410..d4ac633a 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -182,7 +182,7 @@ public class protocolAPIHelper { ret=null; break; case Config.PROTOCOL_MQTT: - ret=null; + ret=protocol_mqtt.AL(runtime); break; } return ret; diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index fd3b1cd8..936901db 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -411,7 +411,7 @@ public class protocol_fzd { .append(runtime.getBattery()).append(CMDSPLIT) .append(runtime.getTotalStepCount()).append(CMDSPLIT) .append(runtime.getRolltimes()).append(CMDSPLIT) - .append(runtime.getFZDDevStatus()).append(CMDSPLIT) + .append(runtime.getFZDDevStatus(runtime)).append(CMDSPLIT) .append(runtime.getFZDLBSMultiStationData()).append(CMDSPLIT) .append(runtime.getFZDWifiData()); diff --git a/app/src/main/java/com/ic/protocols/protocol_mqtt.java b/app/src/main/java/com/ic/protocols/protocol_mqtt.java index 9362dbba..4197bbee 100644 --- a/app/src/main/java/com/ic/protocols/protocol_mqtt.java +++ b/app/src/main/java/com/ic/protocols/protocol_mqtt.java @@ -79,7 +79,7 @@ public class protocol_mqtt { cmdMap.put(CMD_TYPE.LGZONE, "LGZONE"); cmdMap.put(CMD_TYPE.UD, "UD"); cmdMap.put(CMD_TYPE.AL, "AL"); - cmdMap.put(CMD_TYPE.AL, "ALARM"); + cmdMap.put(CMD_TYPE.ALARM, "ALARM"); cmdMap.put(CMD_TYPE.temp, "temp"); cmdMap.put(CMD_TYPE.heart, "heart"); cmdMap.put(CMD_TYPE.blood, "blood"); @@ -311,7 +311,7 @@ public class protocol_mqtt { .append(runtime.getBattery()).append(CMDSPLIT) .append(runtime.getTotalStepCount()).append(CMDSPLIT) .append(runtime.getRolltimes()).append(CMDSPLIT) - .append(runtime.getFZDDevStatus()).append(CMDSPLIT) + .append(runtime.getFZDDevStatus(runtime)).append(CMDSPLIT) .append(runtime.getFZDLBSMultiStationData()).append(CMDSPLIT) .append(runtime.getFZDWifiData()).append(CMDSPLIT) .append(runtime.bleInfo.is_in_area ? "1" : "0").append(CMDSPLIT) @@ -438,7 +438,7 @@ public class protocol_mqtt { .append(CMDSPLIT).append(runtime.getBattery()) .append(CMDSPLIT).append(runtime.getTotalStepCount()) .append(CMDSPLIT).append(runtime.getRolltimes()) - .append(CMDSPLIT).append(runtime.getFZDDevStatus()) + .append(CMDSPLIT).append(runtime.getFZDDevStatus(runtime)) .append(CMDSPLIT).append(runtime.getFZDLBSMultiStationData()) .append(CMDSPLIT).append(runtime.getFZDWifiData()) .append(CMDSPLIT).append(runtime.bleInfo.is_in_area ? "1" : "0") diff --git a/app/src/main/java/com/ic/protocols/protocol_mqtt_client.java b/app/src/main/java/com/ic/protocols/protocol_mqtt_client.java index 85a1d75a..c4d27f97 100644 --- a/app/src/main/java/com/ic/protocols/protocol_mqtt_client.java +++ b/app/src/main/java/com/ic/protocols/protocol_mqtt_client.java @@ -12,10 +12,7 @@ import android.util.Log; import com.enqualcomm.support.Config; import com.enqualcomm.support.utils.ICLogger; -import java.io.IOException; - import se.wetcat.qatja.MQTTConstants; -import se.wetcat.qatja.MQTTException; import se.wetcat.qatja.android.MQTTConnectionConstants; import se.wetcat.qatja.android.QatjaService; import se.wetcat.qatja.messages.MQTTMessage; diff --git a/app/src/main/java/se/wetcat/qatja/android/QatjaService.java b/app/src/main/java/se/wetcat/qatja/android/QatjaService.java index ce62d656..deedd0a3 100644 --- a/app/src/main/java/se/wetcat/qatja/android/QatjaService.java +++ b/app/src/main/java/se/wetcat/qatja/android/QatjaService.java @@ -23,7 +23,6 @@ import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.text.TextUtils; -import android.util.Log; import com.enqualcomm.support.utils.ICLogger; @@ -281,6 +280,7 @@ public class QatjaService extends Service { MQTTConnect connect; if (!TextUtils.isEmpty(mUsername) && !TextUtils.isEmpty(mPassword)) { + ICLogger.i("mqtt connect "+clientIdentifier+" username "+mUsername+" password "+mPassword); connect = MQTTConnect.newInstance(clientIdentifier, mUsername, mPassword); } else { connect = MQTTConnect.newInstance(clientIdentifier); diff --git a/icsupport.iml b/icsupport.iml index 9c9054b6..b525d968 100644 --- a/icsupport.iml +++ b/icsupport.iml @@ -1,5 +1,5 @@ - + diff --git a/settings.gradle b/settings.gradle index c3ef0221..6b0a1a1b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,2 @@ -include ':app', ':okio' - +include ':app' include ':dNSCache'