用Java控制小电灯-树莓派PI4J

请关注我的B站账号https://space.bilibili.com/309103931分享更多PHP姿势

需要准备的东西

树莓派(我使用的是最新的树莓派4B),几根杜邦线以及一块普通开发板或者洞洞板,没有开发板和洞洞板的可以使用电阻和LED灯

在树莓派里面安装所需要软件

1.安装JDK,我买的树莓派里面默认装了JDK11,如果你想换成其他的可以重装

2.安装PI4J

curl -s get.pi4j.com | sudo bash

PI4J项目旨在为Java程序员提供一个友好的面向对象的I/O API和实现库,以访问Raspberry PI平台的全部I/O功能。该项目抽象了低级别的本机集成和中断监视,以使Java程序员能够专注于实现他们的应用程序业务逻辑。

官网:点击进入PI4J官网

3.安装WiringPi

##如果在你的平台上还没有安装GIT工具,可以输入以下命令:
sudo apt-get install git-core
##如果在这个过程中出现错误,尝试更新软件,例如输入以下指令:
sudo apt-get update
sudo apt-get upgrade
##紧接着可以通过GIT获得wiringPi的源代码
git clone git://git.drogon.net/wiringPi
##若需要更新wiringPi
cd wiringPi
git pull origin
##进入wiringPi目录并安装wiringPi
cd wiringPi
./build
##build脚本会帮助你编译和安装wiringPi

##测试
gpio readall

注意版本,我的版本是2.5.2的

4.在项目里面添加PI4J包

<dependency>
    <groupId>com.pi4j</groupId>
    <artifactId>pi4j-core</artifactId>
    <version>1.1</version>
</dependency>

或者把PI4J的lib目录下的jar文件拷入你的项目然后把他们变成小奶瓶(eclipse  Properties  ->java build path  -> Libraries  ->Add External jas )

编写代码



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 GPIODemo {

	public static void main(String[] args) throws InterruptedException {
		//GPIO控制器接口。此接口描述了通过GPIO进行的所有操作
		final GpioController gpio = GpioFactory.getInstance();
		//gpio数字输出
		final GpioPinDigitalOutput led = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, "led", PinState.LOW);
		
		//设置小灯低电平
		led.low();
		
		if(led.isLow()) {
			System.out.println("小灯亮");
		}
		
		//延时
		Thread.sleep(1000);
		
		//设置小灯高电平
		led.high();
		
		if(led.isHigh()) {
			System.out.println("小灯灭");
		}
		
	}
	
}

接线

此时我接的是GPIO00,查询树莓派40PIN图所知在左边9角的位置,然后小灯怎么接就是你们是事情咯,吼吼吼

rpi-pins-40-0

运行

然后我们通过开发工具打包成jar文件,发到树莓派上面,然后敲入

java -jar xxx.jar

就可以看到运行效果了

发送工具我用的xshell,你们习惯用哪个上传就用哪个上传,我才不管呢,略略略

原文地址:https://www.cnblogs.com/kawayidamiao/p/13843774.html