//生成短信指令 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(""); } }
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(""); } }