2) 安装Pi4j
打开树莓派的控制台输入下面的命令下载Pi4j文件:
wget http://pi4j.googlecode.com/files/pi4j-0.0.5.deb
(如果你已经安装了Pi4j的其他版本,请先执行如下命令将其卸载掉:sudo dpkg -r pi4j)
下载完成后使用下面的命令安装:
sudo dpkg -i pi4j-0.0.5.deb
安装Pi4j库和示例文件:
/opt/pi4j/lib
/opt/pi4j/examples
到这里就已经安装完成了,如果想要卸载Pi4j执行如下命令:
sudo dpkg -r pi4j
3) Pi4j程序的编译与运行示例
要想编译使用Pi4j的程序必须指明其包的路径比如说我在home/pi/code/java/下编写了一个叫Test.java的程序,应该执行如下命令:
首先进入到程序的目录:
cd code/java
编译:
javac -classpath .:classes:/opt/pi4j/lib/'*' -d . Test.java
运行:
sudo java -classpath .:classes:/opt/pi4j/lib/'*' Test
GPIO引脚定义图
5、控制继电器
在home/pi/code/java/下新建java程序Test.java,功能就是让继电器每隔一秒就切换一下状态:
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;
public class Test {
public static void main(String[] args) throws InterruptedException {
// 创建一个GPIO控制器
final GpioController gpio = GpioFactory.getInstance();
// 获取1号GPIO针脚并设置高电平状态,对应的是树莓派上的12号针脚,可以参考pi4j提供的图片。
final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "LED", PinState.HIGH);
while(true){
//设置高电平
pin.high();
System.out.println("打开继电器");
//睡眠1秒
Thread.sleep(1000);
//设置低电平
pin.low();
System.out.println("关闭继电器");
Thread.sleep(1000);
//切换状态
//pin.toggle();
}
}
}