package main;
|
|
import java.io.IOException;
|
import java.sql.Connection;
|
import java.sql.SQLException;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import com.base.Com;
|
import com.config.AppConfig;
|
import com.config.AppParam;
|
import com.jnrsmcu.sdk.netdevice.IDataListener;
|
import com.jnrsmcu.sdk.netdevice.LoginData;
|
import com.jnrsmcu.sdk.netdevice.NodeData;
|
import com.jnrsmcu.sdk.netdevice.ParamData;
|
import com.jnrsmcu.sdk.netdevice.ParamIdsData;
|
import com.jnrsmcu.sdk.netdevice.ParamItem;
|
import com.jnrsmcu.sdk.netdevice.RSServer;
|
import com.jnrsmcu.sdk.netdevice.RealTimeData;
|
import com.jnrsmcu.sdk.netdevice.StoreData;
|
import com.jnrsmcu.sdk.netdevice.TelecontrolAck;
|
import com.jnrsmcu.sdk.netdevice.TimmingAck;
|
import com.jnrsmcu.sdk.netdevice.TransDataAck;
|
import com.jnrsmcu.sdk.netdevice.WriteParamAck;
|
import com.sql.MysqlConnPool;
|
|
public class main_TmpHumSystem {
|
public final static double m_VersionNum = 1.102;
|
public final static String m_Version = "Welcome To Use main_MonitorServer_Motor V"
|
+ m_VersionNum ;
|
public static final int MysqlServer_Port = 3360;
|
|
private static AppConfig m_AppConfig;
|
|
private static MysqlConnPool GB_MysqlConnPool;
|
public static AppParam GB_App_Param;
|
|
public static void main(String[] args) {
|
String ver = m_Version;
|
|
System.out.println("main_MonitorServer_Motor Server Started At DateTime: " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
//´´½¨config.xmlÎļþ
|
m_AppConfig = new AppConfig();
|
|
System.out.println("SQLserver IP£º" + m_AppConfig.getMysqlServerIp() + ", port: "+MysqlServer_Port);
|
//³õʼ»¯Á¬½Ó³ØÖеĸ÷ÖÖ²ÎÊýÐÅÏ¢
|
GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port,
|
100);
|
|
//´´½¨tb_app_param±í,²¢ÇÒÉèÖñíÖеÄÊý¾Ý
|
GB_App_Param = new AppParam(GB_MysqlConnPool);
|
|
checkingMySQLServerStart(); //¼ì²âÊý¾Ý¿â·þÎñÊÇ·ñÆô¶¯
|
//³õʼ»¯Êý¾Ý¿â
|
TmpHum_Task_SQL.init(GB_MysqlConnPool);
|
|
RSServer rsServer = RSServer.Initiate(2404);// ³õʼ»¯
|
rsServer.addDataListener(new IDataListener() {// Ìí¼Ó¼àÌý
|
@Override
|
public void receiveTimmingAck(TimmingAck data) {// УʱָÁîÓ¦´ð´¦Àí
|
System.out.println("УʱӦ´ð->É豸±àºÅ:" + data.getDeviceId() + "\tÖ´Ðнá¹û£º" + data.getStatus());
|
}
|
|
@Override
|
public void receiveTelecontrolAck(TelecontrolAck data) {// Ò£¿ØÖ¸ÁîÓ¦´ð´¦Àí
|
System.out.println("Ò£¿ØÓ¦´ð->É豸±àºÅ:" + data.getDeviceId() + "\t¼ÌµçÆ÷±àºÅ:" + data.getRelayId() + "\tÖ´Ðнá¹û:"
|
+ data.getStatus());
|
}
|
|
@Override
|
public void receiveStoreData(StoreData data) {// ÒÑ´æ´¢Êý¾Ý½ÓÊÕ´¦Àí
|
// ±éÀú½ÚµãÊý¾Ý¡£Êý¾Ý°üÀ¨ÍøÂçÉ豸µÄÊý¾ÝÒÔ¼°¸÷¸ö½ÚµãÊý¾Ý¡£ÎÂʪ¶ÈÊý¾Ý´æ·ÅÔÚ½ÚµãÊý¾ÝÖÐ
|
if(data.getNodeList().size()>0) {
|
for (NodeData nd : data.getNodeList()) {
|
/*SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
|
String str = sdf.format(nd.getRecordTime());
|
System.out.println("´æ´¢Êý¾Ý->É豸µØÖ·:" + data.getDeviceId() + "\t½Úµã:" + nd.getNodeId() + "\tζÈ:"
|
+ nd.getTem() + "\tʪ¶È:" + nd.getHum() + "\t´æ´¢Ê±¼ä:" + str);*/
|
|
}
|
}
|
}
|
|
@Override
|
public void receiveRealtimeData(RealTimeData data) {// ʵʱÊý¾Ý½ÓÊÕ´¦Àí
|
// ±éÀú½ÚµãÊý¾Ý¡£Êý¾Ý°üÀ¨ÍøÂçÉ豸µÄÊý¾ÝÒÔ¼°¸÷¸ö½ÚµãÊý¾Ý¡£ÎÂʪ¶ÈÊý¾Ý´æ·ÅÔÚ½ÚµãÊý¾ÝÖÐ
|
for (NodeData nd : data.getNodeList()) {
|
/*System.out.println("ʵʱÊý¾Ý->É豸µØÖ·:" + data.getDeviceId() + "\t½Úµã:" + nd.getNodeId() + "\tζÈ:"
|
+ nd.getTem() + "\tʪ¶È:" + nd.getHum() + "\t¾¶È:" + data.getLng() + "\tγ¶È:" + data.getLat()
|
+ "\t×ø±êÀàÐÍ:" + data.getCoordinateType() + "\t¼ÌµçÆ÷״̬:" + data.getRelayStatus());
|
*/
|
//²åÈëʵʱÊý¾Ý
|
TmpHum_Task_SQL.replace_TmpHum_rt(GB_MysqlConnPool, nd,data.getDeviceId());
|
//²åÈëÀúÊ·Êý¾Ý
|
TmpHum_Task_SQL.insertTmpHum_history(GB_MysqlConnPool, nd,data.getDeviceId());
|
}
|
|
}
|
|
@Override
|
public void receiveLoginData(LoginData data) {// µÇ¼Êý¾Ý½ÓÊÕ´¦Àí
|
System.out.println("µÇ¼->É豸µØÖ·:" + data.getDeviceId());
|
|
}
|
|
@Override
|
public void receiveParamIds(ParamIdsData data) {
|
String str = "É豸²ÎÊý±àºÅÁбí->É豸±àºÅ£º" + data.getDeviceId() + "\t²ÎÊý×ÜÊýÁ¿£º" + data.getTotalCount() + "\t±¾Ö¡²ÎÊýÊýÁ¿£º"
|
+ data.getCount() + "\r\n";
|
for (int paramId : data.getPararmIdList())// ±éÀúÉ豸ÖвÎÊýid±àºÅ
|
{
|
str += paramId + ",";
|
}
|
System.out.println(str);
|
|
}
|
|
@Override
|
public void receiveParam(ParamData data) {
|
String str = "É豸²ÎÊý->É豸±àºÅ£º" + data.getDeviceId() + "\r\n";
|
|
for (ParamItem pararm : data.getParameterList()) {
|
str += "²ÎÊý±àºÅ£º" + pararm.getParamId() + "\t²ÎÊýÃèÊö£º" + pararm.getDescription() + "\t²ÎÊýÖµ£º"
|
+ (pararm.getValueDescription() == null ? pararm.getValue()
|
: pararm.getValueDescription().get(pararm.getValue()))
|
+ "\r\n";
|
}
|
System.out.println(str);
|
|
}
|
|
@Override
|
public void receiveWriteParamAck(WriteParamAck data) {
|
String str = "ÏÂÔØÉ豸²ÎÊý->É豸±àºÅ£º" + data.getDeviceId() + "\t²ÎÊýÊýÁ¿£º" + data.getCount() + "\t"
|
+ (data.isSuccess() ? "ÏÂÔØ³É¹¦" : "ÏÂÔØÊ§°Ü");
|
System.out.println(str);
|
|
}
|
|
@Override
|
public void receiveTransDataAck(TransDataAck data) {
|
String str = "Êý¾Ý͸´«->É豸±àºÅ£º" + data.getDeviceId() + "\tÏìÓ¦½á¹û£º" + data.getData() + "\r\n×Ö½ÚÊý£º"
|
+ data.getTransDataLen();
|
System.out.println(str);
|
|
}
|
});
|
try {
|
rsServer.start();
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
|
}
|
public static void checkingMySQLServerStart(){
|
int MysqlServer_Port = 3360;
|
System.out.println("IP£º"+m_AppConfig.getMysqlServerIp()+"port"+MysqlServer_Port);
|
//³õʼ»¯Á¬½Ó³ØÖеĸ÷ÖÖ²ÎÊýÐÅÏ¢ m_AppConfig.getMysqlServerIp()
|
GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 5);
|
while(true){
|
Connection conn = null;
|
try {
|
System.out.println(" ¿ªÊ¼¼ì²âÊý¾Ý¿âÁ¬½Ó "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
conn = GB_MysqlConnPool.getConn();
|
if(conn != null){
|
System.out.println("¼ì²âÊý¾Ý¿âÁ¬½Ó³É¹¦");
|
break;
|
}
|
} catch (Exception e) {
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException e1) {
|
e1.printStackTrace();
|
}
|
System.out.println(" MySQL_FBSDEV not Start ... ");
|
} finally {
|
if(conn != null) {
|
try {
|
conn.close();
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
}
|
}
|