快乐新年每个人。
英语不是我的母语所以请耐心等待。
当我使用limit switch和GPIO引脚打开案例时,我尝试使用Raspberry Pi 2(型号B)来提醒我。 (这不是Raspberry SE问题)
此时我在使用控制台中的pi4j examples(ListenGPIOExample.java)后,面对GPIO引脚的问题,我试图在网络应用中执行此操作;我使用Apache Tomcat 7(作为root)和一个在netbeans中开发的非常简单的JSP 页面来关闭/打开一个led。我的代码如下:
<%@page import="com.pi4j.io.gpio.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="RPI.GPIO"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="POST">
<input type="submit" name="button" value="Button 1" />
<%
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, "MyLED", PinState.LOW);
if (request.getParameter("button") != null) {
try{
out.println("NO Error");
pin.toggle();
Thread.sleep(500);
pin.setShutdownOptions(true, PinState.LOW, PinPullResistance.OFF);
//gpio.shutdown();
//gpio.unprovisionPin(pin);
}
catch(Exception ex){
out.println("Error");
}
} else {}
%>
</form>
</body>
</html>
如果我按下按钮,它会改变引脚状态,但每当我尝试得到相同的错误时,HTTP 500 - com.pi4j.io.gpio.exception.GpioPinExistsException: This GPIO pin already exists: GPIO 0
。尝试使用几个引脚,同样的错误。
正如您在代码中看到的那样,取消提供和关闭都会被评论,因为在here和here中发布的解决方案对我无效。
提前感谢您的帮助。