Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sudo $(which groovysh)
- groovy.grape.Grape.grab(["groupId":"com.pi4j", "artifactId":"pi4j-core", "version":"1.0"]);
- com.pi4j.wiringpi.Gpio.wiringPiSetupGpio();
- com.pi4j.wiringpi.Gpio.pinMode(18, com.pi4j.wiringpi.Gpio.PWM_OUTPUT);
- com.pi4j.wiringpi.Gpio.pinMode(19, com.pi4j.wiringpi.Gpio.PWM_OUTPUT);
- com.pi4j.wiringpi.Gpio.pwmSetClock(384);
- com.pi4j.wiringpi.Gpio.pwmSetRange(1000);
- com.pi4j.wiringpi.Gpio.pwmSetMode(com.pi4j.wiringpi.Gpio.PWM_MODE_MS);
- set={l, r ->
- com.pi4j.wiringpi.Gpio.pwmWrite(18, l);
- com.pi4j.wiringpi.Gpio.pwmWrite(19, r);
- }
- s={ set(0, 0); }
- //set(90, 60); Thread.sleep(2100); s();
- //set(1, 1); Thread.sleep(2100); s();
- //set(60, 90); Thread.sleep(2100); s();
- //set(150, 150); Thread.sleep(2100); s();
- groovy.grape.Grape.grab(["groupId":"org.eclipse.jetty", "artifactId":"jetty-server", "version":"9.2.0.M1"])
- groovy.grape.Grape.grab(["groupId":"org.eclipse.jetty", "artifactId":"jetty-servlet", "version":"9.2.0.M1"])
- groovy.grape.Grape.grab(["groupId":"javax.servlet", "artifactId":"javax.servlet-api", "version":"3.0.1"])
- public class ClosureHandler extends org.eclipse.jetty.server.handler.AbstractHandler {
- private final groovy.lang.Closure closure;
- public ClosureHandler(groovy.lang.Closure closure) { this.closure = closure; }
- public void handle(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
- throws java.io.IOException, javax.servlet.ServletException {
- baseRequest.setHandled(true);
- closure.call(request, response, baseRequest, target);
- }
- }
- public class PathMappingHandlerProxy extends org.eclipse.jetty.server.handler.AbstractHandler {
- private final java.util.concurrent.ConcurrentHashMap<String, org.eclipse.jetty.server.Handler> handlersByPaths = new java.util.concurrent.ConcurrentHashMap<String, org.eclipse.jetty.server.Handler>();
- public void setHandler(String path, org.eclipse.jetty.server.Handler handler) { handlersByPaths.put(path, handler); }
- public org.eclipse.jetty.server.Handler getHandler(String path) { return handlersByPaths.get(path); }
- public void handle(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
- throws java.io.IOException, javax.servlet.ServletException {
- String path = (request.getContextPath()!=null?request.getContextPath():"")+(request.getServletPath()!=null?request.getServletPath():"")+(request.getPathInfo()!=null?request.getPathInfo():"");
- org.eclipse.jetty.server.Handler handler = handlersByPaths.get(path);
- if(handler!=null) {
- handler.handle(target, baseRequest, request, response);
- }
- }
- }
- hpx = new PathMappingHandlerProxy();
- server = new org.eclipse.jetty.server.Server(12345);
- server.setHandler(hpx); server.start();
- hpx.setHandler("/set", new ClosureHandler({request, response, baseRequest, target ->
- response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
- if(request.getParameter("l")!=null) { com.pi4j.wiringpi.Gpio.pwmWrite(18, Integer.parseInt(request.getParameter("l"))); }
- if(request.getParameter("r")!=null) { com.pi4j.wiringpi.Gpio.pwmWrite(19, Integer.parseInt(request.getParameter("r"))); }
- }));
- hpx.setHandler("/stop", new ClosureHandler({request, response, baseRequest, target ->
- response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
- com.pi4j.wiringpi.Gpio.pwmWrite(18, 0);
- com.pi4j.wiringpi.Gpio.pwmWrite(19, 0);
- }));
- hpx.setHandler("/", new ClosureHandler({ req, response, breq, t ->
- response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
- response.writer.write("""
- <html><head><script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
- <script>
- function set(l,r) {
- p = {};
- if(l || l===0) { p.l = l; }
- if(r || r===0) { p.r = r; }
- \$.ajax({ url: "/set", data: p });
- }
- </script>
- <style>
- span {
- border: solid 1px black;
- min-width: 80px;
- padding: 10px;
- margin: 10px;
- display: inline-block;
- text-align: center;
- }
- </style>
- </head>
- <body>
- <div>
- L:
- <span onclick="set(1)"><<<</span>
- <span onclick="set(65)"><<</span>
- <span onclick="set(70)"><</span>
- <span onclick="set(0)">STOP</span>
- <span onclick="set(80)">></span>
- <span onclick="set(85)">>></span>
- <span onclick="set(153)">>>></span>
- </div>
- <div>
- Both:
- <span onclick="set(1, 153)"><<<</span>
- <span onclick="set(65, 85)"><<</span>
- <span onclick="set(70, 80)"><</span>
- <span onclick="set(0, 0)">STOP</span>
- <span onclick="set(80, 70)">></span>
- <span onclick="set(85, 65)">>></span>
- <span onclick="set(153, 1)">>>></span>
- </div>
- <div>
- R:
- <span onclick="set(null, 153)"><<<</span>
- <span onclick="set(null, 85)"><<</span>
- <span onclick="set(null, 80)"><</span>
- <span onclick="set(null, 0)">STOP</span>
- <span onclick="set(null, 70)">></span>
- <span onclick="set(null, 65)">>></span>
- <span onclick="set(null, 1)">>>></span>
- </div>
- </body></html>""");
- }));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement