NameError: name 'process_button16' is not defined
NameError: name 'process_button16' is not defined
当 运行 以下代码时,我收到 NameError: name 'process_button16' is not defined
错误。
它也可以在不按下按钮的情况下打开 LED……不应该那样做……
我正在尝试使用 appdaemon for 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()
定义为 class ButtonSense
.
的私有函数
button.when_pressed = process_button16()
尝试将名为 process_button16()
的全局函数分配给 button.when_pressed
,并且由于您尚未定义任何此类 global 函数,它抛出错误 NameError: name 'process_button16' is not defined
当 运行 以下代码时,我收到 NameError: name 'process_button16' is not defined
错误。
它也可以在不按下按钮的情况下打开 LED……不应该那样做……
我正在尝试使用 appdaemon for 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()
定义为 class ButtonSense
.
button.when_pressed = process_button16()
尝试将名为 process_button16()
的全局函数分配给 button.when_pressed
,并且由于您尚未定义任何此类 global 函数,它抛出错误 NameError: name 'process_button16' is not defined