如何将javaFx中的按钮链接到rpi上的gpio引脚

时间:2019-06-27 09:44:39

标签: javafx raspberry-pi gpio

我有som代码,可以通过intellij访问rpi上的gpio引脚。 我还构建了一些简单的javaFx代码,一个带有3个按钮的简单窗口。我希望这3个按钮可以打开,关闭和关闭窗口。我有我需要的所有代码,我只是不知道如何将其放在一起。都  代码可以独立工作。 我正在为植物构建一个冲洗系统,并且所有硬件都在工作。在第一个版本中,我只想使用简单的on off功能。

这是我的javafx代码,没有导入,非常简单。

<rpc-reply>
    <configuration>
            <system>
                <preference>
                    <events>a</events>
                    <events>b</events>                    
                </preference>
            </system>
    </configuration>
</rpc-reply>

这是我想将按钮链接到1和2的方法。

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();
}
}

在这里找到代码https://pi4j.com/1.2/example/control.html

这可能很容易解决,但是对我来说很难破解,所以我希望向比我更有天赋的人学习,或者如果我可以指出类似问题的人。

1 个答案:

答案 0 :(得分:0)

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 :不要忘记必要的导入