diff options
-rw-r--r-- | src/org/traccar/protocol/Tk102ProtocolDecoder.java | 8 | ||||
-rw-r--r-- | test/org/traccar/protocol/Tk102ProtocolDecoderTest.java | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/org/traccar/protocol/Tk102ProtocolDecoder.java b/src/org/traccar/protocol/Tk102ProtocolDecoder.java index fd760e795..d7226980e 100644 --- a/src/org/traccar/protocol/Tk102ProtocolDecoder.java +++ b/src/org/traccar/protocol/Tk102ProtocolDecoder.java @@ -36,16 +36,16 @@ public class Tk102ProtocolDecoder extends BaseProtocolDecoder { } static private Pattern pattern = Pattern.compile( - "\\[\\=\\d{10}.\\(.{3}" + + "\\[.\\d{10}.\\(\\p{Upper}+" + "(\\d{2})(\\d{2})(\\d{2})" + // Time (HHMMSS) "([AV])" + // Validity "(\\d{2})(\\d{2}\\.\\d{4})" + // Latitude (DDMM.MMMM) "([NS])" + "(\\d{3})(\\d{2}\\.\\d{4})" + // Longitude (DDDMM.MMMM) "([EW])" + - "(\\d{3}\\.\\d{3})" + // Speed + "(\\d{3}\\.\\d{3})" + // Speed "(\\d{2})(\\d{2})(\\d{2})" + // Date (DDMMYY) - ".+"); + "\\d+\\)"); @Override protected Object decode( @@ -65,7 +65,7 @@ public class Tk102ProtocolDecoder extends BaseProtocolDecoder { } // Parse message - else if (sentence.startsWith("[=") && deviceId != null) { + else if (deviceId != null) { // Parse message Matcher parser = pattern.matcher(sentence); diff --git a/test/org/traccar/protocol/Tk102ProtocolDecoderTest.java b/test/org/traccar/protocol/Tk102ProtocolDecoderTest.java index 09ac5ed64..11b01323c 100644 --- a/test/org/traccar/protocol/Tk102ProtocolDecoderTest.java +++ b/test/org/traccar/protocol/Tk102ProtocolDecoderTest.java @@ -16,15 +16,24 @@ public class Tk102ProtocolDecoderTest { assertNull(decoder.decode(null, null, "[!0000000081r(353327023367238,TK102-W998_01_V1.1.001_130219,255,001,255,001,0,100,100,0,internet,0000,0000,0,0,255,0,4,1,11,00)")); + + assertNull(decoder.decode(null, null, + "[L0000001323N(GSM,0,0,07410001,20120101162600,404,010,9261,130,0,2353,130,35,9263,130,33,1)")); assertNull(decoder.decode(null, null, "[%0000000082\u001d(100100000000000600-30-65535)")); + assertNull(decoder.decode(null, null, + "[#0000000004\u0018(062100000000000600-0-0)")); + assertNotNull(decoder.decode(null, null, "[=00000000836(ITV013939A4913.8317N02824.9241E000.90018031310010000)")); assertNotNull(decoder.decode(null, null, "[=00000000366(ITV012209A4913.8281N02824.9258E000.32018031310010000)")); + + assertNotNull(decoder.decode(null, null, + "[;00000000106(ONE200834A5952.8114N01046.0832E003.93212071305010000)")); } |