completed ap10 and ap03 of anan protocol.
authorTrillGates <williamtrillgates@gmail.com>
Sun, 25 Apr 2021 07:41:59 +0000 (15:41 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Sun, 25 Apr 2021 07:41:59 +0000 (15:41 +0800)
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_anan.java

index db70657..597c80e 100644 (file)
@@ -254,6 +254,9 @@ public class protocolAPIHelper {
             case Config.PROTOCOL_MQTT:
                 ret = protocol_mqtt.AL(runtime);
                 break;
+            case PROTOCOL_ANAN:
+                ret = protocol_anan.AP10(runtime);
+                break;
         }
         return ret;
     }
@@ -303,6 +306,9 @@ public class protocolAPIHelper {
             case Config.PROTOCOL_MQTT:
                 ret = protocol_mqtt.KA(runtime);
                 break;
+            case PROTOCOL_ANAN:
+                ret = protocol_anan.AP03(runtime);
+                break;
         }
         return ret;
     }
@@ -333,7 +339,6 @@ public class protocolAPIHelper {
         return ret;
     }
 
-
     public static StringMessage getLBSLocationMSG(Runtime runtime) {
         if (is_protocol_not_Initialled()) return null;
         StringMessage ret = null;
index ece0aab..405f914 100644 (file)
@@ -177,6 +177,66 @@ public class protocol_anan {
                         .append(CMDEND).toString());
     }
 
+
+    public static StringMessage AP10(Runtime ds) {
+
+        /**
+         * IWAP10080524A2232.9806N11404.9355E000.1  061830  323.87  060 009 080 0 05 02,
+         * 460,0,9520,3671,
+         * 00,zh-cn,00,
+         * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05/06:跌倒报警))
+         * zh-cn:设备语言
+         * 00:第一个0:是否需要回复地址信息,0:不回复,1回复.
+         * HOME|74-DE-2B-44-88-8C|97&HOME1|74-DE-2B-44-88-8C|97&HOME2|74-DE-2B-44-88-8C|97&HOME3|74-DE-2B-44-88-8C|97#
+         * IW标识符
+         * AP10:命令字
+         * 080524: 2008 年05 月24
+         * A:“A”表示数据有效,”V”无效,如为V则取LBS数据
+         * 2232.9806N11404.9355E000.1: 北纬22度32.9806分,东经114度04.9355分,速度为000.1 km/h,如经纬度无效,可默认全为0,如0000.0000N00000.0000E
+         * 061830: 格林尼治时间06 点18 分30 秒
+         * 323.87:方向角323.87°
+         * 06000908000102:060为GSM信号,009为参与定位的卫星数,080为电池电量,0,保留位,01为设防状态,02为工作模式 ,(设防,工作模式如果为00,则代表无或未设置)
+         * 460,0,9520,3671 : LBS基站数据,MCC国家码,460为中国,0:MNC,0为移动,9520:LAC,十进制,3671,CID,十进制
+         * 00为报警状态,00为无任何报警(01:SOS,02:低电,03:脱落报警,04:佩戴提醒,05:剪断报警,06:跌倒报警,07:心率异常, 08:心率过高, 09:心率过低,10:收缩压过高,11:收缩压过低,12:舒张压过高,13:舒张压过低,14:久坐提醒,15:非法解锁(剪断报警),16:锁定提醒(佩戴提醒),17:体温过高,18体温过低)
+         * zh-cn:设备语言
+         * 00:第一个0:是否需要回复地址信息,0:不回复,1回复.
+         */
+        return genStringMessage(cmdMap.get(CMD_TYPE.AP10),
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP10))
+                        .append(TimeUtil.getShortDate())
+                        .append(ds.getGPSData())
+                        .append(TimeUtil.getShortTime())
+                        .append(ds.getGPSHeading())
+                        .append(String.format("%03d", abs(ds.getSignalStrength())))
+                        .append(ds.getGPSLocationStarNums())
+                        .append(ds.getBattery()).append("0")
+                        .append(ds.getProtection())
+                        .append(ds.getWorkModeStr()).append(CMDSPLIT)
+                        .append(ds.getLBSData()).append(CMDSPLIT)
+                        .append(ds.getAlarmType()).append(CMDSPLIT)
+                        .append(ds.getLanguage()).append(CMDSPLIT)
+                        .append("00").append(CMDSPLIT)  //不回复地址
+                        .append(ds.getWifiInfo()).append(CMDEND).toString());
+
+    }
+
+    public static StringMessage AP03(Runtime ds) {
+        //示例数据:IWAP03,06000908000102,5555,30#  IWAP03,000000null00000,0,0#
+        return genStringMessage(cmdMap.get(CMD_TYPE.AP03),
+                new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP03))
+                        .append(CMDSPLIT).append(String.format("%03d", abs(ds.getSignalStrength())))
+                        .append(ds.getGPSLocationStarNums())
+                        .append(ds.getBattery())
+                        .append("0")
+                        .append(ds.getProtection())
+                        .append(ds.getWorkModeStr())
+                        .append(CMDSPLIT)
+                        .append(ds.getTotalStepCount())
+                        .append(CMDSPLIT)
+                        .append(ds.getRolltimes())
+                        .append(CMDEND).toString());
+    }
+
     /*LBS+GPS混合定位*/
     public static StringMessage AP01(Runtime ds) {
         //示例数据:IWAP01080524A2232.9806N11404.9355E000.1061830323.8706000908000102,