Pi4J некорректно работает с PI5 в Java проекте
-
Вот скрипт на Python который успешно включает/выключает реле
import RPi.GPIO as GPIO import time channel = 27 GPIO.setmode(GPIO.BCM) GPIO.setup(channel, GPIO.OUT) def motor_on(pin): GPIO.output(pin, GPIO.HIGH) def motor_off(pin): GPIO.output(pin, GPIO.LOW) if __name__ == '__main__': try: motor_on(channel) time.sleep(1) motor_off(channel) time.sleep(1) GPIO.cleanup() except KeyboardInterrupt: GPIO.cleanup()
Вот аналогичный java код, но при его исполнении реле включается и намертво зависает во включенном положении. Невозможно снять сигнал в 27 пина (и любого другого)
import com.pi4j.context.Context; import com.pi4j.Pi4J; import com.pi4j.io.gpio.digital.DigitalOutput; import com.pi4j.io.gpio.digital.DigitalOutputConfig; import com.pi4j.io.gpio.digital.DigitalState; public class Main { public static void main(String[] args) throws InterruptedException { Context pi4j = Pi4J.newAutoContext(); DigitalOutputConfig config = DigitalOutput.newConfigBuilder(pi4j) .id("LED") .name("Simple LED Control") .address(27) .shutdown(DigitalState.LOW) .initial(DigitalState.LOW) .build(); DigitalOutput led = pi4j.create(config); led.state(DigitalState.HIGH); Thread.sleep(1000); led.state(DigitalState.LOW); pi4j.shutdown(); } }
Какие есть соображения на этот счет?