Archive

Archive for the ‘Java’ Category

Java Code: Connect and dial using Serial port

April 14, 2008 1 comment

/*
* @(#)SimpleWrite.java 1.12 98/06/25 SMI
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
* Sun grants you (“Licensee”) a non-exclusive, royalty free, license
* to use, modify and redistribute this software in source and binary
* code form, provided that i) this copyright notice and license appear
* on all copies of the software; and ii) Licensee does not utilize the
* software in a manner which is disparaging to Sun.
*
* This software is provided “AS IS,” without a warranty of any kind.
* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND
* ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
* LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE
* SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS
* BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
* HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING
* OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*
* This software is not designed or intended for use in on-line control
* of aircraft, air traffic, aircraft navigation or aircraft
* communications; or in the design, construction, operation or
* maintenance of any nuclear facility. Licensee represents and
* warrants that it will not use or redistribute the Software for such
* purposes.
*/
import java.io.*;
import java.util.*;
import javax.comm.*;

/**
* Class declaration
*
*
* @author
* @version 1.10, 08/04/00
*/
public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = “ATDA +923455935526;\r\n”;
static SerialPort serialPort;
static OutputStream outputStream;
static boolean outputBufferEmptyFlag = false;
/**
* Method declaration
*
*
* @param args
*
* @see
*/
public static void main(String[] args) {
boolean portFound = false;
//String defaultPort = “/dev/term/a”;
String defaultPort = “COM5”;

if (args.length > 0) {
defaultPort = args[0];
}

portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

if (portId.getName().equals(defaultPort)) {
System.out.println(“Found port ” + defaultPort);

portFound = true;

try {
serialPort =
(SerialPort) portId.open(“SimpleWrite”, 2000);
} catch (PortInUseException e) {
System.out.println(“Port in use.”);

continue;
}

try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}

try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}

try {
serialPort.notifyOnOutputEmpty(true);
} catch (Exception e) {
System.out.println(“Error setting event notification”);
System.out.println(e.toString());
System.exit(-1);
}
System.out.println( “\nWriting ” + messageString + ” to “+ serialPort.getName());
try {
outputStream.write(messageString.getBytes());
} catch (IOException e) {}

try {
Thread.sleep(2000); // Be sure data is xferred before closing
} catch (Exception e) {}
serialPort.close();
System.exit(1);
}
}
}

if (!portFound) {
System.out.println(“port ” + defaultPort + ” not found.”);
}
}

}

Advertisements
Categories: Java, OS: Windows, SMS Gateway

The Java Communications API

Installing the Java Communications API in a Windows Environment

There are some tricks involved in getting the Java Communications API to correctly interact with the Windows system. Among the items that you download from Sun are three very important files:
1- comm.jar
2- win32com.dll
3- javax.comm.properties

For the JVM to recognize the serial ports, proper placement of these files is important. I’ve read lot’s of messages on the boards, tried various ways of placing these files in a Windows system, and have found the following installation methods to be effective:

comm.jar should be placed in:
%JAVA_HOME%/lib

%JAVA_HOME%/jre/lib/ext

win32com.dll should be placed in:
%JAVA_HOME%/bin

%JAVA_HOME%/jre/bin

%windir%System32

javax.comm.properties should be placed in:
%JAVA_HOME%/lib

%JAVA_HOME%/jre/lib

Once you’ve done this, compile and execute one of the sample programs provided by Sun to ensure that you’ve properly installed everything.

Running Example:

http://dn.codegear.com/article/31915

Categories: Java
%d bloggers like this: