Package com.qubecad.pi.berrypiws

Source Code of com.qubecad.pi.berrypiws.BerryPiWS

package com.qubecad.pi.berrypiws;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

/**
* Servlet class BerryPiWS to Control the Berry Clip for the raspberry Pi
* available from http://www.raspberrypi-spy.co.uk/
*/

public class BerryPiWS extends HttpServlet {
  private static final long serialVersionUID = 1L;
  GpioController gpio;
  GpioPinDigitalOutput pina;
  GpioPinDigitalOutput pinb;
  GpioPinDigitalOutput pinc;
  GpioPinDigitalOutput pind;
  GpioPinDigitalOutput pine;
  GpioPinDigitalOutput pinf;

  /**
   * Default constructor.
   */
  public BerryPiWS() {

    GpioController gpio = GpioFactory.getInstance();

    // Set up the pins and set low to start
    System.out.println("Setting up GPIO Pins for output");
    pina = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, "Pin A",
        PinState.LOW);
    pinb = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, "Pin B",
        PinState.LOW);
    pinc = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_03, "Pin C",
        PinState.LOW);
    pind = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_12, "Pin D",
        PinState.LOW);
    pine = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_13, "Pin E",
        PinState.LOW);
    pinf = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_14, "Pin F",
        PinState.LOW);

  }


  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
   *      response)
   */
  protected void doPost(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    // get the number of the LED to turn on and print to console
    String action = request.getParameter("action");
    System.out.println("action=" + request.getParameter("action"));

    try {

      // activate the request light, pause and reset.
      if (action.equals("1")) {
        System.out.println("A high");
        pina.high();
        Thread.sleep(1000);
        pina.low();

      } else if (action.equals("2")) {
        System.out.println("B high");
        pinb.high();
        Thread.sleep(1000);
        pinb.low();

      } else if (action.equals("3")) {
        System.out.println("C high");
        pinc.high();
        Thread.sleep(1000);
        pinc.low();

      } else if (action.equals("4")) {
        System.out.println("D high");
        pind.high();
        Thread.sleep(1000);
        pind.low();

      } else if (action.equals("5")) {
        System.out.println("E high");
        pine.high();
        Thread.sleep(1000);
        pine.low();

      } else if (action.equals("6")) {
        System.out.println("F high");
        pinf.high();
        Thread.sleep(1000);
        pinf.low();

      }

    } catch (InterruptedException e) {

      System.out.print("Exception ");
    }

    // display the LED select form on the return page

    PrintWriter out = response.getWriter();

    String pagehtml = "<html><body>";

    // if there was a valid LED number display a message

    if ("123456".contains(action)) {
      pagehtml = pagehtml + "<br>LED number " + action + " selected<br>";

    }
    String pagehtmlform = "<form action='./BerryPiWS' method='POST'><input type='text' name='action'/><input type='submit' value='Send'></form></body></html>";
    out.println(pagehtml + pagehtmlform);

  }

}
TOP

Related Classes of com.qubecad.pi.berrypiws.BerryPiWS

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.