2016-12-26 44 views
0

在一個項目中,一個NOIR pi相機並通過java和eclipse工作。當相機開始預覽時需要打開IR-LED。所以在新班級中使用pi4j來打開和關閉LED。但是當在相機面板的源代碼中將其稱爲pi4j類時,則相機未啓動。這是什麼問題raspbbery pi pi4j無法通過v4l2(相機驅動程序)

pi4j類:

import com.pi4j.io.gpio.*; 

public class gpio_prg { 

     private static GpioPinDigitalOutput pin; 
     private GpioController gpio; 

    public void out(int bcmn, boolean state){ 
     System.out.println("gpio controler"); 
       gpio = GpioFactory.getInstance(); 
     if(bcmn == 29){ 
         if(state){ 
          System.out.println("gpio pin"); 
          pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_29, "MyLED", PinState.HIGH); 
           pin.setShutdownOptions(true, PinState.LOW); 
           System.out.println("--> GPIO NOIR LED state should be: ON"); 
         }else{ 
           pin.low(); 
           System.out.println("--> GPIO NOIR LED state should be: OFF"); 
         } 
       } 
     } 

錯誤:

wiringPiSetup: Must be root. (Did you forget sudo?) 

回答

0

問題與Python源解決:

改變Java類:

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class gpio_prg { 
    public void out() throws IOException, InterruptedException{ 
     String command = "python /home/pi/noirLedControl.py"; 
     Process proc = Runtime.getRuntime().exec(command); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
     System.out.print("led status = "); 
     System.out.println(reader.readLine()); 
     proc.waitFor(); 
     } 
} 

noirLedControl.py

import RPi.GPIO as GPIO 

f = open('ledstatus', 'r') 
s = 3 
s = f.read() 
f.close() 
GPIO.setwarnings(False) 
GPIO.setmode(GPIO.BCM) 
GPIO.setup(21, GPIO.OUT) 
if(s == '0'): 
    GPIO.output(21, GPIO.LOW) 
    print "off" 
    s = 1 
else: 
    GPIO.output(21, GPIO.HIGH) 
    print "on" 
    s = 0 

f = open('ledstatus', 'w') 
f.write(str(s)) 
f.close() 

所以現在的問題是關於Java類的回報reader.readline()空。並導致開機和關機無效,但目前在終端運行python /home/pi/noirLedControl.py。 我的java庫版本是「1.8.0_122-ea」,所以我通過兩個java SE 1.8和1.7運行我的項目,問題沒有解決。和os是debian 8 每個人都知道什麼是問題?

相關問題