Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
K

Kvazarrius

@Kvazarrius
Сводка
Сообщения
4
Темы
2
Группы
0
Подписчики
0
Подписки
0

Сообщения

Последние Лучшие сообщения Спорные

  • Pi4J некорректно работает с PI5 в Java проекте
    K Kvazarrius

    @Чёрный-Лукич изначально я использовал версию 2.7.0
    даунгрейд до 2.6.0, 2.5.0. ожидаемо, не помог

        implementation ("com.pi4j:pi4j-core:2.6.0")
        implementation ("com.pi4j:pi4j-plugin-raspberrypi:2.6.0")
        implementation ("com.pi4j:pi4j-plugin-gpiod:2.6.0")
    

  • Pi4J некорректно работает с PI5 в Java проекте
    K Kvazarrius

    @Чёрный-Лукич
    Raspberry Pi 5 8GB
    Процессор Broadcom BCM2712
    ОС стоит ихняя
    думал дело в реле - перебрал весь возможный код, в.т.ч. с оффициального сайта Pi4J https://www.pi4j.com/documentation/io-examples/digital-output/
    результат один
    Потом нашел питоновский скрипт - работает как часы


  • Pi4J некорректно работает с PI5 в Java проекте
    K Kvazarrius

    Вот скрипт на 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();
        }
    }
    

    Какие есть соображения на этот счет?


  • Pi4J некорректно работает с PI5 в Java проекте
    K Kvazarrius

    Вот скрипт на 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();
        }
    }
    

    Какие есть соображения на этот счет?

  • 1 / 1
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи