aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/hex.sh35
-rwxr-xr-xtools/test.sh220
2 files changed, 88 insertions, 167 deletions
diff --git a/tools/hex.sh b/tools/hex.sh
index 2a7b55901..cd880e13e 100755
--- a/tools/hex.sh
+++ b/tools/hex.sh
@@ -1,14 +1,35 @@
#!/bin/sh
#
-# This test data assumes device "352964051908664" exists.
+# Script to send convert HEX string into binary and send it to specified local port
#
-# INSERT INTO device ( name, uniqueid )
-# VALUES ( 'Test Device for hex.sh', 352964051908664 );
+# Example usage:
#
-# Note: Not all shells support "echo -e" (e.g., dash - default on Ubuntu).
-# This will cause an unknown device error for "-e".
+# hex.sh 5039 3e52505631393535352b343533383431382d303733393531383530303032303231323b49443d393939393b2a37423c0d0a
#
-echo 3e52505631393535352b343533383431382d303733393531383530303032303231323b49443d393939393b2a37423c0d0a | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie' | nc -v -w 10 localhost 5039
-#echo 3e52505631393535352b343533383431382d303733393531383530303032303231323b49443d393939393b2a37423c0d0a | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie' > /dev/udp/localhost/5057
+if [[ $# -lt 2 ]]
+then
+ echo "USAGE: $0 <port> <hex>"
+ exit 1
+fi
+
+send_hex_udp () {
+ echo $2 | xxd -r -p | nc -u localhost $1
+}
+
+send_hex_tcp () {
+ echo $2 | xxd -r -p | nc localhost $1
+}
+
+send_text_udp () {
+ echo -n -e $2 | nc -u localhost $1
+}
+
+send_text_tcp () {
+ echo -n -e $2 | nc localhost $1
+}
+
+send_hex_tcp $1 $2
+
+exit $?
diff --git a/tools/test.sh b/tools/test.sh
index de654e283..445341f27 100755
--- a/tools/test.sh
+++ b/tools/test.sh
@@ -3,165 +3,65 @@
#
# This test data assumes three devices exist:
#
-# INSERT INTO device ( name, uniqueid ) VALUES
-# ( 'Test Device 1', 123456789012345 ),
-# ( 'Test Device 2', 123456789012 ),
-# ( 'Test Device 3', 123456 );
+# INSERT INTO device (name, uniqueId) VALUES
+# ('Test Device 1', 123456789012345),
+# ('Test Device 2', 123456789012),
+# ('Test Device 3', 123456);
+#
+# Test data:
+# ids - 123456789012345 (31), 123456789012 (1), 123456 (2)
+# time - 12:00 + X min (where X is port number - 5000)
+#
+# To verify test check database entries
+#
+# Warning: Not all shells support "echo -e"
#
-# Note: Not all shells support "echo -e" (e.g., dash, the default on Ubuntu).
-# This will cause an unknown device error for "-e". bash works.
-
-# testing data:
-# ids - 123456789012345 (31), 123456789012 (1), 123456 (2)
-# time - 12:00 + X min (where X is protocol number)
-
-# to verify test check database entries
-
-echo "1. gps103"
-(echo -n -e "imei:123456789012345,help me,1201011201,,F,120100.000,A,6000.0000,N,13000.0000,E,0.00,;";) | nc -v localhost 5001
-
-echo "2. tk103"
-(echo -n -e "(123456789012BP05123456789012345120101A6000.0000N13000.0000E000.0120200000.0000000000L000946BB)";) | nc -v localhost 5002
-
-echo "3. gl100"
-(echo -n -e "+RESP:GTSOS,123456789012345,0,0,0,1,0.0,0,0.0,1,130.000000,60.000000,20120101120300,0460,0000,18d8,6141,00,11F0,0102120204\0";) | nc -v localhost 5003
-
-echo "4. gl200"
-(echo -n -e "+RESP:GTFRI,020102,123456789012345,,0,0,1,1,0.0,0,0.0,130.000000,60.000000,20120101120400,0460,0000,18d8,6141,00,,20120101120400,11F0\$";) | nc -v localhost 5004
-
-echo "5. t55"
-(echo -n -e "\$PGID,123456789012345*0F\r\n\$GPRMC,120500.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,*33\r\n";) | nc -v localhost 5005
-
-echo "6. xexun"
-(echo -n -e "111111120009,+436763737552,GPRMC,120600.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,A*68,F,, imei:123456789012345,04,481.2,F:4.15V,0,139,2689,232,03,2725,0576\n";) | nc -v localhost 5006
-
-echo "7. totem"
-(echo -n -e "\$\$B3123456789012345|AA\$GPRMC,120700.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,,A*74|01.8|01.0|01.5|000000000000|20120403234603|14251914|00000000|0012D888|0000|0.0000|3674|940B\r\n";) | nc -v localhost 5007
-
-echo "8. enfora"
-(echo -n -e "\x00\x71\x00\x04\x02\x00 123456789012345 13 \$GPRMC,120800.00,A,6000.000000,N,13000.000000,E,0.0,0.0,010112,,,A*52\r\n";) | nc -v localhost 5008
-
-echo "9. meiligao"
-(echo -n -e "\$\$\x00\x60\x12\x34\x56\xFF\xFF\xFF\xFF\x99\x55120900.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,*1C|11.5|194|0000|0000,0000\x69\x62\x0D\x0A";) | nc -v localhost 5009
-
-echo "10. maxon"
-
-
-echo "11. st210"
-(echo -n -e "SA200STT;123456;042;20120101;12:11:00;16d41;-15.618767;-056.083214;000.011;000.00;11;1;41557;12.21;000000;1;3205\r";) | nc -v localhost 5011
-
-echo "12. progress"
-
-
-echo "13. h02"
-(echo -n -e "*HQ,123456789012345,V1,121300,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,ffffffff,000000,000000,000000,000000#";) | nc -v localhost 5013
-
-echo "14. jt600"
-(echo -n -e "\$\x00\x00\x12\x34\x56\x11\x00\x1B\x01\x01\x12\x12\x14\x00\x60\x00\x00\x00\x13\x00\x00\x00\x0F\x00\x00\x07\x50\x00\x00\x00\x2B\x91\x04\x4D\x1F\xA1";) | nc -v localhost 5014
-
-echo "15. ev603"
-(echo -n -e "!1,123456789012345;!A,01/01/12,12:15:00,60.000000,130.000000,0.0,25101,0;";) | nc -v localhost 5015
-
-echo "16. v680"
-(echo -n -e "#123456789012345#1000#0#1000#AUT#1#66830FFB#13000.0000,E,6000.0000,N,001.41,259#010112#121600##";) | nc -v localhost 5016
-
-echo "17. pt502"
-(echo -n -e "\$POS,123456,121700.000,A,6000.0000,N,13000.0000,E,0.0,0.0,010112,,,A/00000,00000/0/23895000//\r\n";) | nc -v localhost 5017
-
-echo "18. tr20"
-(echo -n -e "%%123456789012345,A,120101121800,N6000.0000E13000.0000,0,000,0,01034802,150,[Message]\r\n";) | nc -v localhost 5018
-
-echo "19. navis"
-
-
-echo "20. meitrack"
-(echo -n -e "\$\$d138,123456789012345,AAA,35,60.000000,130.000000,120101122000,A,7,18,0,0,0,49,3800,24965,510|10|0081|4F4F,0000,000D|0010|0012|0963|0000,,*BF\r\n";) | nc -v localhost 5020
-
-echo "21. skypatrol"
-
-
-echo "22. gt02"
-
-
-echo "23. gt06"
-
-
-echo "24. megastek"
-(echo -n -e "STX,102110830074542,\$GPRMC,122400.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,A*64,F,LowBattery,imei:123456789012345,03,113.1,Battery=24%,,1,460,01,2531,647E;57\r\n";) | nc -v localhost 5024
-
-echo "25. navigil"
-
-
-echo "26. gpsgate"
-(echo -n -e "\$FRLIN,IMEI,123456789012345,*7B\r\n\$GPRMC,122600.000,A,6000.00000,N,13000.00000,E,0.000,0.0,010112,,*0A";) | nc -v localhost 5026
-
-echo "27. teltonika"
-
-
-echo "28. mta6"
-
-
-echo "29. mta6can"
-
-
-echo "30. tlt2h"
-(echo -n -e "#123456789012345#V500#0000#AUTO#1\r\n#\$GPRMC,123000.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,D*70\r\n##";) | nc -v localhost 5030
-
-echo "31. syrus"
-(echo -n -e ">REV481669045060+6000000-1300000000000012;ID=123456789012345<";) | nc -v localhost 5031
-
-echo "32. wondex"
-(echo -n -e "123456789012345,20120101123200,130.000000,60.000000,0,000,0,0,2\r\n";) | nc -v localhost 5032
-
-echo "33. cellocator"
-
-
-echo "34. galileo"
-
-
-echo "35. ywt"
-(echo -n -e "%RP,123456789012345:0,120101123500,E130.000000,N60.000000,,0,0,4,0,00\r\n";) | nc -v localhost 5035
-
-echo "36. tk102"
-(echo -n -e "[!0000000081r(123456789012345,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)][=00000000836(ITV123600A6000.0000N13000.0000E000.00001011210010000)]";) | nc -v localhost 5036
-
-echo "37. intellitrac"
-(echo -n -e "123456789012345,20120101123700,130.000000,60.000000,0,0,0,7,0,11,15\r\n";) | nc -v localhost 5037
-
-echo "38. xt7"
-
-
-echo "39. wialon"
-(echo -n -e "#L#123456789012345;test\r\n#SD#010112;123900;6000.0000;N;13000.0000;E;0;0;0;4\r\n";) | nc -v localhost 5039
-
-echo "40. carscop"
-(echo -n -e "*040331141830UB05123456789012345010112A6000.0000N13000.0000E000.0124000000.0000000000L000000^";) | nc -v localhost 5040
-
-echo "41. apel"
-
-
-echo "42. manpower"
-(echo -n -e "simei:123456789012345,,,tracker,51,24,1.73,120101124200,A,6000.0000,N,13000.0000,E,0.00,28B9,1DED,425,01,1x0x0*0x1*60x+2,en-us,;";) | nc -v localhost 5042
-
-echo "43. globalsat"
-(echo -n -e "\$123456789012345,1,1,010112,124300,E13000.0000,N6000.0000,00000,0.0100,147,07,2.4!";) | nc -v localhost 5043
-
-echo "44. atrack"
-
-
-echo "45. pt3000"
-(echo -n -e "%123456789012345,\$GPRMC,124500.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,,A,+100000000000,N098d";) | nc -v localhost 5045
-
-echo "46. ruptela"
-
-echo "47. topflytech"
-(echo -n -e "(123456789012345BP00XG00b600000000L00074b54S00000000R0C0F0014000100f0120101124700A6000.0000N13000.0000E000.0000.00)";) | nc -v localhost 5047
-
-echo "48. laipac"
-(echo -n -e "\$AVRMC,123456789012345,124800,a,6000.0000,N,13000.0000,E,0.00,0.00,010112,0,3.727,17,1,0,0*17\r\n";) | nc -v localhost 5048
-
-echo "49. aplicom"
-
-echo "50. gotop"
-(echo -n -e "#123456789012345,CMD-T,A,DATE:120101,TIME:125000,LAT:60.0000000N,LOT:130.0000000E,Speed:000.0,84-20,000#";) | nc -v localhost 5050
+cd $(dirname $0)
+
+# port name string
+test_protocol () {
+ echo -n -e $3 | nc localhost $1
+ if [[ $? -ne 0 ]]
+ then
+ printf "%-4s %-15s FAIL\n" $1 $2
+ else
+ printf "%-4s %-15s SENT\n" $1 $2
+ fi
+}
+
+test_protocol 5001 "gps103" "imei:123456789012345,help me,1201011201,,F,120100.000,A,6000.0000,N,13000.0000,E,0.00,;"
+test_protocol 5002 "tk103" "(123456789012BP05123456789012345120101A6000.0000N13000.0000E000.0120200000.0000000000L000946BB)"
+test_protocol 5003 "gl100" "+RESP:GTSOS,123456789012345,0,0,0,1,0.0,0,0.0,1,130.000000,60.000000,20120101120300,0460,0000,18d8,6141,00,11F0,0102120204\0"
+test_protocol 5004 "gl200" "+RESP:GTFRI,020102,123456789012345,,0,0,1,1,0.0,0,0.0,130.000000,60.000000,20120101120400,0460,0000,18d8,6141,00,,20120101120400,11F0\$"
+test_protocol 5005 "t55" "\$PGID,123456789012345*0F\r\n\$GPRMC,120500.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,*33\r\n"
+test_protocol 5006 "xexun" "111111120009,+436763737552,GPRMC,120600.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,A*68,F,, imei:123456789012345,04,481.2,F:4.15V,0,139,2689,232,03,2725,0576\n"
+test_protocol 5007 "totem" "\$\$B3123456789012345|AA\$GPRMC,120700.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,,A*74|01.8|01.0|01.5|000000000000|20120403234603|14251914|00000000|0012D888|0000|0.0000|3674|940B\r\n"
+test_protocol 5008 "enfora" "\x00\x71\x00\x04\x02\x00 123456789012345 13 \$GPRMC,120800.00,A,6000.000000,N,13000.000000,E,0.0,0.0,010112,,,A*52\r\n"
+test_protocol 5009 "meiligao" "\$\$\x00\x60\x12\x34\x56\xFF\xFF\xFF\xFF\x99\x55120900.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,*1C|11.5|194|0000|0000,0000\x69\x62\x0D\x0A"
+test_protocol 5011 "st210" "SA200STT;123456;042;20120101;12:11:00;16d41;-15.618767;-056.083214;000.011;000.00;11;1;41557;12.21;000000;1;3205\r"
+test_protocol 5013 "h02" "*HQ,123456789012345,V1,121300,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,ffffffff,000000,000000,000000,000000#"
+test_protocol 5014 "jt600" "\$\x00\x00\x12\x34\x56\x11\x00\x1B\x01\x01\x12\x12\x14\x00\x60\x00\x00\x00\x13\x00\x00\x00\x0F\x00\x00\x07\x50\x00\x00\x00\x2B\x91\x04\x4D\x1F\xA1"
+test_protocol 5015 "ev603" "!1,123456789012345;!A,01/01/12,12:15:00,60.000000,130.000000,0.0,25101,0;"
+test_protocol 5016 "v680" "#123456789012345#1000#0#1000#AUT#1#66830FFB#13000.0000,E,6000.0000,N,001.41,259#010112#121600##"
+test_protocol 5017 "pt502" "\$POS,123456,121700.000,A,6000.0000,N,13000.0000,E,0.0,0.0,010112,,,A/00000,00000/0/23895000//\r\n"
+test_protocol 5018 "tr20" "%%123456789012345,A,120101121800,N6000.0000E13000.0000,0,000,0,01034802,150,[Message]\r\n"
+test_protocol 5020 "meitrack" "\$\$d138,123456789012345,AAA,35,60.000000,130.000000,120101122000,A,7,18,0,0,0,49,3800,24965,510|10|0081|4F4F,0000,000D|0010|0012|0963|0000,,*BF\r\n"
+test_protocol 5024 "megastek" "STX,102110830074542,\$GPRMC,122400.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,A*64,F,LowBattery,imei:123456789012345,03,113.1,Battery=24%,,1,460,01,2531,647E;57\r\n"
+test_protocol 5026 "gpsgate" "\$FRLIN,IMEI,123456789012345,*7B\r\n\$GPRMC,122600.000,A,6000.00000,N,13000.00000,E,0.000,0.0,010112,,*0A"
+test_protocol 5030 "tlt2h" "#123456789012345#V500#0000#AUTO#1\r\n#\$GPRMC,123000.000,A,6000.0000,N,13000.0000,E,0.00,0.00,010112,,,D*70\r\n##"
+test_protocol 5031 "syrus" ">REV481669045060+6000000-1300000000000012;ID=123456789012345<"
+test_protocol 5032 "wondex" "123456789012345,20120101123200,130.000000,60.000000,0,000,0,0,2\r\n"
+test_protocol 5035 "ywt" "%RP,123456789012345:0,120101123500,E130.000000,N60.000000,,0,0,4,0,00\r\n"
+test_protocol 5036 "tk102" "[!0000000081r(123456789012345,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)][=00000000836(ITV123600A6000.0000N13000.0000E000.00001011210010000)]"
+test_protocol 5037 "intellitrac" "123456789012345,20120101123700,130.000000,60.000000,0,0,0,7,0,11,15\r\n"
+test_protocol 5039 "wialon" "#L#123456789012345;test\r\n#SD#010112;123900;6000.0000;N;13000.0000;E;0;0;0;4\r\n"
+test_protocol 5040 "carscop" "*040331141830UB05123456789012345010112A6000.0000N13000.0000E000.0124000000.0000000000L000000^"
+test_protocol 5042 "manpower" "simei:123456789012345,,,tracker,51,24,1.73,120101124200,A,6000.0000,N,13000.0000,E,0.00,28B9,1DED,425,01,1x0x0*0x1*60x+2,en-us,;"
+test_protocol 5043 "globalsat" "\$123456789012345,1,1,010112,124300,E13000.0000,N6000.0000,00000,0.0100,147,07,2.4!"
+test_protocol 5045 "pt3000" "%123456789012345,\$GPRMC,124500.000,A,6000.0000,N,13000.0000,E,0.00,,010112,,,A,+100000000000,N098d"
+test_protocol 5047 "topflytech" "(123456789012345BP00XG00b600000000L00074b54S00000000R0C0F0014000100f0120101124700A6000.0000N13000.0000E000.0000.00)"
+test_protocol 5048 "laipac" "\$AVRMC,123456789012345,124800,a,6000.0000,N,13000.0000,E,0.00,0.00,010112,0,3.727,17,1,0,0*17\r\n"
+test_protocol 5050 "gotop" "#123456789012345,CMD-T,A,DATE:120101,TIME:125000,LAT:60.0000000N,LOT:130.0000000E,Speed:000.0,84-20,000#"
+
+exit 0