public void Test1()
        {
            //"126 131 0 0 13 18 52 86 120 144 1 0 11 5 115 109 97 108 108 99 104 105 32 53 49 56 24 126"
            jT808SessionServiceDefaultImpl = ServiceProvider.GetService <IJT808SessionService>();
            jT808UnificationSendService    = ServiceProvider.GetService <IJT808UnificationSendService>();
            jT808SessionServiceDefaultImpl.GetUdpAll();
            string no = "123456789001";
            // 文本信息包
            JT808Package jT808Package2 = JT808.Protocol.Enums.JT808MsgId.文本信息下发.Create(no, new JT808_0x8300
            {
                TextFlag = 5,
                TextInfo = "smallchi 518"
            });
            var data = JT808Serializer.Serialize(jT808Package2);
            JT808ResultDto <bool> jt808Result = jT808UnificationSendService.Send(no, data);

            Thread.Sleep(1000);
            Assert.AreEqual(200, jt808Result.Code);
            Assert.IsTrue(jt808Result.Data);
        }
示例#2
0
        public void Test1_1()
        {
            byte[]       bytes        = "7E0104000C000123456789000A00140100000001040000000A907E".ToHexBytes();
            JT808Package jT808_0X8104 = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(Enums.JT808MsgId.查询终端参数应答.ToUInt16Value(), jT808_0X8104.Header.MsgId);
            Assert.Equal(10, jT808_0X8104.Header.MsgNum);
            Assert.Equal("123456789", jT808_0X8104.Header.TerminalPhoneNo);

            JT808_0x0104 JT808Bodies = (JT808_0x0104)jT808_0X8104.Bodies;

            Assert.Equal(20, JT808Bodies.MsgNum);
            Assert.Equal(1, JT808Bodies.AnswerParamsCount);
            foreach (var item in JT808Bodies.ParamList)
            {
                Assert.Equal(0x0001u, ((JT808_0x8103_0x0001)item).ParamId);
                Assert.Equal(4, ((JT808_0x8103_0x0001)item).ParamLength);
                Assert.Equal(10u, ((JT808_0x8103_0x0001)item).ParamValue);
            }
        }
示例#3
0
        public void Test1()
        {
            JT808Package dt1Package = new JT808Package();

            dt1Package.Header = new JT808Header
            {
                MsgId           = 0x93,
                ManualMsgNum    = 126,
                TerminalPhoneNo = "1234567891"
            };
            DT1Demo8 dT1Demo8 = new DT1Demo8();

            dT1Demo8.Age1     = 18;
            dT1Demo8.Sex1     = 2;
            dt1Package.Bodies = dT1Demo8;
            byte[] dt1Data = JT808Serializer.Serialize(dt1Package);
            var    dt1Hex  = dt1Data.ToHexString();

            Assert.Equal("7E00930003001234567891007D02020012677E", dt1Hex);
        }
示例#4
0
        public void Test1_1_1()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
                ManualMsgNum    = 1,
                TerminalPhoneNo = "1122334455",
            };
            JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200
            {
                AlarmFlag  = 1,
                Altitude   = 40,
                GPSTime    = DateTime.Parse("2021-08-30 18:17:10"),
                Lat        = 12222222,
                Lng        = 132444444,
                Speed      = 60,
                Direction  = 0,
                StatusFlag = 2,
                BasicLocationAttachData  = new Dictionary <byte, JT808_0x0200_BodyBase>(),
                CustomLocationAttachData = new Dictionary <byte, JT808_0x0200_CustomBodyBase>()
            };

            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
            });
            jT808UploadLocationRequest.CustomLocationAttachData.Add(0xDF, new JT808LocationAttachImpl0xDF
            {
                TestValue = new byte[66]
            });
            jT808Package.Bodies = jT808UploadLocationRequest;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E0200006A0011223344550001000000010000000200BA7F0E07E4F11C0028003C000021083018171001040000006402020037DF42000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000677E", hex);
        }
示例#5
0
        public void Test1()
        {
            JT808Package jT808Package = new JT808Package
            {
                Header = new JT808Header
                {
                    MsgId           = Enums.JT808MsgId.车辆控制应答.ToUInt16Value(),
                    MsgNum          = 8888,
                    TerminalPhoneNo = "112233445566",
                }
            };
            JT808_0x0500 jT808_0X0500   = new JT808_0x0500();
            JT808_0x0200 JT808_0x0200_1 = 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,
                JT808LocationAttachData = new Dictionary <byte, JT808_0x0200_BodyBase>()
            };

            JT808_0x0200_1.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x01, new JT808_0x0200_0x01
            {
                Mileage = 100
            });
            JT808_0x0200_1.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x02, new JT808_0x0200_0x02
            {
                Oil = 55
            });
            jT808_0X0500.JT808_0x0200 = JT808_0x0200_1;
            jT808_0X0500.MsgNum       = 1000;
            jT808Package.Bodies       = jT808_0X0500;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E0500002811223344556622B803E8000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037B57E".Length, hex.Length);
            Assert.Equal("7E0500002811223344556622B803E8000000010000000200BA7F0E07E4F11C0028003C000018071510101001040000006402020037B57E", hex);
        }
        public void Test2()
        {
            // 心跳会话包
            JT808Package jT808Package1 = JT808.Protocol.Enums.JT808MsgId.终端心跳.Create("123456789001");

            SimpleTcpClient.WriteAsync(JT808Serializer.Serialize(jT808Package1));

            // 心跳会话包
            JT808Package jT808Package2 = JT808.Protocol.Enums.JT808MsgId.终端心跳.Create("123456789002");

            SimpleTcpClient.WriteAsync(JT808Serializer.Serialize(jT808Package2));

            // 心跳会话包
            JT808Package jT808Package3 = JT808.Protocol.Enums.JT808MsgId.终端心跳.Create("123456789003");

            SimpleTcpClient.WriteAsync(JT808Serializer.Serialize(jT808Package3));

            // 心跳会话包
            JT808Package jT808Package4 = JT808.Protocol.Enums.JT808MsgId.终端心跳.Create("123456789004");

            SimpleTcpClient.WriteAsync(JT808Serializer.Serialize(jT808Package4));

            // 心跳会话包
            JT808Package jT808Package5 = JT808.Protocol.Enums.JT808MsgId.终端心跳.Create("123456789005");

            SimpleTcpClient.WriteAsync(JT808Serializer.Serialize(jT808Package5));

            // 异步的需要延时下
            Thread.Sleep(1000);

            HttpClient httpClient = new HttpClient();
            // 调用内置的http服务接收文本信息下发
            var    result  = httpClient.GetAsync("http://127.0.0.1:828/jt808api/GetAtomicCounter").Result;
            string content = result.Content.ReadAsStringAsync().Result;
            JT808ResultDto <JT808AtomicCounterDto> jt808Result = JsonConvert.DeserializeObject <JT808ResultDto <JT808AtomicCounterDto> >(content);

            Assert.Equal(200, jt808Result.Code);
            Assert.Equal(5, jt808Result.Data.MsgSuccessCount);
            Assert.Equal(0, jt808Result.Data.MsgFailCount);
            SimpleTcpClient.Down();
        }
示例#7
0
        public void Test2()
        {
            byte[]       bytes        = "7E 05 00 00 2A 11 22 33 44 55 66 22 B8 03 E8 00 00 00 01 00 00 00 02 00 BA 7F 0E 07 E4 F1 1C 00 28 00 3C 00 00 18 07 15 10 10 10 01 04 00 00 00 64 02 02 00 37 00 00 B7 7E".ToHexBytes();
            JT808Package jT808Package = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(Enums.JT808MsgId.车辆控制应答.ToUInt16Value(), jT808Package.Header.MsgId);
            Assert.Equal(8888, jT808Package.Header.MsgNum);
            Assert.Equal("112233445566", jT808Package.Header.TerminalPhoneNo);
            JT808_0x0500 JT808Bodies = (JT808_0x0500)jT808Package.Bodies;

            Assert.Equal(1000, JT808Bodies.MsgNum);
            Assert.Equal((uint)1, JT808Bodies.JT808_0x0200.AlarmFlag);
            Assert.Equal(DateTime.Parse("2018-07-15 10:10:10"), JT808Bodies.JT808_0x0200.GPSTime);
            Assert.Equal(12222222, JT808Bodies.JT808_0x0200.Lat);
            Assert.Equal(132444444, JT808Bodies.JT808_0x0200.Lng);
            Assert.Equal(0, JT808Bodies.JT808_0x0200.Direction);
            Assert.Equal(60, JT808Bodies.JT808_0x0200.Speed);
            Assert.Equal((uint)2, JT808Bodies.JT808_0x0200.StatusFlag);
            Assert.Equal(100, ((JT808LocationAttachImpl0x01)JT808Bodies.JT808_0x0200.JT808LocationAttachData[JT808LocationAttachBase.AttachId0x01]).Mileage);
            Assert.Equal(55, ((JT808LocationAttachImpl0x02)JT808Bodies.JT808_0x0200.JT808LocationAttachData[JT808LocationAttachBase.AttachId0x02]).Oil);
        }
示例#8
0
文件: Demo15.cs 项目: SmallChi/JT808
        public void Test2()
        {
            var          bytes        = "7E01000021000123456789000A002800323132333400746B3132333435004348493132330001D4C1413132333435857E".ToHexBytes();
            JT808Package jT808_0X0100 = JT808Serializer.Deserialize <JT808Package>(bytes);

            //  采用2011协议 的终端注册消息解析
            Assert.Equal(JT808MsgId.终端注册.ToUInt16Value(), jT808_0X0100.Header.MsgId);
            Assert.Equal(1, jT808_0X0100.Header.ProtocolVersion);
            Assert.Equal(10, jT808_0X0100.Header.MsgNum);
            Assert.Equal("123456789", jT808_0X0100.Header.TerminalPhoneNo);

            JT808_0x0100 JT808Bodies = (JT808_0x0100)jT808_0X0100.Bodies;

            Assert.Equal(40, JT808Bodies.AreaID);
            Assert.Equal(50, JT808Bodies.CityOrCountyId);
            Assert.Equal("1234", JT808Bodies.MakerId);
            Assert.Equal(1, JT808Bodies.PlateColor);
            Assert.Equal("粤A12345", JT808Bodies.PlateNo);
            Assert.Equal("CHI123", JT808Bodies.TerminalId);
            Assert.Equal("tk12345", JT808Bodies.TerminalModel);
        }
示例#9
0
        public void Test5()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.终端注册应答.ToUInt16Value(),
                MsgNum          = 10,
                TerminalPhoneNo = "12345678900",
            };
            jT808Package.Bodies = new JT808_0x8100
            {
                Code = "zssdaf23124sfdsc",
                JT808TerminalRegisterResult = Enums.JT808TerminalRegisterResult.成功,
                MsgNum = 100
            };
            //"7E 81 00 00 13 01 23 45 67 89 00 00 0A 00 64 00 7A 73 73 64 61 66 32 33 31 32 34 73 66 64 73 63 3B 7E"
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E81000013012345678900000A0064007A7373646166323331323473666473633B7E", hex);
        }
示例#10
0
        public void Test3()
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9102;
            header.ManualMsgNum    = 1;
            header.TerminalPhoneNo = "12345679810";
            jT808Package.Header    = header;
            JT808_0x9102 jT808_0X9102 = new JT808_0x9102();

            jT808_0X9102.ChannelNo   = 1;
            jT808_0X9102.ControlCmd  = 1;
            jT808_0X9102.CloseAVData = 0;
            jT808_0X9102.StreamType  = 0;
            jT808Package.Bodies      = jT808_0X9102;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            //7E910200040123456798100001010100001E7E
            Assert.Equal("7E910200040123456798100001010100001E7E", hex);
        }
示例#11
0
        public void Test1()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.终端通用应答.ToUInt16Value(),
                MsgNum          = 1203,
                TerminalPhoneNo = "012345678900"
            };
            jT808Package.Bodies = new JT808_0x0001
            {
                MsgId  = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
                MsgNum = 1000,
                JT808TerminalResult = Enums.JT808TerminalResult.Success
            };
            //"7E 00 01 00 05 01 23 45 67 89 00 04 B3 03 E8 00 02 00 D3 7E"
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E0001000501234567890004B303E8000200D37E", hex);
        }
示例#12
0
        public void Test1()
        {
            //"7E 02 01 00 2A 11 22 33 44 55 66 22 B8 30 39 00 00 00 01 00 00 00 02 00 BA 7F 0E 07 E4 F1 1C 00 28 00 3C 00 00 18 07 15 10 10 10 01 04 00 00 00 64 02 02 00 37 00 00 53 7E"

            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.位置信息查询应答.ToUInt16Value(),
                MsgNum          = 8888,
                TerminalPhoneNo = "112233445566",
            };
            JT808_0x0201 jT808_0X0201 = new JT808_0x0201();

            jT808_0X0201.MsgNum = 12345;
            JT808_0x0200 jT808UploadLocationRequest = new JT808_0x0200();

            jT808UploadLocationRequest.AlarmFlag  = 1;
            jT808UploadLocationRequest.Altitude   = 40;
            jT808UploadLocationRequest.GPSTime    = DateTime.Parse("2018-07-15 10:10:10");
            jT808UploadLocationRequest.Lat        = 12222222;
            jT808UploadLocationRequest.Lng        = 132444444;
            jT808UploadLocationRequest.Speed      = 60;
            jT808UploadLocationRequest.Direction  = 0;
            jT808UploadLocationRequest.StatusFlag = 2;
            jT808UploadLocationRequest.JT808LocationAttachData = new Dictionary <byte, JT808LocationAttachBase>();
            jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808LocationAttachBase.AttachId0x01, new JT808LocationAttachImpl0x01
            {
                Mileage = 100
            });
            jT808UploadLocationRequest.JT808LocationAttachData.Add(JT808LocationAttachBase.AttachId0x02, new JT808LocationAttachImpl0x02
            {
                Oil = 55
            });
            jT808_0X0201.Position = jT808UploadLocationRequest;
            jT808Package.Bodies   = jT808_0X0201;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E0201002A11223344556622B83039000000010000000200BA7F0E07E4F11C0028003C0000180715101010010400000064020200370000537E", hex);
        }
示例#13
0
文件: Demo4.cs 项目: vvhh2002/JT808-2
        public void Test1()
        {
            IJT808Config jT808Config = new DefaultGlobalConfig();

            jT808Config.JT808_0X0200_Custom_Factory.SetMap <JT808_0x0200_DT1_0x81>();
            JT808Serializer demo5JT808Serializer = new JT808Serializer(jT808Config);

            JT808Package jT808Package = JT808MsgId.位置信息汇报.Create("123456789012",
                                                                 new JT808_0x0200
            {
                AlarmFlag  = 1,
                Altitude   = 40,
                GPSTime    = DateTime.Parse("2018-12-20 20:10:10"),
                Lat        = 12222222,
                Lng        = 132444444,
                Speed      = 60,
                Direction  = 0,
                StatusFlag = 2,
                JT808CustomLocationAttachData = new Dictionary <byte, JT808_0x0200_CustomBodyBase>
                {
                    { 0x81, new JT808_0x0200_DT1_0x81 {
                          Age      = 15,
                          Gender   = 1,
                          UserName = "******"
                      } }
                }
            });

            byte[]       data = demo5JT808Serializer.Serialize(jT808Package);
            var          jT808PackageResult = demo5JT808Serializer.Deserialize <JT808Package>(data);
            JT808_0x0200 jT808_0X0200       = jT808PackageResult.Bodies as JT808_0x0200;

            var attach       = DeviceTypeFactory.Create(cache[jT808PackageResult.Header.TerminalPhoneNo], jT808_0X0200.JT808CustomLocationAttachData);
            var extJson      = attach.ExtData.Data.ToString(Formatting.None);
            var attachinfo81 = (JT808_0x0200_DT1_0x81)attach.JT808CustomLocationAttachData[0x81];

            Assert.Equal((uint)15, attachinfo81.Age);
            Assert.Equal(1, attachinfo81.Gender);
            Assert.Equal("smallchi", attachinfo81.UserName);
        }
示例#14
0
        public void Test1()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.车辆控制应答.ToUInt16Value(),
                MsgNum          = 8888,
                TerminalPhoneNo = "112233445566",
            };
            JT808_0x0500 jT808_0X0500   = new JT808_0x0500();
            JT808_0x0200 JT808_0x0200_1 = new JT808_0x0200();

            JT808_0x0200_1.AlarmFlag  = 1;
            JT808_0x0200_1.Altitude   = 40;
            JT808_0x0200_1.GPSTime    = DateTime.Parse("2018-07-15 10:10:10");
            JT808_0x0200_1.Lat        = 12222222;
            JT808_0x0200_1.Lng        = 132444444;
            JT808_0x0200_1.Speed      = 60;
            JT808_0x0200_1.Direction  = 0;
            JT808_0x0200_1.StatusFlag = 2;
            JT808_0x0200_1.JT808LocationAttachData = new Dictionary <byte, JT808LocationAttachBase>();
            JT808_0x0200_1.JT808LocationAttachData.Add(JT808LocationAttachBase.AttachId0x01, new JT808LocationAttachImpl0x01
            {
                Mileage = 100
            });
            JT808_0x0200_1.JT808LocationAttachData.Add(JT808LocationAttachBase.AttachId0x02, new JT808LocationAttachImpl0x02
            {
                Oil = 55
            });
            jT808_0X0500.JT808_0x0200 = JT808_0x0200_1;
            jT808_0X0500.MsgNum       = 1000;
            jT808Package.Bodies       = jT808_0X0500;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            //"7E0500002A11223344556622B803E8000000010000000200BA7F0E07E4F11C0028003C0000180715101010010400000064020200370000B77E"
            Console.WriteLine(hex);
            Trace.WriteLine(hex);
            Assert.Equal("7E0500002A11223344556622B803E8000000010000000200BA7F0E07E4F11C0028003C0000180715101010010400000064020200370000B77E", hex);
        }
示例#15
0
        public void Test1()
        {
            JT808Package jT808_0X0900 = new JT808Package();

            jT808_0X0900.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.数据上行透传.ToUInt16Value(),
                MsgNum          = 10,
                TerminalPhoneNo = "123456789",
            };
            jT808_0X0900.Bodies = new JT808_0x0900
            {
                JT808_0x0900_BodyBase = new JT808_0x0900_0x83()
                {
                    PassthroughContent = "smallchi"
                },
                PassthroughType = 0x83
            };
            var hex = JT808Serializer.Serialize(jT808_0X0900).ToHexString();

            Assert.Equal("7E09000009000123456789000A83736D616C6C6368691D7E", hex);
        }
示例#16
0
        public void Test1()
        {
            JT808Package jT808Package = new JT808Package
            {
                Header = new JT808Header
                {
                    MsgId           = Enums.JT808MsgId.终端通用应答.ToUInt16Value(),
                    ManualMsgNum    = 1203,
                    TerminalPhoneNo = "012345678900",
                },
                Bodies = new JT808_0x0001_Replace
                {
                    ReplyMsgId     = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
                    ReplyMsgNum    = 1000,
                    TerminalResult = Enums.JT808TerminalResult.Success,
                    Test           = 168
                }
            };
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E0001000701234567890004B303E800020000A8797E", hex);
        }
示例#17
0
        /// <summary>
        /// 平台通用应答
        /// </summary>
        /// <returns></returns>
        public byte[] Response(string phoneno)
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = JT808MsgId.平台通用应答.ToUInt16Value(),
                MsgNum          = 126,
                TerminalPhoneNo = phoneno
            };

            JT808_0x8001 jT808_0x0200 = new JT808_0x8001
            {
                MsgNum = 126,
                MsgId  = JT808MsgId.平台通用应答.ToUInt16Value(),
                JT808PlatformResult = JT808PlatformResult.成功
            };

            jT808Package.Bodies = jT808_0x0200;

            return(_JT808Serializer.Serialize(jT808Package));
        }
示例#18
0
        public void Test2019_2()
        {
            byte[]       bytes        = "7E010040540100000000000123456789000A00280032303030303030303132333430303030303030303030303030303030303030736D616C6C63686931323330303030303030303030303030303030303030303030303043484931323301D4C1413132333435B27E".ToHexBytes();
            JT808Package jT808_0X0100 = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(JT808MsgId.终端注册.ToUInt16Value(), jT808_0X0100.Header.MsgId);
            Assert.Equal(1, jT808_0X0100.Header.ProtocolVersion);
            Assert.Equal(JT808Version.JTT2019, jT808_0X0100.Version);
            Assert.True(jT808_0X0100.Header.MessageBodyProperty.VersionFlag);
            Assert.Equal(10, jT808_0X0100.Header.MsgNum);
            Assert.Equal("123456789", jT808_0X0100.Header.TerminalPhoneNo);

            JT808_0x0100 JT808Bodies = (JT808_0x0100)jT808_0X0100.Bodies;

            Assert.Equal(40, JT808Bodies.AreaID);
            Assert.Equal(50, JT808Bodies.CityOrCountyId);
            Assert.Equal("1234".PadLeft(11, '0'), JT808Bodies.MakerId);
            Assert.Equal(1, JT808Bodies.PlateColor);
            Assert.Equal("粤A12345", JT808Bodies.PlateNo);
            Assert.Equal("CHI123".PadLeft(30, '0'), JT808Bodies.TerminalId);
            Assert.Equal("smallchi123".PadLeft(30, '0'), JT808Bodies.TerminalModel);
        }
示例#19
0
        public void Test1()
        {
            JT808Package jT808_0X0100 = new JT808Package();

            jT808_0X0100.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.终端注册,
                MsgNum          = 10,
                TerminalPhoneNo = "123456789",
            };
            jT808_0X0100.Bodies = new JT808_0x0100
            {
                AreaID         = 40,
                CityOrCountyId = 50,
                MakerId        = "1234",
                PlateColor     = 1,
                PlateNo        = "粤A12345",
                TerminalId     = "CHI123",
                TerminalModel  = "smallchi123"
            };
            var hex = JT808Serializer.Serialize(jT808_0X0100).ToHexString();
        }
示例#20
0
        public byte[] ReportPosition()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = JT808.Protocol.Enums.JT808MsgId.位置信息汇报.ToUInt16Value(),
                MsgNum          = 126,
                TerminalPhoneNo = "123456789012"
            };

            JT808_0x0200 jT808_0x0200 = new JT808_0x0200
            {
                AlarmFlag  = 1,
                Altitude   = 40,
                GPSTime    = DateTime.Parse("2018-10-15 10:10:10"),
                Lat        = 12222222,
                Lng        = 132444444,
                Speed      = 60,
                Direction  = 0,
                StatusFlag = 2,
                JT808LocationAttachData = new Dictionary <byte, JT808_0x0200_BodyBase>()
            };

            jT808_0x0200.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x01, new JT808_0x0200_0x01
            {
                Mileage = 100
            });

            jT808_0x0200.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x02, new JT808_0x0200_0x02
            {
                Oil = 125
            });

            jT808Package.Bodies = jT808_0x0200;

            return(_JT808Serializer.Serialize(jT808Package));
        }
示例#21
0
文件: Demo12.cs 项目: SmallChi/JT808
        public void Test1()
        {
            JT808Package jT808Package = new JT808Package
            {
                Header = new JT808Header
                {
                    MsgId           = Enums.JT808MsgId.终端控制.ToUInt16Value(),
                    ManualMsgNum    = 1,
                    TerminalPhoneNo = "12345678900",
                },
                Bodies = new JT808_0x8105
                {
                    CommandWord             = 1,
                    CustomCommandParameters = new List <ICommandParameter>
                    {
                        new Koike1CommandParameter
                        {
                            Value = 23
                        },
                        new Koike2CommandParameter
                        {
                            Value = "SmallChi"
                        },
                        new Koike3CommandParameter
                        {
                            Value = new Koike3Object
                            {
                                Value1 = 0xff,
                                Value2 = "Happy"
                            }
                        }
                    }
                }
            };
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E8105002A0123456789000001013B3B3B3B3B3B3B3B3B3B3B3B3B000000173B536D616C6C43686900003BFF486170707900000000003B827E", hex);
        }
示例#22
0
        public static void CreateMain(string terminalPhoneNo, string serverIPAddress, JT808Serializer JT808Serializer, IJT808DotNettyWebApi JT808DotNettyWebApiClient)
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 2;
            header.TerminalPhoneNo = terminalPhoneNo;
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIPAddress           = serverIPAddress;
            jT808_0X9101.ServerVideoChannelTcpPort = 1808;
            jT808_0X9101.ServerVideoChannelUdpPort = 0;
            jT808_0X9101.LogicalChannelNo          = 1;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 0;
            jT808Package.Bodies     = jT808_0X9101;

            var data = JT808Serializer.Serialize(jT808Package);

            Console.WriteLine(JsonConvert.SerializeObject(data.ToHexString()));

            var tmpSend = JsonConvert.SerializeObject(new JT808UnificationSendRequestDto
            {
                TerminalPhoneNo = terminalPhoneNo,
                Data            = data
            });

            //var result = JT808DotNettyWebApiClient.UnificationTcpSend(new JT808UnificationSendRequestDto
            //{
            //    TerminalPhoneNo = terminalPhoneNo,
            //    Data = data
            //}).GetAwaiter().GetResult();

            //Console.WriteLine(JsonConvert.SerializeObject(result));
            Console.WriteLine(tmpSend);
        }
示例#23
0
 public void TestJT808_0x0100_Serialize()
 {
     for (int i = 0; i < N; i++)
     {
         JT808Package jT808Package = new JT808Package();
         jT808Package.Header = new JT808Header
         {
             MsgId           = MsgId0x0100,
             MsgNum          = (ushort)(i + 1),
             TerminalPhoneNo = "112233445566",
         };
         JT808_0x0100 jT808_0X0100 = new JT808_0x0100();
         jT808_0X0100.AreaID         = 12345;
         jT808_0X0100.CityOrCountyId = 23454;
         jT808_0X0100.PlateColor     = 0x02;
         jT808_0X0100.PlateNo        = "测A123456";
         jT808_0X0100.TerminalId     = "1234567";
         jT808_0X0100.TerminalModel  = "1234567890000";
         jT808_0X0100.MakerId        = "12345";
         jT808Package.Bodies         = jT808_0X0100;
         var result = JT808Serializer.Serialize(jT808Package);
     }
 }
示例#24
0
        public void Test1()
        {
            //"7E 83 00 00 0D 01 23 45 67 89 00 00 01 05 73 6D 61 6C 6C 63 68 69 20 35 31 38 02 7E"
            JT808Package jT808Package = new JT808Package
            {
                Header = new JT808Header
                {
                    MsgId           = Enums.JT808MsgId.文本信息下发.ToUInt16Value(),
                    MsgNum          = 1,
                    TerminalPhoneNo = "012345678900",
                }
            };
            JT808_0x8300 jT808TextSend = new JT808_0x8300
            {
                TextInfo = "smallchi 518",
                TextFlag = 5
            };

            jT808Package.Bodies = jT808TextSend;
            string hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E8300000D012345678900000105736D616C6C63686920353138027E", hex);
        }
示例#25
0
        public void Test3()
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 1;
            header.TerminalPhoneNo = "12345679810";
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIPAddress           = "127.0.0.1";
            jT808_0X9101.ServerVideoChannelTcpPort = 1888;
            jT808_0X9101.ServerVideoChannelUdpPort = 0;
            jT808_0X9101.LogicalChannelNo          = 1;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 1;
            jT808Package.Bodies     = jT808_0X9101;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E910100110123456798100001093132372E302E302E31076000000101014C7E", hex);
            //7E910100110123456798100001093132372E302E302E31076000000101014C7E
        }
示例#26
0
        /// <summary>
        /// 位置信息汇报
        /// </summary>
        /// <returns></returns>
        static JT808Package GetJT808PositionData()
        {
            JT808Package jT808Package = new JT808Package();

            jT808Package.Header = new JT808Header
            {
                MsgId           = (ushort)JT808.Protocol.Enums.JT808MsgId.位置信息汇报,
                ManualMsgNum    = 0,
                TerminalPhoneNo = "123456789012"
            };

            JT808_0x0200 jT808_0x0200 = new JT808_0x0200();

            jT808_0x0200.AlarmFlag  = 1;
            jT808_0x0200.Altitude   = 40;
            jT808_0x0200.GPSTime    = DateTime.Parse("2018-10-15 10:10:10");
            jT808_0x0200.Lat        = 12222222;
            jT808_0x0200.Lng        = 132444444;
            jT808_0x0200.Speed      = 60;
            jT808_0x0200.Direction  = 0;
            jT808_0x0200.StatusFlag = 2;
            jT808_0x0200.JT808LocationAttachData = new Dictionary <byte, JT808_0x0200_BodyBase>();

            jT808_0x0200.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x01, new JT808_0x0200_0x01
            {
                Mileage = 100
            });

            jT808_0x0200.JT808LocationAttachData.Add(JT808Constants.JT808_0x0200_0x02, new JT808_0x0200_0x02
            {
                Oil = 125
            });

            jT808Package.Bodies = jT808_0x0200;

            return(jT808Package);
        }
示例#27
0
        public void ReadOnlySpanTest1()
        {
            IJT808Config    jT808Config     = new DefaultGlobalConfig();
            JT808Serializer jT808Serializer = new JT808Serializer(jT808Config);
            JT808Package    jT808Package    = new JT808Package
            {
                Header = new JT808Header
                {
                    MsgId               = Enums.JT808MsgId.终端通用应答.ToUInt16Value(),
                    MsgNum              = 1203,
                    TerminalPhoneNo     = "012345678900",
                    MessageBodyProperty = new JT808HeaderMessageBodyProperty()
                },
                Bodies = new JT808_0x0001
                {
                    ReplyMsgId          = Enums.JT808MsgId.终端心跳.ToUInt16Value(),
                    ReplyMsgNum         = 1000,
                    JT808TerminalResult = Enums.JT808TerminalResult.Success
                }
            };
            var hexSpan = jT808Serializer.SerializeReadOnlySpan(jT808Package);

            Assert.Equal(0x7e, hexSpan[0]);
        }
        public void SendTest()
        {
            //"126 131 0 0 13 18 52 86 120 144 1 0 11 5 115 109 97 108 108 99 104 105 32 53 49 56 24 126"
            var    jT808UnificationSendService = ServiceProvider.GetService <IJT808UnificationSendService>();
            string no = "123456789001";
            // 文本信息包
            JT808Package jT808Package2 = JT808.Protocol.Enums.JT808MsgId.文本信息下发.Create(no, new JT808_0x8300
            {
                TextFlag = 5,
                TextInfo = "smallchi 518"
            });
            var data = JT808Serializer.Serialize(jT808Package2);
            JT808ResultDto <bool> jt808Result = jT808UnificationSendService.Send(no, data);

            Assert.Equal(JT808ResultCode.Ok, jt808Result.Code);
            Assert.True(jt808Result.Data);
            if (Channels.TryGetValue(no, out var channel))
            {
                var    package = channel.ReadOutbound <IByteBuffer>();
                byte[] recevie = new byte[package.Capacity];
                package.ReadBytes(recevie);
                Assert.Equal(data, recevie);
            }
        }
        public void Test1()
        {
            // 文本信息包
            JT808Package jT808Package2 = JT808.Protocol.Enums.JT808MsgId.文本信息下发.Create("123456789012", new JT808_0x8300
            {
                TextFlag = 5,
                TextInfo = "smallchi 518"
            });
            var data = JT808Serializer.Serialize(jT808Package2);

            JT808UnificationSendRequestDto jT808UnificationSendRequestDto = new JT808UnificationSendRequestDto();

            jT808UnificationSendRequestDto.TerminalPhoneNo = "123456789012";
            jT808UnificationSendRequestDto.Data            = data;

            HttpClient httpClient = new HttpClient();
            // 调用内置的http服务接收文本信息下发
            var    result  = httpClient.PostAsync("http://127.0.0.1:828/jt808api/UnificationSend", new StringContent(JsonConvert.SerializeObject(jT808UnificationSendRequestDto))).Result;
            string content = result.Content.ReadAsStringAsync().Result;
            JT808ResultDto <bool> jt808Result = JsonConvert.DeserializeObject <JT808ResultDto <bool> >(content);

            Assert.Equal(200, jt808Result.Code);
            Assert.False(jt808Result.Data);
        }
示例#30
0
        public void Test1()
        {
            JT808Package jT808_0X0100 = new JT808Package();

            jT808_0X0100.Header = new JT808Header
            {
                MsgId           = Enums.JT808MsgId.终端注册.ToUInt16Value(),
                MsgNum          = 10,
                TerminalPhoneNo = "123456789",
            };
            jT808_0X0100.Bodies = new JT808_0x0100
            {
                AreaID         = 40,
                CityOrCountyId = 50,
                MakerId        = "1234",
                PlateColor     = 1,
                PlateNo        = "粤A12345",
                TerminalId     = "CHI123",
                TerminalModel  = "smallchi123"
            };
            var hex = JT808Serializer.Serialize(jT808_0X0100).ToHexString();

            Assert.Equal("7E0100002D000123456789000A002800323132333430736D616C6C6368693132333030303030303030304348493132333001D4C1413132333435BA7E", hex);
        }