package org.yzh.protocol; import io.github.yezhihao.protostar.util.KeyValuePair; import io.netty.buffer.Unpooled; import org.yzh.protocol.basics.JTMessage; import org.yzh.protocol.commons.Action; import org.yzh.protocol.commons.Bit; import org.yzh.protocol.commons.ShapeAction; import org.yzh.protocol.commons.transform.AttributeKey; import org.yzh.protocol.commons.transform.attribute.*; import org.yzh.protocol.commons.transform.parameter.*; import org.yzh.protocol.commons.transform.passthrough.PeripheralSystem; import org.yzh.protocol.jsatl12.T1210; import org.yzh.protocol.jsatl12.T1211; import org.yzh.protocol.jsatl12.T9208; import org.yzh.protocol.jsatl12.T9212; import org.yzh.protocol.t1078.*; import org.yzh.protocol.t808.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; /** * JT/T 808协议单元测试数据 * @author yezhihao * https://gitee.com/yezhihao/jt808-server */ public class JT808Beans { public static final String ALARM_NO = "ad72131579e54be0b0f737cfc72c5db8"; public static final String DEVICE_ID = "09876543210987654321"; public static final String STR_TIME = "200707192359"; public static final LocalDateTime TIME = LocalDateTime.of(2020, 7, 7, 19, 23, 59); public static final LocalDateTime START_TIME = LocalDateTime.of(2020, 7, 26, 0, 0, 0); public static final LocalDateTime END_TIME = LocalDateTime.of(2020, 7, 26, 23, 23, 59); /** 2013版消息头 */ public static T H2013(T message) { int messageId = message.reflectMessageId(); if (messageId != 0) message.setMessageId(messageId); message.setClientId("123456789012"); message.setSerialNo(1); message.setEncryption(0); message.setReserved(false); return message; } /** 2019版消息头 */ public static T H2019(T message) { int messageId = message.reflectMessageId(); if (messageId != 0) message.setMessageId(messageId); message.setProtocolVersion(1); message.setClientId("12345678901234567890"); message.setSerialNo(65535); message.setEncryption(0); message.setVersion(true); message.setReserved(false); return message; } //平台RSA公钥|终端RSA公钥 public static T0A00_8A00 T0A00_8A00() { T0A00_8A00 bean = new T0A00_8A00(); bean.setE(999); bean.setN(new byte[128]); return bean; } //终端通用应答|平台通用应答 public static T0001 T0001() { T0001 bean = new T0001(); bean.setResponseSerialNo(123); bean.setResponseMessageId(456); bean.setResultCode(3); return bean; } //终端注册 public static T0100 T0100() { T0100 bean = new T0100(); bean.setProvinceId(31); bean.setCityId(115); bean.setMakerId("yzh"); bean.setDeviceModel("www.jtt808.cn"); bean.setDeviceId(DEVICE_ID); bean.setPlateColor(1); bean.setPlateNo("测A888888"); return bean; } //终端鉴权 public static T0102 T0102_2013() { T0102 bean = new T0102(); bean.setToken("pmYGzGukO8K4Z5lpIOTg8dqb3eprYaHBbXSPLtdbyG8="); return bean; } public static T0102 T0102_2019() { T0102 bean = new T0102(); bean.setToken("pmYGzGukO8K4Z5lpIOTg8dqb3eprYaHBbXSPLtdbyG8="); bean.setImei("123456789012345"); bean.setSoftwareVersion("www.jtt808.cn"); return bean; } //查询终端参数应答 public static T0104 T0104() { T0104 bean = new T0104(); bean.setResponseSerialNo(104); bean.setParameters(parameters()); return bean; } //终端参数列表 public static Map parameters() { ParamVideo paramVideo = new ParamVideo(); paramVideo.setRealtimeEncode((byte) 1); paramVideo.setRealtimeResolution((byte) 1); paramVideo.setRealtimeFrameInterval((byte) 1); paramVideo.setRealtimeFrameRate((byte) 1); paramVideo.setRealtimeBitRate((byte) 1); paramVideo.setStorageEncode((byte) 2); paramVideo.setStorageResolution((byte) 2); paramVideo.setStorageFrameInterval((byte) 2); paramVideo.setStorageFrameRate((byte) 2); paramVideo.setStorageBitRate((byte) 2); paramVideo.setOdsConfig((byte) 3); paramVideo.setAudioEnabled((byte) 3); Map parameters = new TreeMap<>(); parameters.put(ParamVideo.key, paramVideo); parameters.put(ParamADAS.key, new ParamADAS()); parameters.put(ParamBSD.key, new ParamBSD()); parameters.put(ParamDSM.key, new ParamDSM()); parameters.put(ParamSleepWake.key, new ParamSleepWake()); parameters.put(ParamVideoSpecialAlarm.key, new ParamVideoSpecialAlarm()); parameters.put(ParamImageIdentifyAlarm.key, new ParamImageIdentifyAlarm()); return parameters; } //查询终端属性应答 public static T0107 T0107() { T0107 bean = new T0107(); bean.setDeviceType(127); bean.setMakerId("yzh"); bean.setDeviceModel("www.jtt808.cn"); bean.setDeviceId(DEVICE_ID); bean.setIccid("12345678901234567890"); bean.setFirmwareVersion("www.jtt808.cn"); bean.setHardwareVersion("www.jtt808.cn"); bean.setGnssAttribute(127); bean.setNetworkAttribute(127); return bean; } //终端升级结果通知 public static T0108 T0108() { T0108 bean = new T0108(); bean.setType(T0108.Beidou); bean.setResult(2); return bean; } //位置信息汇报 public static T0200 T0200() { T0200 bean = new T0200(); bean.setWarnBit(1024); bean.setStatusBit(2048); bean.setLatitude(116307629); bean.setLongitude(40058359); bean.setAltitude(312); bean.setSpeed(3); bean.setDirection(99); bean.setDeviceTime(TIME); return bean; } //位置信息汇报 public static T0200 T0200_() { T0200 bean = new T0200(); bean.setWarnBit(1024 * 2); bean.setStatusBit(2048 * 2); bean.setLatitude(116307629 * 2); bean.setLongitude(40058359 * 2); bean.setAltitude(312 * 2); bean.setSpeed(3 * 2); bean.setDirection(99 * 2); bean.setDeviceTime(TIME); return bean; } //位置信息汇报 public static T0200 T0200Attributes() { T0200 bean = T0200(); Map attributes = new TreeMap<>(); attributes.put(AttributeKey.Mileage, 11); attributes.put(AttributeKey.Fuel, 22); attributes.put(AttributeKey.Speed, 33); attributes.put(AttributeKey.AlarmEventId, 44); attributes.put(AttributeKey.TirePressure, new TirePressure().setValue(new byte[]{55, 55, 55})); attributes.put(AttributeKey.CarriageTemperature, 2); attributes.put(AttributeKey.OverSpeedAlarm, new OverSpeedAlarm((byte) 66, 66)); attributes.put(AttributeKey.InOutAreaAlarm, new InOutAreaAlarm((byte) 77, 77, (byte) 77)); attributes.put(AttributeKey.RouteDriveTimeAlarm, new RouteDriveTimeAlarm(88, 88, (byte) 88)); attributes.put(AttributeKey.Signal, 99); attributes.put(AttributeKey.IoState, 10); attributes.put(AttributeKey.AnalogQuantity, 20); attributes.put(AttributeKey.SignalStrength, 30); attributes.put(AttributeKey.GnssCount, 40); bean.setAttributes(attributes); return bean; } //位置信息汇报 public static T0200 T0200JSATL12() { AlarmADAS alarmADAS = new AlarmADAS(); alarmADAS.setId(64); alarmADAS.setState(1); alarmADAS.setType(1); alarmADAS.setLevel(1); alarmADAS.setFrontSpeed(10); alarmADAS.setFrontDistance(10); alarmADAS.setDeviateType(1); alarmADAS.setRoadSign(1); alarmADAS.setRoadSignValue(10); alarmADAS.setSpeed(10); alarmADAS.setAltitude(100); alarmADAS.setLatitude(111111); alarmADAS.setLongitude(222222); alarmADAS.setAlarmTime(TIME); alarmADAS.setStatusBit(1); alarmADAS.setDeviceId(DEVICE_ID); alarmADAS.setDateTime(TIME); alarmADAS.setSequenceNo(1); alarmADAS.setFileTotal(1); alarmADAS.setReserved(1); AlarmDSM alarmDSM = new AlarmDSM(); alarmDSM.setId(65); alarmDSM.setState(2); alarmDSM.setType(2); alarmDSM.setLevel(2); alarmDSM.setFatigueDegree(20); alarmDSM.setReserves(20); alarmDSM.setSpeed(20); alarmDSM.setAltitude(200); alarmDSM.setLatitude(333333); alarmDSM.setLongitude(444444); alarmDSM.setAlarmTime(TIME); alarmDSM.setStatusBit(2); alarmDSM.setDeviceId(DEVICE_ID); alarmDSM.setDateTime(TIME); alarmDSM.setSequenceNo(2); alarmDSM.setFileTotal(2); alarmDSM.setReserved(2); AlarmTPMS alarmTPMS = new AlarmTPMS(); alarmTPMS.setId(66); alarmTPMS.setState(3); alarmTPMS.setSpeed(30); alarmTPMS.setAltitude(300); alarmTPMS.setLatitude(555555); alarmTPMS.setLongitude(666666); alarmTPMS.setAlarmTime(TIME); alarmTPMS.setStatusBit(3); alarmTPMS.setDeviceId(DEVICE_ID); alarmTPMS.setDateTime(TIME); alarmTPMS.setSequenceNo(3); alarmTPMS.setFileTotal(3); alarmTPMS.setReserved(3); AlarmBSD alarmBSD = new AlarmBSD(); alarmBSD.setId(67); alarmBSD.setState(4); alarmBSD.setType(4); alarmBSD.setSpeed(40); alarmBSD.setAltitude(400); alarmBSD.setLatitude(777777); alarmBSD.setLongitude(888888); alarmBSD.setAlarmTime(TIME); alarmBSD.setStatusBit(4); alarmBSD.setDeviceId(DEVICE_ID); alarmBSD.setDateTime(TIME); alarmBSD.setSequenceNo(4); alarmBSD.setFileTotal(4); alarmBSD.setReserved(4); T0200 bean = T0200(); Map attributes = new TreeMap<>(); attributes.put(AlarmADAS.key, alarmADAS); attributes.put(AlarmDSM.key, alarmDSM); attributes.put(AlarmTPMS.key, alarmTPMS); attributes.put(AlarmBSD.key, alarmBSD); bean.setAttributes(attributes); return bean; } //位置信息查询应答|车辆控制应答 public static T0201_0500 T0201_0500() { T0201_0500 bean = new T0201_0500(); bean.setResponseSerialNo(26722); bean.setWarnBit(10842); bean.setStatusBit(29736); bean.setLatitude(41957); bean.setLongitude(56143); bean.setAltitude(48243); bean.setSpeed(10001); bean.setDirection(300); bean.setDeviceTime(TIME); return bean; } //事件报告 public static T0301 T0301() { T0301 bean = new T0301(); bean.setEventId(255); return bean; } //提问应答 public static T0302 T0302() { T0302 bean = new T0302(); bean.setResponseSerialNo(61252); bean.setAnswerId(127); return bean; } //信息点播_取消 public static T0303 T0303() { T0303 bean = new T0303(); bean.setType(255); bean.setAction(0); return bean; } //驾驶员身份信息采集上报 public static T0702 T0702() { T0702 bean = new T0702(); bean.setStatus(2); bean.setDateTime("200721183000"); bean.setCardStatus(0); bean.setName("张三"); bean.setLicenseNo("1234567890123"); bean.setInstitution("中华人民共和国道路运输从业人员从业资格证"); bean.setLicenseValidPeriod("20190630"); return bean; } //定位数据批量上传 public static T0704 T0704() { T0704 bean = new T0704(); bean.setType(1); List item = new ArrayList<>(4); item.add(T0200()); item.add(T0200_()); item.add(T0200()); item.add(T0200_()); bean.setItems(item); bean.setTotal(item.size()); return bean; } //CAN总线数据上传 public static T0705 T0705() { T0705 bean = new T0705(); bean.setDateTime("235959"); List items = new ArrayList<>(3); items.add(new T0705.Item().setId(16909060).setData(new byte[]{1, 2, 3, 4, 5, 6, 7, 8})); items.add(new T0705.Item().setId(16909060).setData(new byte[]{1, 2, 3, 4, 5, 6, 7, 8})); items.add(new T0705.Item().setId(16909060).setData(new byte[]{1, 2, 3, 4, 5, 6, 7, 8})); bean.setItems(items); return bean; } //多媒体事件信息上传 public static T0800 T0800() { T0800 bean = new T0800(); bean.setId(123); bean.setType(0); bean.setFormat(0); bean.setEvent(7); bean.setChannelId(1); return bean; } //多媒体数据上传 public static T0801 T0801() { T0801 bean = new T0801(); bean.setId(123); bean.setType(1); bean.setFormat(2); bean.setEvent(1); bean.setChannelId(2); bean.setLocation(T0200()); bean.setPacket(Unpooled.wrappedBuffer(new byte[]{13, 123, 13, 123, 123})); return bean; } //存储多媒体数据检索应答 public static T0802 T0802() { T0802 bean = new T0802(); bean.setResponseSerialNo(123); List items = new ArrayList<>(4); items.add(new T0802.Item().setId(1).setType(1).setChannelId(1).setEvent(1).setLocation(T0200())); items.add(new T0802.Item().setId(2).setType(1).setChannelId(1).setEvent(1).setLocation(T0200_())); items.add(new T0802.Item().setId(3).setType(1).setChannelId(1).setEvent(1).setLocation(T0200())); items.add(new T0802.Item().setId(4).setType(1).setChannelId(1).setEvent(1).setLocation(T0200_())); bean.setItems(items); return bean; } //摄像头立即拍摄命令应答 public static T0805 T0805() { T0805 bean = new T0805(); bean.setResponseSerialNo(62656); bean.setResult(0); bean.setId(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); return bean; } //数据压缩上报 public static T0901 T0901() { T0901 bean = new T0901(); bean.setBody(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); return bean; } //补传分包请求 public static T8003 T8003() { T8003 bean = new T8003(); bean.setResponseSerialNo(4249); bean.setId(new short[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); return bean; } //终端注册应答 public static T8100 T8100() { T8100 bean = new T8100(); bean.setResponseSerialNo(38668); bean.setResultCode(T8100.Success); bean.setToken("chwD0SE1fchwD0SE1fchwD0SE1f"); return bean; } //设置终端参数 public static T8103 T8103() { T8103 bean = new T8103(); bean.setParameters(parameters()); return bean; } //终端控制 public static T8105 T8105() { T8105 bean = new T8105(); bean.setCommand(123); bean.setParameter("as;123;zxc;123;"); return bean; } //查询指定终端参数 public static T8106 T8106() { return new T8106().setId(new int[]{1, 3, 5, 7, 9, 127}); } //下发终端升级包 public static T8108 T8108() { T8108 bean = new T8108(); bean.setType(T8108.Beidou); bean.setMakerId("yzh"); bean.setVersion("www.jtt808.cn"); bean.setPacket(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); return bean; } //临时位置跟踪控制 public static T8202 T8202() { T8202 bean = new T8202(); bean.setInterval(5); bean.setValidityPeriod(600); return bean; } //人工确认报警消息 public static T8203 T8203() { T8203 bean = new T8203(); bean.setResponseSerialNo(123); bean.setType(40286); return bean; } //提问下发 public static T8302 T8302() { List options = new ArrayList<>(2); options.add(new T8302.Option().setId(1).setContent("www.jtt808.cn")); options.add(new T8302.Option().setId(2).setContent("www.jtt808.cn")); T8302 bean = new T8302().setContent("123").setSign(1); bean.setOptions(options); return bean; } //信息点播菜单设置 public static T8303 T8303() { T8303 bean = new T8303(); bean.setType(Action.Append); int i = 0; bean.addInfo(++i, "军事"); bean.addInfo(++i, "国内"); bean.addInfo(++i, "国际"); bean.addInfo(++i, "股票"); bean.addInfo(++i, "基金"); bean.addInfo(++i, "外汇"); bean.addInfo(++i, "体育"); bean.addInfo(++i, "娱乐"); bean.addInfo(++i, "汽车"); return bean; } //信息服务 public static T8304 T8304() { T8304 bean = new T8304(); bean.setType(123); bean.setContent("美上将:中国导弹可将关岛\"从地图上移除\""); return bean; } //电话回拨 public static T8400 T8400() { T8400 bean = new T8400(); bean.setType(T8400.Normal); bean.setPhoneNumber("1234567890123"); return bean; } //设置电话本 public static T8401 T8401() { T8401 bean = new T8401(); bean.setType(Action.Append); bean.addContact(new T8401.Contact().setSign(2).setName("张三").setPhone("12345678901")); bean.addContact(new T8401.Contact().setSign(1).setName("李四").setPhone("123123")); bean.addContact(new T8401.Contact().setSign(3).setName("王五").setPhone("123123")); return bean; } //车辆控制 public static T8500 T8500() { T8500 bean = new T8500(); bean.setType(123); return bean; } //设置圆形区域 public static T8600 T8600(int version) { T8600 bean = new T8600(); bean.setAction(ShapeAction.Modify); List items = new ArrayList<>(5); if (version == 2013) { items.add(new T8600.Circle(1, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30)); items.add(new T8600.Circle(2, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30)); items.add(new T8600.Circle(3, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30)); items.add(new T8600.Circle(4, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30)); items.add(new T8600.Circle(5, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30)); } else { items.add(new T8600.Circle(1, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30, 40, "测试围栏1")); items.add(new T8600.Circle(2, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30, 40, "测试围栏2")); items.add(new T8600.Circle(3, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30, 40, "测试围栏3")); items.add(new T8600.Circle(4, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30, 40, "测试围栏4")); items.add(new T8600.Circle(5, 0, 123123, 112312, 123, START_TIME, END_TIME, 200, 30, 40, "测试围栏5")); } bean.setItems(items); return bean; } //删除圆形区域|删除矩形区域|删除多边形区域|删除路线 public static T8601 T8601() { return new T8601().setId(new int[]{1, 2, 3, 65535}); } //设置矩形区域 public static T8602 T8602(int version) { T8602 bean = new T8602(); bean.setAction(ShapeAction.Update); List items = new ArrayList<>(5); if (version == 2013) { items.add(new T8602.Rectangle(1, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30)); items.add(new T8602.Rectangle(2, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30)); items.add(new T8602.Rectangle(3, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30)); items.add(new T8602.Rectangle(4, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30)); items.add(new T8602.Rectangle(5, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30)); } else { items.add(new T8602.Rectangle(1, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30, 40, "测试围栏1")); items.add(new T8602.Rectangle(2, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30, 40, "测试围栏2")); items.add(new T8602.Rectangle(3, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30, 40, "测试围栏3")); items.add(new T8602.Rectangle(4, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30, 40, "测试围栏4")); items.add(new T8602.Rectangle(5, 0, 123123, 112312, 123123, 112312, START_TIME, END_TIME, 200, 30, 40, "测试围栏5")); } bean.setItems(items); return bean; } //设置多边形区域 public static T8604 T8604(int version) { T8604 bean = new T8604(); bean.setId(3); bean.setAttribute(0); bean.setStartTime(START_TIME); bean.setEndTime(END_TIME); bean.setMaxSpeed(123); bean.setDuration(60); bean.addPoint(345, 123); bean.addPoint(345, 123); bean.addPoint(345, 123); bean.addPoint(345, 123); bean.addPoint(345, 123); if (version >= 2019) { bean.setNightMaxSpeed(40); bean.setName("测试围栏"); } return bean; } //设置路线 public static T8606 T8606(int version) { T8606 bean = new T8606(); bean.setId(59397); bean.setAttribute(0); bean.setStartTime(START_TIME); bean.setEndTime(END_TIME); List item = new ArrayList<>(4); if (version == 2013) { item.add(new T8606.Line(1, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4)); item.add(new T8606.Line(2, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4)); item.add(new T8606.Line(3, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4)); item.add(new T8606.Line(4, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4)); } else { item.add(new T8606.Line(1, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4, 5)); item.add(new T8606.Line(2, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4, 5)); item.add(new T8606.Line(3, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4, 5)); item.add(new T8606.Line(4, 1, 31234567, 121234567, 9, 0, 1, 2, 3, 4, 5)); bean.setName("测试区域"); } bean.setItems(item); return bean; } //查询区域或线路数据 public static T8608 T8608() { T8608 bean = new T8608(); bean.setType(0); bean.setId(new int[]{2, 4, 6, 8, 999999999}); return bean; } //多媒体数据上传应答 public static T8800 T8800() { T8800 bean = new T8800(); bean.setMediaId(49503); bean.setId(new short[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); return bean; } //摄像头立即拍摄命令 public static T8801 T8801() { T8801 bean = new T8801(); bean.setChannelId(1); bean.setCommand(2); bean.setTime(3); bean.setSave(1); bean.setResolution(4); bean.setQuality(5); bean.setBrightness(255); bean.setContrast(127); bean.setSaturation(127); bean.setChroma(255); return bean; } //存储多媒体数据检索 public static T8802 T8802() { T8802 bean = new T8802(); bean.setType(0); bean.setChannelId(1); bean.setEvent(3); bean.setEndTime(TIME); bean.setStartTime(TIME); return bean; } //存储多媒体数据上传命令 public static T8803 T8803() { T8803 bean = new T8803(); bean.setType(0); bean.setChannelId(1); bean.setEvent(3); bean.setEndTime(TIME); bean.setStartTime(TIME); bean.setDelete(0); return bean; } //录音开始命令 public static T8804 T8804() { T8804 bean = new T8804(); bean.setCommand(0x01); bean.setTime(6328); bean.setSave(1); bean.setAudioSamplingRate(0); return bean; } //单条存储多媒体数据检索上传命令 public static T8805 T8805() { T8805 bean = new T8805(); bean.setId(28410); bean.setDelete(1); return bean; } //数据上行透传 public static T0900 T0900() { T0900 bean = new T0900(); KeyValuePair message = new KeyValuePair<>(); bean.setMessage(message); PeripheralSystem peripheralSystem = new PeripheralSystem(); peripheralSystem.addItem((byte) 1, "测试公司1", "TEST-001", "1.1.0", "1.1.1", "device_id_1", "user_code_1"); peripheralSystem.addItem((byte) 2, "测试公司2", "TEST-002", "1.2.0", "1.1.2", "device_id_2", "user_code_2"); peripheralSystem.addItem((byte) 3, "测试公司3", "TEST-003", "1.3.0", "1.1.3", "device_id_3", "user_code_3"); message.setKey(PeripheralSystem.key); message.setValue(peripheralSystem); return bean; } //事件设置 public static T8301 T8301() { T8301 bean = new T8301(); bean.setType(Action.Append); bean.addEvent(1, "test"); bean.addEvent(2, "测试2"); bean.addEvent(3, "www.jtt808.cn"); return bean; } //文本信息下发 public static T8300 T8300_2013() { return new T8300().setContent("测试123@456#abc!...结束").setSign(Bit.writeInt(1, 1, 1, 1, 1, 1)); } public static T8300 T8300_2019() { return new T8300().setContent("测试123@456#abc!...结束").setSign(Bit.writeInt(1, 1, 1, 1, 1, 1)).setType(1); } //===================================== 1078 //终端上传音视频属性 public static T1003 T1003() { T1003 bean = new T1003(); bean.setAudioFormat(127); bean.setAudioChannels(4); bean.setAudioSamplingRate(2); bean.setAudioBitDepth(0); bean.setAudioFrameLength(37961); bean.setAudioSupport(1); bean.setVideoFormat(32); bean.setMaxAudioChannels(8); bean.setMaxVideoChannels(8); return bean; } //终端上传乘客流量 public static T1005 T1005() { T1005 bean = new T1005(); bean.setStartTime("200707192359"); bean.setEndTime("200707192359"); bean.setGetOffCount(18450); bean.setGetOnCount(33269); return bean; } //终端上传音视频资源列表 public static T1205 T1205() { List items = new ArrayList<>(2); items.add(new T1205.Item().setChannelNo(1).setStartTime(START_TIME).setEndTime(END_TIME).setWarnBit(0).setMediaType(1).setStreamType(1).setStorageType(1).setSize(1024)); items.add(new T1205.Item().setChannelNo(2).setStartTime(START_TIME).setEndTime(END_TIME).setWarnBit(0).setMediaType(2).setStreamType(2).setStorageType(2).setSize(2048)); T1205 bean = new T1205(); bean.setResponseSerialNo(4321); bean.setItems(items); return bean; } //文件上传完成通知 public static T1206 T1206() { T1206 bean = new T1206(); bean.setResponseSerialNo(7050); bean.setResult(1); return bean; } //实时音视频传输请求 public static T9101 T9101() { T9101 bean = new T9101(); bean.setIp("123.123.123.123"); bean.setTcpPort(772); bean.setUdpPort(16582); bean.setChannelNo(12); bean.setMediaType(1); bean.setStreamType(0); return bean; } //音视频实时传输控制 public static T9102 T9102() { T9102 bean = new T9102(); bean.setChannelNo(8); bean.setCommand(1); bean.setCloseType(2); bean.setStreamType(3); return bean; } //实时音视频传输状态通知 public static T9105 T9105() { T9105 bean = new T9105(); bean.setChannelNo(2); bean.setPacketLossRate(3); return bean; } //平台下发远程录像回放请求 public static T9201 T9201() { T9201 bean = new T9201(); bean.setIp("12.12.123.123"); bean.setTcpPort(42937); bean.setUdpPort(15468); bean.setChannelNo(26674); bean.setMediaType(2); bean.setStreamType(0); bean.setStorageType(0); bean.setPlaybackMode(0); bean.setPlaybackSpeed(0); bean.setStartTime("200707192359"); bean.setEndTime("200707192359"); return bean; } //平台下发远程录像回放控制 public static T9202 T9202() { T9202 bean = new T9202(); bean.setChannelNo(14865); bean.setPlaybackMode(1); bean.setPlaybackSpeed(3); bean.setPlaybackTime("200707192359"); return bean; } //查询资源列表 public static T9205 T9205() { T9205 bean = new T9205(); bean.setChannelNo(34023); bean.setMediaType(20635); bean.setStartTime("200707192359"); bean.setEndTime("200707192359"); bean.setWarnBit1(0); bean.setWarnBit2(0); bean.setStorageType(42752); bean.setStreamType(40558); return bean; } //文件上传指令 public static T9206 T9206() { T9206 bean = new T9206(); bean.setIp("192.168.1.1"); bean.setPort(11053); bean.setUsername("username"); bean.setPassword("password"); bean.setPath("/alarm_file"); bean.setChannelNo(1); bean.setStartTime(START_TIME); bean.setEndTime(END_TIME); bean.setWarnBit1(0); bean.setWarnBit2(0); bean.setMediaType(0); bean.setStorageType(1); bean.setStreamType(1); bean.setCondition(1); return bean; } //文件上传控制 public static T9207 T9207() { T9207 bean = new T9207(); bean.setResponseSerialNo(27133); bean.setCommand(2); return bean; } //云台旋转 public static T9301 T9301() { T9301 bean = new T9301(); bean.setChannelNo(1); bean.setParam1(2); bean.setParam2(3); return bean; } //云台调整焦距控制 public static T9302 T9302() { T9302 bean = new T9302(); bean.setChannelNo(1); bean.setParam(255); return bean; } //===================================== JSATL //报警附件信息消息 public static T1210 T1210() { T1210 bean = new T1210(); bean.setDeviceId(DEVICE_ID); bean.setDeviceId(DEVICE_ID); bean.setDateTime(TIME); bean.setSequenceNo(1); bean.setFileTotal(3); bean.setReserved(1); bean.setPlatformAlarmId(ALARM_NO); bean.setType(0); bean.setItems(null); return bean; } //文件信息上传/文件上传完成消息 public static T1211 T1211() { T1211 bean = new T1211(); bean.setName("www.jtt808.cn"); bean.setType(1); bean.setSize(1024); return bean; } //报警附件上传指令 public static T9208 T9208() { T9208 bean = new T9208(); bean.setIp("47.104.97.169"); bean.setTcpPort(8202); bean.setUdpPort(8203); bean.setDeviceId(DEVICE_ID); bean.setDateTime(TIME); bean.setSequenceNo(1); bean.setFileTotal(1); bean.setReserved(1); bean.setPlatformAlarmId(ALARM_NO); bean.setReserves(new byte[16]); return bean; } //文件上传完成消息 public static T9212 T9212() { T9212 bean = new T9212(); bean.setName("www.jtt808.cn"); bean.setType(0); bean.setResult(1); bean.setItems(new int[]{0, 1024}); return bean; } }