예제 #1
0
  public static void main(String args[]) throws InterruptedException {

    // !! ATTENTION !!
    // By default, the serial port is configured as a console port
    // for interacting with the Linux OS shell.  If you want to use
    // the serial port in a software program, you must disable the
    // OS from using this port.  Please see this blog article by
    // Clayton Smith for step-by-step instructions on how to disable
    // the OS console for this port:
    // http://www.irrational.net/2012/04/19/using-the-raspberry-pis-serial-port/

    System.out.println("<--Pi4J--> Serial Communication Example ... started.");
    System.out.println(" ... connect using settings: 38400, N, 8, 1.");
    System.out.println(" ... data received on serial port should be displayed below.");

    // create an instance of the serial communications class
    final Serial serial = SerialFactory.createInstance();

    // create and register the serial data listener
    serial.addListener(
        new SerialDataListener() {
          @Override
          public void dataReceived(SerialDataEvent event) {
            // print out the data received to the console
            System.out.print(event.getData());
          }
        });

    try {
      // open the default serial port provided on the GPIO header
      serial.open(Serial.DEFAULT_COM_PORT, 38400);

      // continuous loop to keep the program running until the user terminates the program
      for (; ; ) {
        try {
          // write a formatted string to the serial transmit buffer
          serial.write("CURRENT TIME: %s", new Date().toString());

          // write a individual bytes to the serial transmit buffer
          serial.write((byte) 13);
          serial.write((byte) 10);

          // write a simple string to the serial transmit buffer
          serial.write("Second Line");

          // write a individual characters to the serial transmit buffer
          serial.write('\r');
          serial.write('\n');

          // write a string terminating with CR+LF to the serial transmit buffer
          serial.writeln("Third Line");
        } catch (IllegalStateException ex) {
          ex.printStackTrace();
        }

        // wait 1 second before continuing
        Thread.sleep(1000);
      }

    } catch (SerialPortException ex) {
      System.out.println(" ==>> SERIAL SETUP FAILED : " + ex.getMessage());
      return;
    }
  }
예제 #2
0
  public Serial getSerialConnection(String port, int baudRate) {
    serial = SerialFactory.createInstance();
    serial.open(port, baudRate);

    return serial;
  }