我正在使用Raspberry Pi(B型),在Tomcat7上运行一个java web应用程序。我使用 "Jersey "java框架与Pi4J合作,来控制Pi上的GPIO.最终目的是控制一个继电器开关,但我不会去讨论这个。
当我尝试访问web服务时,它抛出了一个tomcat错误(如下图所示)。
我使用了构建工具Maven来创建Web应用,这使得导入库变得非常容易。谁能注意到我的简单代码让下面的gpio "闪烁 "有什么问题吗?我可以确认我的球衣设置是正确的,因为当Pi4J不参与时,它可以工作。
网络服务类 (暂且忽略XMLService这个名字)
@Path("")
public class XMLService {
GPIORelay gpio = new GPIORelay();
@Path("/blinktest")
@GET
public String blinkTest(){
try{
gpio.blink();
return "successful";
}
catch(Exception e){
return "failed";
}
}
GPIORelay类
public class GPIORelay {
GpioController gpio;
GpioPinDigitalOutput pin;
String currentStatus;
public GPIORelay(){
gpio = GpioFactory.getInstance();
pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, "Pin 17", PinState.LOW);
}
public void blink(){
try{
pin.high();
Thread.sleep(1000);
pin.low();
gpio.unprovisionPin(pin);
}
catch(InterruptedException e){
System.out.print("Exception ");
}
}
}
做了一些初步的阅读,可能是因为我需要在Raspberry pi本身上另外安装pi4J库,也可能是需要配置java.library.path,但我还是觉得不清楚。如果有哪位曾经使用过Pi4J的人帮助我,那就太好了!
谢谢。