/// <summary> /// 组合设置移动台初始化(粗略写,暂时测试用) /// </summary> /// <returns></returns> public byte[] GetAllocateInitPara(string Telephone) { byte[] YxData; YaXunSubmitData YaXunSubmitDataObj; // YaXunSubmitDataObj = new YaXunSubmitData(); YaXunSubmitDataObj.areaNum = 0x7f38; YaXunSubmitDataObj.businessType = BusinessType.UserManage; YaXunSubmitDataObj.dataType = DataType.SetMobileInitPara; YaXunSubmitDataObj.destPhone = Telephone; YaXunSubmitDataObj.sourcePhone = Telephone; // YxData = new byte[11]{0x31,0x31 ,0x31 ,0x31 ,0x31 ,0x31 ,//用户识别码(暂时随便给) 0x02 ,//参数个数 0x01 ,0x01 ,//TCP方式在线 0x02 ,0x01 };//???}; YaXunSubmitDataObj.data = YxData; byte[] destBuffer = new byte[YaXunSubmitDataObj.GetLength()]; YaXunSubmitDataObj.WriteBuffer(destBuffer); //GPRS信息帧数据 GPRSFrame gprsFrame = new GPRSFrame(); gprsFrame.Data = destBuffer; gprsFrame.CmdType = GPRSCmdType.GPRSTransferData; destBuffer = new byte[gprsFrame.GetLength()]; gprsFrame.WriteBuffer(destBuffer); return YaXunDataSpliter.BufferToESC(destBuffer); }
/// <summary> /// 组合设置短信中心号码(粗略写,暂时测试用) /// </summary> /// <returns></returns> public byte[] GetMsgCenterNumber(string Telephone) { byte[] YxData; YaXunSubmitData YaXunSubmitDataObj; //设置短信中心号码 YaXunSubmitDataObj = new YaXunSubmitData(); YaXunSubmitDataObj.areaNum = 0x7f38; YaXunSubmitDataObj.businessType = BusinessType.UserManage; YaXunSubmitDataObj.dataType = DataType.SetShortMsgCenterNum; YaXunSubmitDataObj.destPhone = Telephone; YaXunSubmitDataObj.sourcePhone = Telephone; //数据:+8613800592500 YxData = new byte[28]{0x2b,0x38 ,0x36 ,0x31 ,0x33 ,0x38 ,0x30 ,0x30 ,0x35 ,0x39 ,0x32 ,0x35 ,0x30 ,0x30 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x20 ,0x31 ,0x31 ,0x31 ,0x31 ,0x31 ,0x31}; YaXunSubmitDataObj.data = YxData; byte[] destBuffer = new byte[YaXunSubmitDataObj.GetLength()]; YaXunSubmitDataObj.WriteBuffer(destBuffer); //GPRS信息帧数据 GPRSFrame gprsFrame = new GPRSFrame(); gprsFrame.Data = destBuffer; gprsFrame.CmdType = GPRSCmdType.GPRSTransferData; destBuffer = new byte[gprsFrame.GetLength()]; gprsFrame.WriteBuffer(destBuffer); return YaXunDataSpliter.BufferToESC(destBuffer); }
/// <summary> /// 设置下监控请求(粗略写,暂时测试用) /// </summary> /// <param name="Telephone"></param> /// <returns></returns> public byte[] GetMonitorReq(string Telephone) { //设置下监控请求 YaXunSubmitData YaXunSubmitDataObj = new YaXunSubmitData(); YaXunSubmitDataObj.areaNum = 0x7f38; YaXunSubmitDataObj.businessType = BusinessType.CircuitMonitor; YaXunSubmitDataObj.dataType = DataType.MonitorReq; YaXunSubmitDataObj.destPhone = Telephone; YaXunSubmitDataObj.sourcePhone = Telephone; //数据 byte[] YxData = new byte[9]; YxData[0] = 0x42;//定时更新 YxData[1] = 0x7f;//永久监控 YxData[2] = 0x7f;// YxData[3] = 0x7f;//10秒一次 YxData[4] = 0x0a;// YxData[5] = 0x7f;//监控距离 YxData[6] = 0x7f;// YxData[7] = 0x7f;//上传GPS条数 YxData[8] = 0x0a;// YaXunSubmitDataObj.data = YxData; byte[] destBuffer = new byte[YaXunSubmitDataObj.GetLength()]; YaXunSubmitDataObj.WriteBuffer(destBuffer); //GPRS信息帧数据 GPRSFrame gprsFrame = new GPRSFrame(); gprsFrame.Data = destBuffer; gprsFrame.CmdType = GPRSCmdType.GPRSTransferData; destBuffer = new byte[gprsFrame.GetLength()]; gprsFrame.WriteBuffer(destBuffer); return YaXunDataSpliter.BufferToESC(destBuffer); }
/// <summary> /// 构造下发数据体 /// </summary> /// <param name="dataBuffer">用户数据</param> /// <param name="terminalNum">终端号</param> /// <param name="businessType">业务类型</param> /// <param name="dataType">数据类型</param> /// <returns></returns> public byte[] BuildSubmitData(byte[] dataBuffer, string terminalNum, BusinessType businessType, DataType dataType) { //下发监控请求 YaXunSubmitData submit = new YaXunSubmitData(); submit.areaNum = 0x7f38; //用户管理 submit.businessType = businessType; submit.dataType = dataType; submit.destPhone = terminalNum; submit.sourcePhone = terminalNum; submit.data = dataBuffer; byte[] destBuffer = new byte[submit.GetLength()]; submit.WriteBuffer(destBuffer); //GPRS信息帧数据 GPRSFrame gprsFrame = new GPRSFrame(); gprsFrame.Data = destBuffer; gprsFrame.CmdType = GPRSCmdType.GPRSTransferData; destBuffer = new byte[gprsFrame.GetLength()]; gprsFrame.WriteBuffer(destBuffer); //转义之后发出 return YaXunDataSpliter.BufferToESC(destBuffer); }
/// <summary> /// 处理中心需要下发的GPS终端数据 /// </summary> /// <param name="submit"></param> public void DealWithSubmit(YaXunSubmitData submit) { switch (submit.businessType) { //线路监控业务 case BusinessType.CircuitMonitor: switch (submit.dataType) { //监控请求 case DataType.MonitorReq: break; //撤销监控 case DataType.CancelMonitor: break; //修改监控参数请求 case DataType.ModifyMonitorParaReq: break; //终止监控应答 case DataType.AbortMonitorAck: break; //报警处理指示 case DataType.AlarmInstruction: break; //位置查询请求 case DataType.PositionQueryReq: break; } break; //求助业务 case BusinessType.Appeal: //求助应答 if (submit.dataType == DataType.AppealReq) { } break; //摇控业务 case BusinessType.RemoteControl: //控制摇控器请求 if (submit.dataType == DataType.CtrlTelecontrollerReq) { } break; //调度电召业务 case BusinessType.DispatchRadioCall: switch (submit.dataType) { //中心调度指示 case DataType.CenterDispatch: break; //下达电召指令 case DataType.RadioCallInstruction: break; //抢答确认 case DataType.ShoutOutAck: break; } break; //用户管理 case BusinessType.UserManage: break; } }