MINA2官方教程翻译(7)传输特性之串口

使用MINA2.0,你可以像编写基于TCP/IP的程序那样编写基于串口的程序。

 

获得MINA2.0

MINA 2.0的最终版本还没有release,但是你可以下载最新的版本。如果你希望从trunk构建代码,可以参考开发者指南。

 

前提

在访问串口之前,Java应用程序需要一个native库。MINA使用ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip,请把它放到你的JDK或JRE的lib/i386/下,并在程序启动的命令行中加入-Djava.library.path=来指定你的native库的位置。

 

连接到串口

串口通讯通过IoConnector来实现,这是有通讯媒介的点对点特性来决定的。我们假定你已经通过MINA的教程了解到了IoConnector的相关知识。连接到串口需要SerialConnector:

// create your connector
IoConnector connector = new SerialConnector()
connector.setHandler( ... here your buisness logic IoHandler ... );

与SocketConnector,并没有什么不同。让我们创建一个地址来连接串口:

SerialAddress portAddress=new SerialAddress( "/dev/ttyS0", 38400, 8, StopBits.BITS_1, Parity.NONE, FlowControl.NONE );

 第一个参数代表串口的标识符。对于Windows系统,串口一般叫做"COM1"、"COM2"以此类推,对于Linux或者一些Unix系统,通常由"/dev/ttyS0"、"/dev/ttyS1"、"/dev/ttyUSB0"来表示。

剩下的参数取决于你的硬件设备的连接特性。

  • 波特率
  • 数据位数
  • 奇偶校验
  • 流控制机制

当这些都具备,就可以连接到该地址:

ConnectFuture future = connector.connect( portAddress );
future.await();
IoSession sessin = future.getSession();

 其他的事情和使用TCP协议等一样,你可以加入你的filters和codecs。

 

 

你可能感兴趣的:(jdk,linux,windows,unix,Mina)