Ejemplo n.º 1
0
        public void Test_2019_1()
        {
            JT809_0x1200_0x1203 jT809_0X1200_0X1203 = new JT809_0x1200_0x1203();

            jT809_0X1200_0X1203.GNSS = new List <JT809_0x1200_0x1202>();
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.GNSSData         = new Metadata.JT809VehiclePositionProperties_2019();
            jT809_0X1200_0X1202.GNSSData.Encrypt = JT809_VehiclePositionEncrypt.已加密;
            //jT809_0X1200_0X1202.GNSSData.GnssData = new byte[20];
            jT809_0X1200_0X1202.GNSSData.PlatformId1 = "11111111111";
            jT809_0X1200_0X1202.GNSSData.Alarm1      = 1;
            jT809_0X1200_0X1202.GNSSData.PlatformId2 = "22222222222";
            jT809_0X1200_0X1202.GNSSData.Alarm2      = 2;
            jT809_0X1200_0X1202.GNSSData.PlatformId3 = "33333333333";
            jT809_0X1200_0X1202.GNSSData.Alarm3      = 3;
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202);
            JT809_0x1200_0x1202 jT809_0X1200_0X1202_1 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_1.GNSSData             = new Metadata.JT809VehiclePositionProperties_2019();
            jT809_0X1200_0X1202_1.GNSSData.Encrypt     = JT809_VehiclePositionEncrypt.已加密;
            jT809_0X1200_0X1202_1.GNSSData.PlatformId1 = "11111111111";
            jT809_0X1200_0X1202_1.GNSSData.Alarm1      = 1;
            jT809_0X1200_0X1202_1.GNSSData.PlatformId2 = "22222222222";
            jT809_0X1200_0X1202_1.GNSSData.Alarm2      = 2;
            jT809_0X1200_0X1202_1.GNSSData.PlatformId3 = "33333333333";
            jT809_0X1200_0X1202_1.GNSSData.Alarm3      = 3;
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_1);
            var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1203).ToHexString();

            Assert.Equal("0201000000003131313131313131313131000000013232323232323232323232000000023333333333333333333333000000030100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);
        }
Ejemplo n.º 2
0
        public void Test_2019_4()
        {
            var bytes = "0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809_2019_Serializer.Deserialize <JT809_0x1200_0x1202>(bytes);

            Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1202.GNSSData.Encrypt);
            Assert.Equal("11111111111", jT809_0X1200_0X1202.GNSSData.PlatformId1);
            Assert.Equal(1u, jT809_0X1200_0X1202.GNSSData.Alarm1);
            Assert.Equal("22222222222", jT809_0X1200_0X1202.GNSSData.PlatformId2);
            Assert.Equal(2u, jT809_0X1200_0X1202.GNSSData.Alarm2);
            Assert.Equal("33333333333", jT809_0X1200_0X1202.GNSSData.PlatformId3);
            Assert.Equal(3u, jT809_0X1200_0X1202.GNSSData.Alarm3);

            var jt808_0x0200Hex = jT809_0X1200_0X1202.GNSSData.GnssData;
            var jt808_0x0200    = JT808_2019_Serializer.Deserialize <JT808_0x0200>(jt808_0x0200Hex, JT808.Protocol.Enums.JT808Version.JTT2019);

            Assert.Equal((uint)1, jt808_0x0200.AlarmFlag);
            Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), jt808_0x0200.GPSTime);
            Assert.Equal(12222222, jt808_0x0200.Lat);
            Assert.Equal(132444444, jt808_0x0200.Lng);
            Assert.Equal(60, jt808_0x0200.Speed);
            Assert.Equal((uint)2, jt808_0x0200.StatusFlag);
            Assert.Equal(100, ((JT808_0x0200_0x01)jt808_0x0200.JT808LocationAttachData[JT808Constants.JT808_0x0200_0x01]).Mileage);
            Assert.Equal(55, ((JT808_0x0200_0x02)jt808_0x0200.JT808LocationAttachData[JT808Constants.JT808_0x0200_0x02]).Oil);
        }
Ejemplo n.º 3
0
        public void Test1()
        {
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.VehiclePosition           = new Metadata.JT809VehiclePositionProperties();
            jT809_0X1200_0X1202.VehiclePosition.Day       = 19;
            jT809_0X1200_0X1202.VehiclePosition.Month     = 7;
            jT809_0X1200_0X1202.VehiclePosition.Year      = 2012;
            jT809_0X1200_0X1202.VehiclePosition.Hour      = 15;
            jT809_0X1200_0X1202.VehiclePosition.Minute    = 15;
            jT809_0X1200_0X1202.VehiclePosition.Second    = 15;
            jT809_0X1200_0X1202.VehiclePosition.Lon       = 133123456;
            jT809_0X1200_0X1202.VehiclePosition.Lat       = 24123456;
            jT809_0X1200_0X1202.VehiclePosition.Vec1      = 50;
            jT809_0X1200_0X1202.VehiclePosition.Vec2      = 51;
            jT809_0X1200_0X1202.VehiclePosition.Vec3      = 150;
            jT809_0X1200_0X1202.VehiclePosition.Direction = 45;
            jT809_0X1200_0X1202.VehiclePosition.Altitude  = 45;
            jT809_0X1200_0X1202.VehiclePosition.State     = 3;
            jT809_0X1200_0X1202.VehiclePosition.Alarm     = 257;
            var hex = JT809Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();

            //"00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
            Assert.Equal("00130707DC0F0F0F07EF4D80017018400032003300000096002D002D0000000300000101", hex);
        }
Ejemplo n.º 4
0
        public void Test1()
        {
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.VehiclePosition = new JT809VehiclePositionProperties
            {
                Day       = 19,
                Month     = 7,
                Year      = 2012,
                Hour      = 15,
                Minute    = 15,
                Second    = 15,
                Lon       = 133123456,
                Lat       = 24123456,
                Vec1      = 50,
                Vec2      = 51,
                Vec3      = 150,
                Direction = 45,
                Altitude  = 45,
                State     = 3,
                Alarm     = 257,
            };
            var hex = JT809Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();

            //"00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
            Assert.Equal("00130707DC0F0F0F07EF4D80017018400032003300000096002D002D0000000300000101", hex);
        }
Ejemplo n.º 5
0
        public void Test_2019_2()
        {
            var bytes = "0100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003".ToHexBytes();
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809_2019_Serializer.Deserialize <JT809_0x1200_0x1202>(bytes);

            Assert.Equal(JT809_VehiclePositionEncrypt.已加密, jT809_0X1200_0X1202.GNSSData.Encrypt);
            Assert.Equal("11111111111", jT809_0X1200_0X1202.GNSSData.PlatformId1);
            Assert.Equal(1u, jT809_0X1200_0X1202.GNSSData.Alarm1);
            Assert.Equal("22222222222", jT809_0X1200_0X1202.GNSSData.PlatformId2);
            Assert.Equal(2u, jT809_0X1200_0X1202.GNSSData.Alarm2);
            Assert.Equal("33333333333", jT809_0X1200_0X1202.GNSSData.PlatformId3);
            Assert.Equal(3u, jT809_0X1200_0X1202.GNSSData.Alarm3);
        }
Ejemplo n.º 6
0
        public void Test_2019_1()
        {
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.VehiclePosition_2019 = new JT809VehiclePositionProperties_2019
            {
                Encrypt     = JT809_VehiclePositionEncrypt.已加密,
                PlatformId1 = "11111111111",
                Alarm1      = 1,
                PlatformId2 = "22222222222",
                Alarm2      = 2,
                PlatformId3 = "33333333333",
                Alarm3      = 3,
            };
            var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();

            Assert.Equal("0100000000313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);
        }
Ejemplo n.º 7
0
        public void Test_2019_3()
        {
            JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
            {
                AlarmFlag  = 1,
                Altitude   = 40,
                GPSTime    = DateTime.Parse("2018-07-15 10:10:10"),
                Lat        = 12222222,
                Lng        = 132444444,
                Speed      = 60,
                Direction  = 0,
                StatusFlag = 2,
                BasicLocationAttachData = new Dictionary <byte, JT808_0x0200_BodyBase>()
            };

            jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x01, new JT808_0x0200_0x01
            {
                Mileage = 100
            });
            jT808UploadLocationRequest.BasicLocationAttachData.Add(JT808Constants.JT808_0x0200_0x02, new JT808_0x0200_0x02
            {
                Oil = 55
            });
            var jt808_0x0200Hex = JT808_2019_Serializer.Serialize(jT808UploadLocationRequest, JT808.Protocol.Enums.JT808Version.JTT2019);

            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202.VehiclePosition_2019 = new Metadata.JT809VehiclePositionProperties_2019
            {
                Encrypt     = JT809_VehiclePositionEncrypt.已加密,
                GnssData    = jt808_0x0200Hex,
                PlatformId1 = "11111111111",
                Alarm1      = 1,
                PlatformId2 = "22222222222",
                Alarm2      = 2,
                PlatformId3 = "33333333333",
                Alarm3      = 3,
            };
            var hex = JT809_2019_Serializer.Serialize(jT809_0X1200_0X1202).ToHexString();

            Assert.Equal("0100000026000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037313131313131313131313100000001323232323232323232323200000002333333333333333333333300000003", hex);
        }
Ejemplo n.º 8
0
        public void Test2()
        {
            var bytes = "00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01".ToHexBytes();
            JT809_0x1200_0x1202 jT809_0X1200_0X1202 = JT809Serializer.Deserialize <JT809_0x1200_0x1202>(bytes);

            Assert.Equal(19, jT809_0X1200_0X1202.VehiclePosition.Day);
            Assert.Equal(7, jT809_0X1200_0X1202.VehiclePosition.Month);
            Assert.Equal(2012, jT809_0X1200_0X1202.VehiclePosition.Year);
            Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Hour);
            Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Minute);
            Assert.Equal(15, jT809_0X1200_0X1202.VehiclePosition.Second);
            Assert.Equal((uint)133123456, jT809_0X1200_0X1202.VehiclePosition.Lon);
            Assert.Equal((uint)24123456, jT809_0X1200_0X1202.VehiclePosition.Lat);
            Assert.Equal(50, jT809_0X1200_0X1202.VehiclePosition.Vec1);
            Assert.Equal(51, jT809_0X1200_0X1202.VehiclePosition.Vec2);
            Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Direction);
            Assert.Equal((ushort)45, jT809_0X1200_0X1202.VehiclePosition.Altitude);
            Assert.Equal((uint)3, jT809_0X1200_0X1202.VehiclePosition.State);
            Assert.Equal((uint)257, jT809_0X1200_0X1202.VehiclePosition.Alarm);
        }
Ejemplo n.º 9
0
        public JT809_0x1200_0x1203 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x1200_0x1203 jT809_0X1200_0X1203 = new JT809_0x1200_0x1203();

            jT809_0X1200_0X1203.GNSSCount = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0X1203.GNSS      = new List <JT809_0x1200_0x1202>();
            if (jT809_0X1200_0X1203.GNSSCount > 0)
            {
                int bufReadSize;
                int tempOffset = 0;
                for (int i = 0; i < jT809_0X1200_0X1203.GNSSCount; i++)
                {
                    try
                    {
                        if (i == 0)
                        {
                            tempOffset = offset + 36;
                            JT809_0x1200_0x1202 jT809_0x1200_0x1202 = JT809FormatterExtensions.GetFormatter <JT809_0x1200_0x1202>()
                                                                      .Deserialize(bytes.Slice(offset, 36), out bufReadSize);
                            jT809_0X1200_0X1203.GNSS.Add(jT809_0x1200_0x1202);
                        }
                        else
                        {
                            JT809_0x1200_0x1202 jT809_0x1200_0x1202 = JT809FormatterExtensions.GetFormatter <JT809_0x1200_0x1202>()
                                                                      .Deserialize(bytes.Slice(tempOffset, 36), out bufReadSize);
                            tempOffset += 36;
                            jT809_0X1200_0X1203.GNSS.Add(jT809_0x1200_0x1202);
                        }
                    }
                    catch (Exception)
                    {
                        tempOffset += 36;
                    }
                }
            }
            readSize = jT809_0X1200_0X1203.GNSSCount * 36 + 1;
            return(jT809_0X1200_0X1203);
        }
Ejemplo n.º 10
0
        public void Test1()
        {
            JT809_0x1200_0x1203 jT809_0X1200_0X1203 = new JT809_0x1200_0x1203();

            jT809_0X1200_0X1203.GNSS = new List <JT809_0x1200_0x1202>();

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_1 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_1.VehiclePosition.Day       = 19;
            jT809_0X1200_0X1202_1.VehiclePosition.Month     = 7;
            jT809_0X1200_0X1202_1.VehiclePosition.Year      = 2012;
            jT809_0X1200_0X1202_1.VehiclePosition.Hour      = 15;
            jT809_0X1200_0X1202_1.VehiclePosition.Minute    = 15;
            jT809_0X1200_0X1202_1.VehiclePosition.Second    = 15;
            jT809_0X1200_0X1202_1.VehiclePosition.Lon       = 133123456;
            jT809_0X1200_0X1202_1.VehiclePosition.Lat       = 24123456;
            jT809_0X1200_0X1202_1.VehiclePosition.Vec1      = 50;
            jT809_0X1200_0X1202_1.VehiclePosition.Vec2      = 51;
            jT809_0X1200_0X1202_1.VehiclePosition.Vec3      = 150;
            jT809_0X1200_0X1202_1.VehiclePosition.Direction = 45;
            jT809_0X1200_0X1202_1.VehiclePosition.Altitude  = 45;
            jT809_0X1200_0X1202_1.VehiclePosition.State     = 3;
            jT809_0X1200_0X1202_1.VehiclePosition.Alarm     = 257;

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_2 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_2.VehiclePosition.Day       = 19;
            jT809_0X1200_0X1202_2.VehiclePosition.Month     = 7;
            jT809_0X1200_0X1202_2.VehiclePosition.Year      = 2012;
            jT809_0X1200_0X1202_2.VehiclePosition.Hour      = 16;
            jT809_0X1200_0X1202_2.VehiclePosition.Minute    = 16;
            jT809_0X1200_0X1202_2.VehiclePosition.Second    = 16;
            jT809_0X1200_0X1202_2.VehiclePosition.Lon       = 133123456;
            jT809_0X1200_0X1202_2.VehiclePosition.Lat       = 24123456;
            jT809_0X1200_0X1202_2.VehiclePosition.Vec1      = 50;
            jT809_0X1200_0X1202_2.VehiclePosition.Vec2      = 51;
            jT809_0X1200_0X1202_2.VehiclePosition.Vec3      = 150;
            jT809_0X1200_0X1202_2.VehiclePosition.Direction = 45;
            jT809_0X1200_0X1202_2.VehiclePosition.Altitude  = 45;
            jT809_0X1200_0X1202_2.VehiclePosition.State     = 3;
            jT809_0X1200_0X1202_2.VehiclePosition.Alarm     = 257;

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_3 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_3.VehiclePosition.Day       = 19;
            jT809_0X1200_0X1202_3.VehiclePosition.Month     = 7;
            jT809_0X1200_0X1202_3.VehiclePosition.Year      = 2012;
            jT809_0X1200_0X1202_3.VehiclePosition.Hour      = 17;
            jT809_0X1200_0X1202_3.VehiclePosition.Minute    = 17;
            jT809_0X1200_0X1202_3.VehiclePosition.Second    = 17;
            jT809_0X1200_0X1202_3.VehiclePosition.Lon       = 133123456;
            jT809_0X1200_0X1202_3.VehiclePosition.Lat       = 24123456;
            jT809_0X1200_0X1202_3.VehiclePosition.Vec1      = 50;
            jT809_0X1200_0X1202_3.VehiclePosition.Vec2      = 51;
            jT809_0X1200_0X1202_3.VehiclePosition.Vec3      = 150;
            jT809_0X1200_0X1202_3.VehiclePosition.Direction = 45;
            jT809_0X1200_0X1202_3.VehiclePosition.Altitude  = 45;
            jT809_0X1200_0X1202_3.VehiclePosition.State     = 3;
            jT809_0X1200_0X1202_3.VehiclePosition.Alarm     = 257;


            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_1);
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_2);
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_3);

            var hex = JT809Serializer.Serialize(jT809_0X1200_0X1203).ToHexString();

            //"03 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01 00 13 07 07 DC 10 10 10 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01 00 13 07 07 DC 11 11 11 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
            Assert.Equal("0300130707DC0F0F0F07EF4D80017018400032003300000096002D002D000000030000010100130707DC10101007EF4D80017018400032003300000096002D002D000000030000010100130707DC11111107EF4D80017018400032003300000096002D002D0000000300000101", hex);
        }
Ejemplo n.º 11
0
        public void Test1()
        {
            JT809_0x1200_0x1203 jT809_0X1200_0X1203 = new JT809_0x1200_0x1203();

            jT809_0X1200_0X1203.GNSS = new List <JT809_0x1200_0x1202>();

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_1 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_1.VehiclePosition = new  JT809VehiclePositionProperties
            {
                Day       = 19,
                Month     = 7,
                Year      = 2012,
                Hour      = 15,
                Minute    = 15,
                Second    = 15,
                Lon       = 133123456,
                Lat       = 24123456,
                Vec1      = 50,
                Vec2      = 51,
                Vec3      = 150,
                Direction = 45,
                Altitude  = 45,
                State     = 3,
                Alarm     = 257,
            };

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_2 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_2.VehiclePosition = new  JT809VehiclePositionProperties
            {
                Day       = 19,
                Month     = 7,
                Year      = 2012,
                Hour      = 16,
                Minute    = 16,
                Second    = 16,
                Lon       = 133123456,
                Lat       = 24123456,
                Vec1      = 50,
                Vec2      = 51,
                Vec3      = 150,
                Direction = 45,
                Altitude  = 45,
                State     = 3,
                Alarm     = 257,
            };

            JT809_0x1200_0x1202 jT809_0X1200_0X1202_3 = new JT809_0x1200_0x1202();

            jT809_0X1200_0X1202_3.VehiclePosition = new  JT809VehiclePositionProperties
            {
                Day       = 19,
                Month     = 7,
                Year      = 2012,
                Hour      = 17,
                Minute    = 17,
                Second    = 17,
                Lon       = 133123456,
                Lat       = 24123456,
                Vec1      = 50,
                Vec2      = 51,
                Vec3      = 150,
                Direction = 45,
                Altitude  = 45,
                State     = 3,
                Alarm     = 257,
            };


            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_1);
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_2);
            jT809_0X1200_0X1203.GNSS.Add(jT809_0X1200_0X1202_3);

            var hex = JT809Serializer.Serialize(jT809_0X1200_0X1203).ToHexString();

            //"03 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01 00 13 07 07 DC 10 10 10 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01 00 13 07 07 DC 11 11 11 07 EF 4D 80 01 70 18 40 00 32 00 33 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 01 01"
            Assert.Equal("0300130707DC0F0F0F07EF4D80017018400032003300000096002D002D000000030000010100130707DC10101007EF4D80017018400032003300000096002D002D000000030000010100130707DC11111107EF4D80017018400032003300000096002D002D0000000300000101", hex);
        }