Ejemplo n.º 1
0
        //生成短信指令
        public static String CreateSMSOrder(String mno, char type, String content, out String remark)
        {
            try
            {
                StringBuilder stb  = new StringBuilder(HEAD).Append(mno).Append(",");
                String        time = DateTime.Now.ToString(",HHmmss");
                switch (type)
                {
                case OD_SET_SMS_NUM_M:    //中心短信号码
                    stb.Append("S2").Append(time).Append(",").Append(content);
                    remark = "设置中心短信号码:"; // +content;
                    break;

                case OD_SET_SMS_NUM_S:      //中心辅助短信号码
                    stb.Append("S28").Append(time).Append(",").Append(content);
                    remark = "设置中心辅助短信号码:"; // + content;
                    break;

                case OD_SET_GPRS_CENTER:    //设置GPRS中心
                    stb.Append("S23").Append(time).Append(",").Append(content);
                    remark = "设置GPRS中心";    /*:" + content.Replace(';', '.');
                                             * remark = remark.Insert(remark.LastIndexOf('.') + 1, ";重连");
                                             * remark = remark.Remove(remark.LastIndexOf('.'), 1);
                                             * remark = remark.Insert(remark.LastIndexOf('.') + 1, ";端口");
                                             * remark = remark.Remove(remark.LastIndexOf('.'), 1);
                                             * remark = remark + "次";*/
                    break;

                case OD_SET_ALARM_SPEED:    //设置超速报警速度
                    String[] ss = content.Split(',');
                    stb.Append("S14").Append(time).Append(",").Append(Pub.KmsToKts(Int32.Parse(ss[0])));
                    stb.Append(",").Append(Pub.KmsToKts(Int32.Parse(ss[1]))).Append(",1,").Append(ss[2]);
                    remark = "设置超速报警";    /*速度:最低" + ss[0] + "km/h;最高" + ss[1] + "km/s;持续时间" + ss[2] + "s";*/
                    break;

                case OD_SET_NOTIFY_SPEED: //设置超速提示速度
                    stb.Append("S33").Append(time).Append(",").Append(Pub.KmsToKts(Int32.Parse(content)));
                    remark = "设置超速提示";    /*速度:" + content + "km/h";*/
                    break;

                case OD_SET_ENCLOSURE:    //设置电子围栏
                    stb.Append("S21").Append(time).Append(",").Append(content);
                    remark = "设置电子围栏";
                    break;

                case OD_SET_CALL_LIMIT:    //设置呼叫限制
                    stb.Append("S5").Append(time).Append(",").Append(content);
                    remark = "设置呼叫限制";
                    break;

                case OD_SET_AUTO_UPLOAD:  //自动回传
                    String[] ss1 = content.Split(',');
                    remark = "设置自动回传";    /*:" + ss1[0] + "s回传";*/
                    if (ss1[1] == "0")
                    {
                        stb.Append("S17").Append(time).Append(",").Append(ss1[0]);
                        remark = remark + ";无限次";
                    }
                    else
                    {
                        stb.Append("D1").Append(time).Append(",").Append(ss1[0]).Append(",").Append(ss1[1]);
                        remark = remark + ";" + ss1[1] + "次";
                    }
                    break;

                case OD_SET_CUTDOWN:    //断油断电
                    String[] ss2 = content.Split(',');
                    stb.Append("S20").Append(time).Append(",").Append(content);
                    if (ss2[1] == "0")
                    {
                        remark = "恢复油电";
                    }
                    else
                    {
                        remark = "断油断电";
                    }
                    break;

                case OD_SET_CUSTOM_ALARM:    //自定义报警
                    stb.Append("S19").Append(time).Append(",").Append(content);
                    remark = "设置自定义报警";
                    break;

                case OD_SET_PARAM:    //设置终端参数
                    stb.Append("S12").Append(time).Append(",").Append(content);
                    remark = "设置终端参数";
                    break;

                case OD_SET_DOOR:    //远程开关门
                    stb.Append("S6").Append(time).Append(",").Append(content);
                    if (content == "0")
                    {
                        remark = "远程开门";
                    }
                    else
                    {
                        remark = "远程关门";
                    }
                    break;

                case OD_CTR_FREE_ALARM:    //解除报警
                    stb.Append("R7").Append(time);
                    remark = "解除报警";
                    break;

                case OD_CTR_REBOOT:    //重启终端
                    stb.Append("R1").Append(time);
                    remark = "重启终端";
                    break;

                case OD_SET_WATCHING:    //监听
                    stb.Append("R8").Append(time).Append(",").Append(content);
                    remark = "监听:" + content;
                    break;

                case OD_CTR_RESET:    //回复出厂设置
                    stb.Append("S25").Append(time);
                    remark = "回复出厂设置";
                    break;

                case OD_CTR_QUERY_MILE:    //查询里程
                    stb.Append("S32").Append(time).Append(",1");
                    remark = "查询里程";
                    break;

                default:
                    remark = "";
                    break;
                }
                stb.Append(FOOT);
                return(stb.ToString());
            }
            catch
            { remark = ""; return(""); }
        }
Ejemplo n.º 2
0
        public static String CreateGPRSOrder(String mNO, char type, String content, out String remark)
        {
            string flash;



            flash = mNO.Substring(6, 2) + mNO.Substring(4, 2) + mNO.Substring(2, 2) + mNO.Substring(0, 2);
            try
            {
                StringBuilder stb  = new StringBuilder("@SJHX,").Append(flash);
                String        time = DateTime.Now.ToString(",HHmmss");
                switch (type)
                {
                case OD_SET_SMS_NUM_M:    //中心短信号码
                    stb.Append("S2").Append(time).Append(",").Append(content);
                    remark = "设置中心短信号码:"; // +content;
                    break;

                case OD_SET_SMS_NUM_S:      //中心辅助短信号码
                    stb.Append("S28").Append(time).Append(",").Append(content);
                    remark = "设置中心辅助短信号码:"; // + content;
                    break;

                case OD_SET_ALARM_SPEED:    //设置超速报警速度
                    String[] ss = content.Split(Constant.SPLIT2);
                    stb.Append("S14").Append(time).Append(",").Append(Pub.KmsToKts(Int32.Parse(ss[0])));
                    stb.Append(",").Append(Pub.KmsToKts(Int32.Parse(ss[1]))).Append(",1,").Append(ss[2]);
                    remark = "设置超速报警";
                    break;

                case OD_SET_NOTIFY_SPEED:    //设置超速提示速度
                    stb.Append("S33").Append(time).Append(",").Append(Pub.KmsToKts(Int32.Parse(content)));
                    remark = "设置超速提示";
                    break;

                case OD_SET_ENCLOSURE:    //设置电子围栏
                    String[] str1 = content.Split(',');
                    if (str1[0] == "1")
                    {
                        stb.Append("7E7E00007E7E030003").Append(str1[1]).Append("\r\n");
                    }
                    else
                    {
                        stb.Append("7E7E00007E7E030003951234560116123456951234560116123456").Append("\r\n");
                    }
                    remark = "设置电子围栏";
                    break;

                case OD_SET_CALL_LIMIT:    //设置呼叫限制
                    stb.Append("S5").Append(time).Append(",").Append(content);
                    remark = "设置呼叫限制";
                    break;

                case OD_SET_AUTO_UPLOAD2:    //顶事回传



                    string str = "";
                    int    a   = IPAddress.NetworkToHostOrder(int.Parse(content));

                    byte[] btValue = BitConverter.GetBytes(a);



                    str = Convert.ToString(btValue[2], 16) + Convert.ToString(btValue[3], 16) + Convert.ToString(btValue[0], 16) + Convert.ToString(btValue[1], 16);     //低字节在前

                    str = str.ToUpper();

                    //      str = str.Substring(2, 2) + str.Substring(0, 2);



                    //http://blog.csdn.net/lcj8/archive/2008/04/24/2323451.aspx 参考文件



                    stb.Append("7E7E00007E7E030103").Append(str).Append("\r\n");
                    remark = "设置定时自动回传数据时间";
                    break;

                case OD_SET_CUTDOWN:    //断油断电
                    String[] ss2 = content.Split(Constant.SPLIT2);
                    stb.Append("S20").Append(time).Append(",").Append(content);
                    if (ss2[1] == "0")
                    {
                        remark = "恢复油电";
                    }
                    else
                    {
                        remark = "断油断电";
                    }
                    break;

                case OD_SET_CUSTOM_ALARM:    //自定义报警
                    stb.Append("S19").Append(time).Append(",").Append(content);
                    remark = "设置自定义报警";
                    break;

                case OD_SET_PARAM:    //设置终端参数
                    stb.Append("S12").Append(time).Append(",").Append(content);
                    remark = "设置终端参数";
                    break;

                case OD_CTR_FREE_ALARM:    //解除报警
                    stb.Append("7E7E00007E7E03020100\r\n");
                    remark = "解除报警";
                    break;

                case OD_CTR_REBOOT:    //重启终端
                    stb.Append("R1").Append(time);
                    remark = "重启终端";
                    break;

                case OD_SET_WATCHING:    //监听
                    stb.Append("R8").Append(time).Append(",").Append(content);
                    remark = "监听:" + content;
                    break;

                case OD_CTR_RESET:    //回复出厂设置
                    stb.Append("S25").Append(time);
                    remark = "回复出厂设置";
                    break;

                case OD_SET_APN:     // 设置距离回传时间 50 米倍数

                    string strf = "";
                    int    b    = IPAddress.NetworkToHostOrder(int.Parse(content));

                    byte[] btValue_1 = BitConverter.GetBytes(b);
                    strf = Convert.ToString(btValue_1[2], 16) + Convert.ToString(btValue_1[3], 16);

                    strf = strf.ToUpper();
                    stb.Append("7E7E00007E7E030105").Append(strf).Append("\r\n");
                    remark = "设置距离倍数";
                    break;

                case OD_CTR_QUERY_MILE:    //查询里程
                    stb.Append("S32").Append(time).Append(",1");
                    remark = "查询里程";
                    break;

                default:
                    remark = "";
                    break;
                }
                stb.Append(FOOT);
                return(stb.ToString());
            }
            catch
            { remark = ""; return(""); }
        }