Example #1
0
        public Demo15()
        {
            IServiceCollection serviceDescriptors = new ServiceCollection();

            serviceDescriptors.AddJT808Configure();
            //通常在startup中使用app的Use进行扩展
            IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();

            JT808Serializer = serviceProvider.GetRequiredService <IJT808Config>().GetSerializer();
        }
Example #2
0
        public JT808_0x0200_0x66_Test()
        {
            ServiceCollection serviceDescriptors = new ServiceCollection();

            serviceDescriptors.AddJT808Configure()
            .AddJTActiveSafetyConfigure();
            IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService <IJT808Config>();

            JT808Serializer = new JT808Serializer(jT808Config);
        }
Example #3
0
        public JT808_0x8103CustomId()
        {
            IServiceCollection serviceDescriptors1 = new ServiceCollection();

            serviceDescriptors1.AddJT808Configure(new DefaultGlobalConfig()).AddJT1078Configure();
            var ServiceProvider1 = serviceDescriptors1.BuildServiceProvider();
            var defaultConfig    = ServiceProvider1.GetRequiredService <IJT808Config>();

            JT808Serializer = new JT808Serializer(defaultConfig);
        }
Example #4
0
        public JT808_0x0200Test()
        {
            IJT808Config jT808Config  = new DefaultGlobalConfig();
            IJT808Config jT808Config1 = new DefaultGlobalConfig();

            jT808Config1.SkipCRCCode = true;
            jT808Config.JT808_0X0200_Custom_Factory.SetMap <JT808LocationAttachImpl0x06>();
            JT808Serializer  = new JT808Serializer(jT808Config);
            JT808Serializer1 = new JT808Serializer(jT808Config1);
        }
Example #5
0
        public void Test2()
        {
            var          bytes        = "7E 00 02 00 00 01 23 45 67 89 00 00 0A 81 7E".ToHexBytes();
            JT808Package jT808Package = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(Enums.JT808MsgId.终端心跳, jT808Package.Header.MsgId);
            Assert.Equal(10, jT808Package.Header.MsgNum);
            Assert.Equal("12345678900", jT808Package.Header.TerminalPhoneNo);
            Assert.Null(jT808Package.Bodies);
        }
Example #6
0
 public JT808TcpClient(
     JT808DeviceConfig deviceConfig,
     IServiceProvider serviceProvider)
 {
     DeviceConfig                = deviceConfig;
     SendAtomicCounterService    = serviceProvider.GetRequiredService <JT808SendAtomicCounterService>();
     ReceiveAtomicCounterService = serviceProvider.GetRequiredService <JT808ReceiveAtomicCounterService>();
     JT808Serializer             = serviceProvider.GetRequiredService <IJT808Config>().GetSerializer();
     Logger = serviceProvider.GetRequiredService <ILoggerFactory>().CreateLogger("JT808TcpClient");
 }
Example #7
0
        public void Test1()
        {
            JT808_0x8805 jT808_0X8805 = new JT808_0x8805();

            jT808_0X8805.MultimediaId      = 10000;
            jT808_0X8805.MultimediaDeleted = Enums.JT808MultimediaDeleted.保留.ToByteValue();
            string hex = JT808Serializer.Serialize(jT808_0X8805).ToHexString();

            Assert.Equal("0000271000", hex);
        }
Example #8
0
        public void Test1()
        {
            JT808_0x0302 jT808_0X0302 = new JT808_0x0302();

            jT808_0X0302.AnswerId = 123;
            jT808_0X0302.ReplySNo = 4521;
            var hex = JT808Serializer.Serialize(jT808_0X0302).ToHexString();

            Assert.Equal("11A97B", hex);
        }
Example #9
0
File: Demo6.cs Project: ymd1223/J8
        public Demo6()
        {
            IJT808Config jT808Config = new DefaultGlobalConfig();

            jT808Config.Register(Assembly.GetExecutingAssembly());
            //根据不同的设备终端号,添加自定义消息Id
            jT808Config.MsgIdFactory.CustomSetMap <DT1Demo6>(0x91, "1234567891");
            jT808Config.MsgIdFactory.CustomSetMap <DT2Demo6>(0x91, "1234567892");
            JT808Serializer = new JT808Serializer(jT808Config);
        }
Example #10
0
        public void Test2()
        {
            var          bytes        = "7E8104000001234567890000010D7E".ToHexBytes();
            JT808Package jT808Package = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(Enums.JT808MsgId.查询终端参数.ToUInt16Value(), jT808Package.Header.MsgId);
            Assert.Equal(1, jT808Package.Header.MsgNum);
            Assert.Equal("12345678900", jT808Package.Header.TerminalPhoneNo);
            Assert.Null(jT808Package.Bodies);
        }
Example #11
0
        public Demo10()
        {
            IJT808Config jT808Config = new Demo10ConfigBase();

            jT808Config.JT808_0X0200_Custom_Factory.SetMap <JT808LocationAttachImpl0xDF>();
            jT808Config.JT808_0X0200_Custom_Factory.SetMap2 <JT808LocationAttachImpl0xDE>();
            jT808Config.JT808_0X0200_Custom_Factory.SetMap3 <JT808LocationAttachImpl0xDD>();
            jT808Config.JT808_0X0200_Custom_Factory.SetMap4 <JT808LocationAttachImpl0x62>();
            JT808Serializer = new JT808Serializer(jT808Config);
        }
Example #12
0
        public void Test1()
        {
            JT808_0x0702 jT808_0X0702 = new JT808_0x0702();

            jT808_0X0702.IC_Card_Status       = JT808ICCardStatus.从业资格证IC卡拔出_驾驶员下班;
            jT808_0X0702.IC_Card_PlugDateTime = DateTime.Parse("2018-08-16 09:16:16");
            var hex = JT808Serializer.Serialize(jT808_0X0702).ToHexString();

            Assert.Equal("02 18 08 16 09 16 16".Replace(" ", ""), hex);
        }
Example #13
0
        public void Test1()
        {
            JT808_0x0108 jT808_0X0108 = new JT808_0x0108();

            jT808_0X0108.UpgradeType   = JT808UpgradeType.北斗卫星定位模块;
            jT808_0X0108.UpgradeResult = JT808UpgradeResult.成功;
            string hex = JT808Serializer.Serialize(jT808_0X0108).ToHexString();

            Assert.Equal("3400", hex);
        }
Example #14
0
        public void Test1()
        {
            JT808_0x0301 jT808_0X0301 = new JT808_0x0301
            {
                EventId = 123
            };
            var hex = JT808Serializer.Serialize(jT808_0X0301).ToHexString();

            Assert.Equal("7B", hex);
        }
Example #15
0
        public void Test2()
        {
            byte[]       bytes        = "0B0000303901".ToHexBytes();
            JT808_0x8900 jT808_0X8900 = JT808Serializer.Deserialize <JT808_0x8900>(bytes);
            JT808_0X8900_Test_BodiesImpl jT808_0X8900_Test_BodiesImpl = JT808Serializer.Deserialize <JT808_0X8900_Test_BodiesImpl>(jT808_0X8900.PassthroughData);

            Assert.Equal(0x0B, jT808_0X8900.PassthroughType);
            Assert.Equal((uint)12345, jT808_0X8900_Test_BodiesImpl.Id);
            Assert.Equal(0x01, jT808_0X8900_Test_BodiesImpl.Sex);
        }
Example #16
0
        public JT808_0x8500Test()
        {
            IJT808Config jT808Config = new DefaultGlobalConfig();

            jT808Config.JT808_0x8500_2019_Factory.SetMap <JT808_0x8500_0xF001>();
            jT808Config.JT808_0x8500_2019_Factory.SetMap <JT808_0x8500_0x0001>();
            jT808Config.FormatterFactory.SetMap <JT808_0x8500_0xF001>();
            jT808Config.FormatterFactory.SetMap <JT808_0x8500_0x0001>();
            JT808Serializer = new JT808Serializer(jT808Config);
        }
Example #17
0
        public void Test1()
        {
            JT808_0x8003 jT808_0X8003 = new JT808_0x8003();

            jT808_0X8003.OriginalMsgNum   = 1234;
            jT808_0X8003.AgainPackageData = new byte[] { 0x01, 0x02, 0x02, 0x03 };
            var hex = JT808Serializer.Serialize(jT808_0X8003).ToHexString();

            Assert.Equal("04D20201020203", hex);
        }
Example #18
0
        public void Test1()
        {
            JT808_0x0102 jT808LoginRequestProperty = new JT808_0x0102
            {
                Code = "45612"
            };
            string hex = JT808Serializer.Serialize(jT808LoginRequestProperty).ToHexString();

            Assert.Equal("3435363132", hex);
        }
Example #19
0
        public void Test1()
        {
            JT808_0x8A00 jT808_0X8A00 = new JT808_0x8A00();

            jT808_0X8A00.E = 128;
            jT808_0X8A00.N = N;
            string hex = JT808Serializer.Serialize(jT808_0X8A00).ToHexString();

            Assert.Equal("00000080000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F", hex);
        }
Example #20
0
        public void Test2()
        {
            byte[]       bytes        = "0300000B16000006B500000304".ToHexBytes();
            JT808_0x8605 jT808_0X8605 = JT808Serializer.Deserialize <JT808_0x8605>(bytes);

            Assert.Equal((uint)2838, jT808_0X8605.AreaIds[0]);
            Assert.Equal((uint)1717, jT808_0X8605.AreaIds[1]);
            Assert.Equal((uint)772, jT808_0X8605.AreaIds[2]);
            Assert.Equal(3, jT808_0X8605.AreaCount);
        }
Example #21
0
        public void Test1()
        {
            JT808_0x8304 jT808_0X8304 = new JT808_0x8304();

            jT808_0X8304.InformationType    = 123;
            jT808_0X8304.InformationContent = "信息内容";
            var hex = JT808Serializer.Serialize(jT808_0X8304).ToHexString();

            Assert.Equal("7B0008D0C5CFA2C4DAC8DD", hex);
        }
Example #22
0
        public void Test1()
        {
            JT808_0x8500 jT808_0X8500 = new JT808_0x8500
            {
                ControlFlag = 12
            };
            var hex = JT808Serializer.Serialize(jT808_0X8500).ToHexString();

            Assert.Equal("0C", hex);
        }
Example #23
0
        public void Test2()
        {
            byte[]       bytes        = "34 61 73 64 66 67 0C 71 73 63 76 68 69 75 79 74 72 65 77 00 00 00 05 01 02 03 04 05".ToHexBytes();
            JT808_0x8108 jT808_0X8108 = JT808Serializer.Deserialize <JT808_0x8108>(bytes);

            Assert.Equal(JT808UpgradeType.北斗卫星定位模块, jT808_0X8108.UpgradeType);
            Assert.Equal("asdfg", jT808_0X8108.MakerId);
            Assert.Equal("qscvhiuytrew", jT808_0X8108.VersionNum);
            Assert.Equal(new byte[] { 1, 2, 3, 4, 5 }, jT808_0X8108.UpgradePackage);
        }
Example #24
0
        public void Test2()
        {
            byte[]       bytes        = "00 00 1E 00 01".ToHexBytes();
            JT808_0x8804 jT808_0X8804 = JT808Serializer.Deserialize <JT808_0x8804>(bytes);

            Assert.Equal(JT808RecordCmd.停止录音, jT808_0X8804.RecordCmd);
            Assert.Equal(30, jT808_0X8804.RecordTime);
            Assert.Equal(JT808RecordSave.实时上传, jT808_0X8804.RecordSave);
            Assert.Equal(1, jT808_0X8804.AudioSampleRate);
        }
Example #25
0
        public void Test3()
        {
            var          bytes        = "7E 00 02 00 00 04 00 21 67 92 87 00 2B 7D 02 7E".ToHexBytes();
            JT808Package jT808Package = JT808Serializer.Deserialize <JT808Package>(bytes);

            Assert.Equal(Enums.JT808MsgId.终端心跳, jT808Package.Header.MsgId);
            Assert.Equal(43, jT808Package.Header.MsgNum);
            Assert.Equal("40021679287", jT808Package.Header.TerminalPhoneNo);
            Assert.Null(jT808Package.Bodies);
        }
Example #26
0
        public void Test1()
        {
            JT808_0x0303 jT808_0X0303 = new JT808_0x0303();

            jT808_0X0303.Flag            = 123;
            jT808_0X0303.InformationType = 12;
            var hex = JT808Serializer.Serialize(jT808_0X0303).ToHexString();

            Assert.Equal("0C7B", hex);
        }
Example #27
0
        public JT808_0x8900_0xF7_Test()
        {
            ServiceCollection serviceDescriptors = new ServiceCollection();

            serviceDescriptors.AddJT808Configure()
            .AddYueBiaoConfigure();
            IJT808Config jT808Config = serviceDescriptors.BuildServiceProvider().GetRequiredService <IJT808Config>();

            JT808Serializer = new JT808Serializer(jT808Config);
        }
Example #28
0
        private void _server_OnReceive(TCPServer <JUnpacker> arg1, IUserToken arg2, byte[] arg3)
        {
            var jUnpacker = (JUnpacker)arg2.Unpacker;

            jUnpacker.DeCode(arg3, (b) =>
            {
                var package = new JT808Serializer().Deserialize <JT808Package>(b.AsSpan());
                OnReceive?.Invoke(this, arg2.ID, package);
            });
        }
Example #29
0
        public void Test1()
        {
            JT808_0x8400 jT808_0X8400 = new JT808_0x8400();

            jT808_0X8400.CallBack    = Enums.JT808CallBackType.普通通话;
            jT808_0X8400.PhoneNumber = "12345679810";
            var hex = JT808Serializer.Serialize(jT808_0X8400).ToHexString();

            Assert.Equal("003132333435363739383130", hex);
        }
Example #30
0
        public void Test1()
        {
            JT808_0x8203 jT808_0X8203 = new JT808_0x8203();

            jT808_0X8203.AlarmMsgNum            = 5554;
            jT808_0X8203.ManualConfirmAlarmType = 123;
            string hex = JT808Serializer.Serialize(jT808_0X8203).ToHexString();

            Assert.Equal("15B20000007B", hex);
        }