我在运行以下代码时遇到NameError: name 'process_button16' is not defined
错误。在
它也能在不按按钮的情况下打开LED灯…这不应该这样。。。在
我试图使用appdaemon中的应用程序实现按钮按下操作Home Assistant。我以前是开发人员,但不是python,所以我在这里撞着键盘。。。。任何帮助都将不胜感激。在
import appdaemon.appapi as appapi
from gpiozero import Button
import RPi.GPIO as GPIO
global button
BUTTON_PIN = 16
button = None
class ButtonSense(appapi.AppDaemon):
GPIO.output(17,GPIO.LOW)
GPIO.output(27,GPIO.LOW)
def initialize(self):
self.log("------- Hello -------")
button = Button(BUTTON_PIN)
button.when_pressed = process_button16()
def process_button16():
GPIO.output(17,GPIO.HIGH)
GPIO.output(27,GPIO.HIGH)
self.log("------- Pressed -------")
将
button.when_pressed = process_button16()
替换为button.when_pressed = self.process_button16()
,因为您已经将process_button16()
定义为类ButtonSense
的私有函数。在button.when_pressed = process_button16()
试图将一个名为process_button16()
的全局函数分配给button.when_pressed
,由于您没有定义任何这样的全局函数,它会抛出错误名称错误:名称“process_button16”未定义相关问题 更多 >
编程相关推荐