1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
public class Main
{
public static void main(String[] args)
{
KNXNetworkLinkIP netLinkIp = null;
try
{
System.out.println( );
//Cree un lien nouveau reseau base sur le protocole KNX/IP, en utilisant un KNXnetIPConnection.
//KNXnetIPConnection : Interface pour travailler avec les réseaux KNX via une connexion réseau IP.
//L'échange de données (envoi et réception) se fait à travers des messages de CEMI.
//Les événements asynchrones ou entrant sont relayés vers les listener enregistrés.
//Mode de fonctionnement ici en tunnel.
netLinkIp = new KNXNetworkLinkIP( KNXNetworkLinkIP.TUNNEL,
//Adresse IP de l'ordinateur local.
new InetSocketAddress(InetAddress.getByName(" IP Local "), 0),
//Adresse IP de l'ordinateur distant.
new InetSocketAddress(InetAddress.getByName("IP Distante "),KNXnetIPConnection.IP_PORT),
//Boolean useNAT
false,
//Fournit les paramètres nécessaires à la communication sur les TP (paire torsadée) à moyen terme.
//Ce type est utilisé pour les réglages médium paire torsadée TP0 (false) et TP1 (true).
new TPSettings(false));
System.out.println("*** Connected ***");
//Fournit un processus de communication avec un réseau KNX.
ProcessCommunicator pc = new ProcessCommunicatorImpl(netLinkIp);
//Ajoute un Listener sur netLinkIP
netLinkIp.addLinkListener(
new NetworkLinkListener( )
{
@Override public void confirmation(FrameEvent arg0)
{
}
@Override public void indication(FrameEvent arg0)
{
//Execute a chaque reception de trame KNX
System.out.println("srcadress " + arg0.getSource( ));
System.out.println(arg0.getSource( ).getClass( ));
System.out.println("targetadress " + ((tuwien.auto.calimero.cemi.CEMILData)arg0.getFrame( )).getDestination( ));
System.out.println("PayLoad : " + ((tuwien.auto.calimero.cemi.CEMILData)arg0.getFrame( )).getPayload( ) );
}
@Override public void linkClosed(CloseEvent arg0)
{
}
});
try
{
Thread.sleep(100000);
}
catch (InterruptedException e)
{
e.printStackTrace( );
}
netLinkIp.close( );
}
catch (KNXLinkClosedException e)
{
e.printStackTrace( );
}
catch (KNXFormatException e)
{
e.printStackTrace( );
}
catch (KNXException e)
{
e.printStackTrace( );
}
catch (UnknownHostException e)
{
e.printStackTrace( );
}
finally
{
if (netLinkIp != null)
{
netLinkIp.close( ); System.out.println("Connexion closed");
}
}
}
} |
Partager