作为代码和 python 的新手,我很难在 Motioneye 监控软件中集成按钮来控制 Pimoroni 平移倾斜帽。我找到了 adafruit PCA9685 伺服控制器的代码,当按下按钮时会调用一个 bash 脚本。然后,bash 脚本将调用一个 python 脚本,只要按下按钮,它就会连续平移或倾斜伺服,这是我想做的事情。不幸的是,我不知道要改变什么才能使它与 Pimoroni 伺服系统一起工作。
Motioneye https://github.com/ccrisan/motioneye/wiki
吊带帽 https://shop.pimoroni.com/products/pan-tilt-hat
使用 adafruit PCA9685 伺服控制器控制运动眼中的平移倾斜的脚本 https://github.com/luetzel/motion_eye_servo_action
我试图更改代码中的 GPIO 引脚,并将 pantilthat 导入代码中。但是,这似乎不起作用。那会让我
Remote I/O error
下面是一个向下倾斜的示例代码。这同样适用于 Adafruit PCA9685 驱动程序。
如果有人可以帮助我使用 pimoroni 进行这项工作,或者为我指明正确的方向,我将不胜感激!
亲切的问候基尔斯特
#!/usr/bin/env python
from __future__ import division
import time
# Import the PCA9685 module.
import Adafruit_PCA9685
import RPi.GPIO as GPIO
import pantilthat
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# power-up servo controller
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, 0)
time.sleep(.5)
# Initialise the PCA9685 using the default address (0x40).
pwm = Adafruit_PCA9685.PCA9685()
# Configure min and max servo pulse lengths (450 total, 25 corresponds to 10 degrees)
servo_min = 225 # Min pulse length out of 4096
servo_max = 725 # Max pulse length out of 4096
with open('/etc/motioneye/vert_pos', 'r') as f:
vert_pos = int(f.readline())
print vert_pos
f.close()
# Set frequency to 60hz, good for servos.
pwm.set_pwm_freq(60)
if ( vert_pos != servo_max ):
vert_pos += 25
pwm.set_pwm(0, 0, vert_pos)
with open('/etc/motioneye/vert_pos', 'w') as f:
f.write(str(vert_pos))
f.close()
# power-up servo controller
time.sleep(.5)`
GPIO.output(18, 1)
raise SystemExit```