package urt; import java.util.LinkedHashMap; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import DataBase.DatabaseManagement; import Frame.TcpIpManage; import Method.BaoWenShow; import Method.GetNowTime; import Method.InsertData; import Netty.GroupChatServerHandler; import PbuliClass.ShowMessage; import person.Person; import person.person_Dell; import tbDataModel.Tb_gps; public class lowgpscontral { static String k0="IC";//³§ÉÌÃû³Æ /**[³§ÉÌ*É豸ID*ÄÚÈݳ¤¶È*ÄÚÈÝ]ÄÚÈݳ¤¶È¹Ì¶¨ÎªËĸö×Ö½ÚµÄ ASCII Âë,¸ßλÔÚǰµÍλÔÚºó *ÖÕ¶Ë·¢ËÍ:[XT*YYYYYYYYYYYYYYY*LEN*LK]ʵÀý:[XT*334588000000156*0002*LK] *ƽ̨»Ø¸´:[XT*YYYYYYYYYYYYYYY*LEN*LK] *˵Ã÷:Á´Â·±£³ÖÊý¾Ýÿ 5 ·ÖÖÓ·¢Ò»´Î,ÈôÖÕ¶ËδÊÕµ½·þÎñÆ÷µÄ»Ø¸´, * Ôò»áÒ»·ÖÖÓÖØÁ¬Ò»´Î£¬ÖØÁ¬ 5 ´ÎºóÒ»Ö±Á¬½Ó²»ÉÏÎñÆ÷£¬Öն˾ͻáÖØÆô*/ public static void keeplink(String tagid,String ip,String message,String ccid) { send(message,ip); Dell_gps.add_alow_gps(tagid,ip,ccid); } public static void delllowgps(String ip,int port,String b) { String[] a=b.split("\\*"); if(a !=null) { String id=a[1]; int size=id.length(); String tagid=a[1].substring(size-4,size); String b0=a[3]; if(b0.startsWith("LK")) { keeplink(tagid,ip,b,id); }else if(b0.startsWith("KA")) { keeplinKA(tagid,b,ip,port,id); }else if(b0.startsWith("WT")) { dell_lowgps(ip,b,tagid,id); }else if(b0.startsWith("UD")) { dell_lowgps(ip,b,tagid,id); }else if(b0.startsWith("LGZONE")) { sent_time(tagid,ip,b); }else if(b0.startsWith("UPLOAD")) { alert_hz_succ(tagid,a[2]); }else if(b0.startsWith("VERNO")) { alert_version(tagid,b); }else if(b0.startsWith("FIND")) { ShowMessage.zidingyi(tagid+"Õð¶¯Ö¸ÁîÏ·¢³É¹¦"+"\n"); }else if(b0.startsWith("AL")) { dell_lowgps(ip,b,tagid,id); respon_al(id,ip,tagid); } } } /**[b739c3c8907a8dc5979b041c7153b3bbIC*860313001005947*0010*KA,220101,0,0,25] * [XT*YYYYYYYYYYYYYYY*LEN*KA,ÈÕÆÚ£¬²½Êý,·­¹ö´ÎÊý,µçÁ¿°Ù·ÖÊý] ʵÀý:[XT*334588000000156*0014*KA,120414,50,100,100] ƽ̨»Ø¸´:[XT*YYYYYYYYYYYYYYY*LEN*KA]ʵÀý:[XT*334588000000156*0002*KA]*/ public static void keeplinKA(String tagid,String a0,String ip,int port,String ccid) { String[] b1=a0.split(","); String ka="["+k0+"*"+tagid+"*0002*KA]"; String power=b1[4].replace("]", ""); send(ka,ip); Dell_gps.alert_alow_gps(tagid, power,k0,ip,port,ccid); Person prs=person_Dell.get_Person(tagid); if(prs !=null) { prs.setP_power(power); prs.setP_online("1"); prs.setP_addtiem(GetNowTime.now()); } } /**ʵÀý: * [XT*334588000000156*00CD*UD,180916,025723,A,22.570733,N,113.8626083,E,0.00,249.5,0.0, * 6,100,60,0,0,00000010,7,255,460,1,9529,21809,158,9529,63555,133,9529,63554,129,9529,2 * 1405,126,9529,21242,124,9529,21151,120,9529,63556,119,0] * ˵Ã÷£º * Êý¾ÝÄÚÈÝ: * UD,ÃüÁîºÅ * 180916,ÈÕÆÚ£¨ÄêÔÂÈÕ£©£¨0 Ê±Çø£©£¬±íʾ 0 Ê±ÇøµÄ¶þÁãÒ»°ËÄê¾ÅÔÂÊ®ÁùºÅ * 025723,ʱ¼ä£¨Ê±·ÖÃ룩£¨0 Ê±Çø£©£¬±íʾ 0 Ê±ÇøµÄÁ½µãÎåÊ®Æß·Ö¶þÊ®ÈýÃë * A,gps ¶¨Î»ÓÐЧ * 22.570733,γ¶È * N,γ¶È±íʾ * 113.8626083,¾­¶È * E,¾­¶È±íʾ * 0.00,ËÙ¶È * 249.5,·½Ïò * 0.0,º£°Î * 6,ÎÀÐǸöÊý * 100,gsm ÐźÅÇ¿¶È * 60,µçÁ¿ * 0,¼Æ²½Êý * 0,·­×ª´ÎÊý * 00000010,ÖÕ¶Ë״̬£¬Êý¾ÝΪ 16 ½øÖÆ£¬½âÎö³É¶þ½øÖÆÎª 0000 0000 0000 0000 0000 0000 0001 0000 * Ç°Ãæ 4 ¸ö×Ö½Ú±íʾ״̬£¬ºóÃæ 4 ¸ö×Ö½Ú±íʾ±¨¾¯£¬Êý¾ÝÖÐµÚ 4 λΪ 1£¬¶ÔÕÕÎĵµ×îºóµÄÊý¾Ý½âÎö£¬±íʾÊÖ±í¾²Ö¹×´Ì¬¡£Ïêϸ¿É²Î¿´Îĵµ×îºó²¿·Ö¡£ * 7,»ùÕ¾¸öÊý * 255,460,1,9529,21809,158,9529,63555,133,9529,63554,129,9529,21405,126,9529,21242,124, * 9529,21151,120,9529,63556,119,»ùÕ¾ÐÅÏ¢0,WiFi ¸öÊý*/ @SuppressWarnings("unused") public static void dell_lowgps(String ip,String b,String tagid,String ccid) { String msg=b.replace("]", ""); String[] a=msg.split(","); String data=a[1]; String time=a[2]; String gpsok=a[3];//A:¶¨Î»V:δ¶¨Î» String weidu=a[4];//γ¶È String jingdu=a[6];//¾­¶È String sudu=a[8];//ËÙ¶È String fangxiang=a[9];//·½Ïò String gaodu=a[10];//¸ß¶È String num=a[11];//ÎÀÐÇÊý String gsm=a[12];//±íʾµ±Ç°GSM ÐźÅÇ¿¶È(0-100) String power=a[13];//±íʾµ±Ç°µçÁ¿µÈ¼¶°Ù·Ö±È String sate=a[16];//ÖÕ¶Ë״̬ String g4num=a[17];//4g»ùÕ¾¸öÊý£¬Éϱ¨»ùÕ¾¸öÊý,0 ±íʾ²»Éϱ¨»ùÕ¾ÐÅÏ¢£¨Ä¬Èϲ»´ø»ùÕ¾Êý¾Ý£¬¶¨Î»»áʧ°Ü£© String gsmshiyan=a[18];//GSM ʱÑÓ String mcc=a[19];//MCC ¹ú¼ÒÂë460 460 ´ú±íÖйú String mnc=a[20];//MNC ÍøºÅ02 02 ´ú±íÖйúÒÆ¶¯ String b21=a[21];//Á¬½Ó»ùվλÖÃÇøÓòÂë String b22=a[22];//Á¬½Ó»ùÕ¾±àºÅ String b23=a[23];//Á¬½Ó»ùÕ¾ÐźÅÇ¿¶È Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { gps.setGps_state(gpsok); gps.setGps_num(num); gps.setGps_haiba_gao(gaodu); gps.setIp(ip); } if(gpsok.equals("A")) { }else { if(g4num.equals("1")) { String b24=a[24];//Wifi ÐÅÏ¢ÊýÁ¿ int wifinum=Integer.parseInt(b24); StringBuffer wifi=new StringBuffer(); for(int i=0;i map = new LinkedHashMap<>(); map.put("key", "d09e0211edbdab45d2a02633a50406e7");//¹Ì¶¨ map.put("accesstype", "1");//1´ú±íWIFI map.put("imei",imei);//ÊÖ»úimeiºÅÂë,ÊÖ»ú²¦ºÅÒ³ÊäÈë *#06# ²éѯ //"fc:94:35:13:86:40,-52|14:5f:94:65:37:ec,-61|e0:40:07:bb:04:68,-63" map.put("macs",msg); map.put("output", "json");//·µ»Ø¸ñʽ(json/xml) String url = "http://apilocate.amap.com/position"; String s = cn.hutool.http.HttpUtil.get(url, map); if( !s.startsWith("Error")) { LinkedHashMap mapaa = JSON.parseObject(s, LinkedHashMap.class); String result = mapaa.get("result").toString(); JSONObject jsonObject1 =JSONObject.parseObject(result); String location = jsonObject1.get("location").toString(); String adress= jsonObject1.get("desc").toString(); Tb_gps gps=Dell_gps.get_tb_gps(tagid); gps.setAddtime(GetNowTime.gethm()); if(gps !=null) { Person prs=person_Dell.get_Person(tagid); String[] lac=location.split(","); double lat=Double.parseDouble(lac[1]); double lon=Double.parseDouble(lac[0]); double[] d1=GPSUtil.gcj02_To_Gps84(lat,lon); String jd=String.valueOf(d1[1]); String wd=String.valueOf(d1[0]); gps.setGsp_jingdu(jd); gps.setGps_weidu(wd); gps.setAdress(adress); gps.setCcid(ccid); prs.setP_online("1"); prs.setP_addtiem(GetNowTime.now()); } } } /** * »ñÈ¡·þÎñÆ÷¶Ëʱ¼ä×¢£ºÌṩÁ½ÖÖ·µ»Ø·½Ê½£¬Ò»ÖÖ·µ»ØÊ±¼ä´Á£¬Ò»ÖÖ·µ»Ø×Ö·û´®¸ñʽ * A ÖÕ¶Ë·¢ËÍ: * [XT*YYYYYYYYYYYYYYY*LEN*Time] * ʵÀý:[XT*334588000000156*0004*Time] * ƽ̨»Ø¸´: [XT*YYYYYYYYYYYYYYY*LEN*Time,1497597457] * ʵÀý:[XT*334588000000156*000F*Time,1497597457] * ʱ¼ä¸ñʽÓÃʱ¼ä´Á±íʾ£¬¾«È·µ½Ã룬ÖÕ¶ËĬÈÏÓñ±¾©Ê±¼äÏÔʾ£¬ÖÕ¶ËÊÕµ½ÉèÖÃÊ±ÇøÖ¸Áîºó£¬Ðè½øÐÐÏàÓ¦µ÷Õû * B ÖÕ¶Ë·¢ËÍ£º[XT*YYYYYYYYYYYYYYY*LEN*LGZONE] * ʵÀý: [XT*1234567890*0006*LGZONE] * ƽ̨»Ø¸´£º[XT*YYYYYYYYYYYYYYY*LEN*LGZONE,Ê±Çø,ʱ¼ä,ÈÕÆÚ] * ʵÀý: [XT*1234567890*001D*LGZONE,+8,08:00:00,2016-01-12]*/ public static void sent_time(String tagid,String ip,String message) { String[] a=message.split("\\*"); int size=a[0].length(); String k0=a[0].substring(size-2, size); String hms=GetNowTime.HH_MM_SS(); String ymd=GetNowTime.y_m_d(); String ka="["+k0+"*"+tagid+"*001D*LGZONE,+8,"+hms+","+ymd+"]"; send(ka,ip); } /**ÐÞ¸ÄÆµÂÊ * [XT*334588000000156*0009*UPLOAD,600]*/ public static void alert_hz(String tagid,String hz) { Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { String ip=gps.getIp(); if(ip==null || ip.length()<5) { ShowMessage.zidingyi("Ö¸ÁîÏ·¢Ê§°ÜipµØÖ·´íÎó"+"\n"); return; } String ct=gps.getCT(); String ka="["+ct+"*"+tagid+"*0009*UPLOAD,"+hz+"]"; send(ka,ip); ShowMessage.zidingyi("ÐÞ¸Ä"+tagid+"ƵÂÊ"+hz+"ÐÅϢϷ¢"+ip+"\n"); } } /**ÐÞ¸ÄËùÓÐÖÕ¶ËµÄÆµÂÊ*/ public static void all_hz(String hz) { int size=Dell_gps.getGps_vector().size(); for(int i=0;i6) { alert_hz(tagid,hz); } } ShowMessage.zidingyi("ËùÓÐ±êÆµÂÊÐÞ¸ÄÏ·¢"+"\n"); } /**ʵÀý:[XT*334588000000156*0006*UPLOAD]*/ public static void alert_hz_succ(String tagid,String hz) { ShowMessage.zidingyi(tagid+"ƵÂÊ"+hz+"Ð޸ijɹ¦"+"\n"); } /**ʵÀý:[XT*334588000000156*0002*CR] * ˵Ã÷:Á¢¼´»½ÐÑÖÕ¶ËGPS ¶¨Î»¹¦ÄÜ,Á¬Ðø¶¨Î»3 ·ÖÖÓ£¬°´ÕÕ10 ÃëÒ»´Î¶¨Î»Êý¾ÝÉÏ´«£¬3 ·ÖÖÓºó¹Ø±Õgps ¶¨Î»¡£*/ public static void lianxu_dingwei(String tagid) { Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { String ip=gps.getIp(); if(ip==null || ip.length()<5) { ShowMessage.zidingyi("Ö¸ÁîÏ·¢Ê§°ÜipµØÖ·´íÎó"+"\n"); return; } String ct=gps.getCT(); String ka="["+ct+"*"+tagid+"*0002*CR]"; send(ka,ip); ShowMessage.zidingyi(tagid+"Á¬Ðø¶¨Î»Ö¸ÁîÏ·¢"+"\n"); } } /**°æ±¾²éѯ * ƽ̨·¢ËÍ:[XT*YYYYYYYYYYYYYYY*LEN*VERNO] * ʵÀý:[XT*334588000000156*0005*VERNO] * Öն˻ظ´:[XT*YYYYYYYYYYYYYYY*LEN*VERNO,°æ±¾ºÅ] * ʵÀý:[XT*334588000000156*0028*VERNO,G29_BASE_V1.00_2014.04.23_17.46.49] * ˵Ã÷:²éѯÖÕ¶ËÈí¼þ°æ±¾.*/ public static void serch_version(String tagid) { Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { String ip=gps.getIp(); if(ip==null || ip.length()<5) { ShowMessage.zidingyi(tagid+"Ö¸ÁîÏ·¢Ê§°ÜipµØÖ·´íÎó"+"\n"); return; } String ct=gps.getCT(); String ka="["+ct+"*"+tagid+"*0005*VERNO]"; send(ka,ip); ShowMessage.zidingyi(tagid+"»ñÈ¡°æ±¾Ö¸ÁîÏ·¢"+"\n"); } } /**Ð޸İ汾ºÅ*/ public static void alert_version(String tagid,String message) { Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { String[] a=message.split(","); String version=a[1].replace("]",""); gps.setVersion(version); ShowMessage.zidingyi(tagid+"»ñÈ¡°æ±¾³É¹¦"+version+"\n"); String[] ziduan= {"version","tagid"}; String[] zhi= {version,tagid}; DatabaseManagement.fast_alert_dbase("tb_gps", ziduan, zhi); } } /**ÕÒÉ豸 * ÕÒÊÖ±íÖ¸ÁîÆ½Ì¨·¢ËÍ: * [XT*YYYYYYYYYYYYYYY*LEN*FIND] * ʵÀý:[XT*334588000000156*0004*FIND] * Öն˻ظ´:[XT*YYYYYYYYYYYYYYY*LEN*FIND] * ʵÀý:[XT*334588000000156*0004*FIND] * ˵Ã÷: ·¢Ë͸ÃÖ¸ÁîÖÕ¶ËÏìÁå1 ·ÖÖÓ.°´¼ü¿ÉÈ·ÈÏ*/ public static void fond_gps(String tagid) { Tb_gps gps=Dell_gps.get_tb_gps(tagid); if(gps !=null) { String ip=gps.getIp(); if(ip==null || ip.length()<5) { ShowMessage.zidingyi(tagid+"ѰÕÒÉ豸ָÁîÏ·¢Ê§°ÜIPµØÖ·´íÎó\n"); return; } String ct=gps.getCT(); String ka="["+ct+"*"+tagid+"*0004*FIND]"; send(ka,ip); ShowMessage.zidingyi(tagid+"ѰÕÒÉ豸ָÁîÏ·¢\n"); } } /**±¨¾¯Êý¾ÝÉϱ¨ * ÖÕ¶Ë·¢ËÍ£¨Òƶ¯ÁªÍ¨£© * [XT*YYYYYYYYYYYYYYY*LEN*AL,λÖÃÊý¾Ý(¼û¸½Â¼Ò»)] * ʵÀý:[XT*334588000000156*00CD*AL,180916,064153,A,22.570512,N,113.8623267,E,0.00,154.8,0.0, * 11,100,100,0,0,00100018,7,0,460,1,9529,21809,155,9529,21242,132,9529,21405,131,9529,6 * 3554,131,9529,63555,130,9529,63556,118,9529,21869,116,0,12.4] * ƽ̨»Ø¸´:[XT*YYYYYYYYYYYYYYY*LEN*AL] * ʵÀý:[XT*334588000000156*0002*AL] * ˵Ã÷:Öն˲úÉú¾¯Çéºó·¢Ëͱ¨¾¯ÐÅÏ¢µ½Æ½Ì¨,ÈôÖÕ¶ËûÓÐÊÕµ½»Ø¸´,Ôò¶¨Ê±Éϱ¨Ö±µ½ÊÕµ½±¨¾¯È·ÈÏΪֹ.*/ /**»Ø¸´±¨¾¯[XT*334588000000156*0002*AL]*/ public static void respon_al(String ccid,String ip,String tagid) { String ka="[IC*"+ccid+"*0002*AL]"; ShowMessage.zidingyi(tagid+"°´Ï°´¼ü"); Person prs=person_Dell.get_Person(tagid); if(prs !=null) { prs.setSos_state("1");; } Tb_gps gps0=Dell_gps.get_tb_gps(tagid) ; String a1=gps0.getGsp_jingdu()+","+gps0.getGps_weidu(); InsertData.sosInsertTbWarning(tagid,"SOS", "δ´¦Àí",a1); send(ka,ip); } }