Raspberry Pi 相机 GPIO...关闭导致错误的语句
Raspberry Pi camera GPIO...close statement causing error
我不太熟悉 Pi 上的 GPIO 编程,但我是在看了一些关于 GPIO 库和 picamera 的教程后写下这篇文章的。我有一个连接到引脚 4 和接地的按钮,按下时应该启动相机,拍照,然后关闭相机。我下面的代码拍了一张照片,但不断调用关闭函数。我不太明白为什么。
import picamera
import RPi.GPIO as GPIO
import datetime
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)
class OpenCamera:
def __init__(self):
self.camera = picamera.PiCamera()
def setres(self):
self.camera.resolution = (640, 480)
self.camera.brightness = 50
self.camera.sharpness = 10
def takepic(self):
currenttime = time.localtime()
day = time.strftime('%m-%d-%Y', currenttime)
exacttime = time.strftime('%H:%M:%S', currenttime)
self.camera.capture(day + exacttime + '.jpg')
def close(self):
self.close()
while True:
inputstate = GPIO.input(4)
if inputstate == False:
startcam = OpenCamera()
startcam.setres()
time.sleep(4)
print('5 4 3 2...cheese!')
startcam.takepic()
startcam.close()
我从这里得到了一些代码:http://makezine.com/projects/tutorial-raspberry-pi-gpio-pins-and-python/
如果我删除 close() 那么我 运行 资源不足...我尝试执行 "event detect" 但我仍然遇到上述相同的问题。
这些行调用 close() 函数本身,因此会导致无限调用。
def close(self):
self.close()
您可能想改为调用 self.camera.close()
?
我不太熟悉 Pi 上的 GPIO 编程,但我是在看了一些关于 GPIO 库和 picamera 的教程后写下这篇文章的。我有一个连接到引脚 4 和接地的按钮,按下时应该启动相机,拍照,然后关闭相机。我下面的代码拍了一张照片,但不断调用关闭函数。我不太明白为什么。
import picamera
import RPi.GPIO as GPIO
import datetime
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)
class OpenCamera:
def __init__(self):
self.camera = picamera.PiCamera()
def setres(self):
self.camera.resolution = (640, 480)
self.camera.brightness = 50
self.camera.sharpness = 10
def takepic(self):
currenttime = time.localtime()
day = time.strftime('%m-%d-%Y', currenttime)
exacttime = time.strftime('%H:%M:%S', currenttime)
self.camera.capture(day + exacttime + '.jpg')
def close(self):
self.close()
while True:
inputstate = GPIO.input(4)
if inputstate == False:
startcam = OpenCamera()
startcam.setres()
time.sleep(4)
print('5 4 3 2...cheese!')
startcam.takepic()
startcam.close()
我从这里得到了一些代码:http://makezine.com/projects/tutorial-raspberry-pi-gpio-pins-and-python/
如果我删除 close() 那么我 运行 资源不足...我尝试执行 "event detect" 但我仍然遇到上述相同的问题。
这些行调用 close() 函数本身,因此会导致无限调用。
def close(self):
self.close()
您可能想改为调用 self.camera.close()
?