如何 link javaFx 中的按钮到 rpi 上的 gpio 引脚
How to link buttons in javaFx to gpio pins on the rpi
我找到了一些代码,用于使用 intellij 访问 rpi 上的 gpio 引脚。
我还构建了一些简单的 javaFx 代码,一个带有 3 个按钮的简单 window。我想要这 3 个按钮打开引脚、关闭引脚和关机 window。我有我需要的所有代码我只是不知道如何把它们放在一起。两个都
代码自己工作。
我正在为植物构建一个灌溉系统,并且所有硬件都在工作,在第一个版本中,我只想使用简单的开关功能。
这是我的 javafx 代码,没有导入,非常简单。
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Title of Window");
button1 = new Button("Start");
button2 = new Button("Stop");
button3 = new Button("Exit");
button1.setOnAction(e -> ); // Start gpio
button2.setOnAction(e -> ); // Stop gpio
button3.setOnAction(e -> primaryStage.close());
StackPane layout = new StackPane();
layout.getChildren().add(button1);
button1.setTranslateX(0);
button1.setTranslateY(20);
layout.getChildren().add(button2);
button2.setTranslateX(50);
button2.setTranslateY(20);
layout.getChildren().add(button3);
button3.setTranslateX(108);
button3.setTranslateY(20);
Scene scene = new Scene(layout, 600, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
}
这就是我想要 link 按钮到 1 和 2 的方法。
public class gpio {
public static void main(String[] args) throws InterruptedException {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin =
gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, "MyLED", PinState.HIGH);
pin.setShutdownOptions(true, PinState.LOW);
// toggle the current state of gpio pin #01 (should turn on)
pin.toggle();
System.out.println("--> GPIO state should be: ON");
// toggle the current state of gpio pin #01 (should turn off)
pin.toggle();
System.out.println("--> GPIO state should be: OFF");
}
}
在此处找到代码 https://pi4j.com/1.2/example/control.html
这可能很容易解决,但对我来说是一个难题,所以我希望向 java 比我更有天赋的人学习,或者如果我可以指出有类似问题的人.
button2
也一样
button1.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin =
gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, "MyLED", PinState.HIGH);
pin.setShutdownOptions(true, PinState.LOW);
// toggle the current state of gpio pin #01 (should turn on)
pin.toggle();
System.out.println("--> GPIO state should be: ON");
}
});
PS :不要忘记必要的导入
我找到了一些代码,用于使用 intellij 访问 rpi 上的 gpio 引脚。 我还构建了一些简单的 javaFx 代码,一个带有 3 个按钮的简单 window。我想要这 3 个按钮打开引脚、关闭引脚和关机 window。我有我需要的所有代码我只是不知道如何把它们放在一起。两个都 代码自己工作。 我正在为植物构建一个灌溉系统,并且所有硬件都在工作,在第一个版本中,我只想使用简单的开关功能。
这是我的 javafx 代码,没有导入,非常简单。
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Title of Window");
button1 = new Button("Start");
button2 = new Button("Stop");
button3 = new Button("Exit");
button1.setOnAction(e -> ); // Start gpio
button2.setOnAction(e -> ); // Stop gpio
button3.setOnAction(e -> primaryStage.close());
StackPane layout = new StackPane();
layout.getChildren().add(button1);
button1.setTranslateX(0);
button1.setTranslateY(20);
layout.getChildren().add(button2);
button2.setTranslateX(50);
button2.setTranslateY(20);
layout.getChildren().add(button3);
button3.setTranslateX(108);
button3.setTranslateY(20);
Scene scene = new Scene(layout, 600, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
}
这就是我想要 link 按钮到 1 和 2 的方法。
public class gpio {
public static void main(String[] args) throws InterruptedException {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin =
gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, "MyLED", PinState.HIGH);
pin.setShutdownOptions(true, PinState.LOW);
// toggle the current state of gpio pin #01 (should turn on)
pin.toggle();
System.out.println("--> GPIO state should be: ON");
// toggle the current state of gpio pin #01 (should turn off)
pin.toggle();
System.out.println("--> GPIO state should be: OFF");
}
}
在此处找到代码 https://pi4j.com/1.2/example/control.html
这可能很容易解决,但对我来说是一个难题,所以我希望向 java 比我更有天赋的人学习,或者如果我可以指出有类似问题的人.
button2
也一样
button1.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin =
gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, "MyLED", PinState.HIGH);
pin.setShutdownOptions(true, PinState.LOW);
// toggle the current state of gpio pin #01 (should turn on)
pin.toggle();
System.out.println("--> GPIO state should be: ON");
}
});
PS :不要忘记必要的导入