예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
        /// <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;
            }
        }