我遵循了一个关于让Amazon Echo与我的Raspberry交谈的教程,它的工作非常精彩。
我添加的部分是“是”意图中的GPIO部分,以便在收到Echo的“是”答案时闪烁LED。再次,它完美地运作。
现在我想这样做,因此GPIO有一个延迟,以便Alexa响应说话,然后LED闪烁。我怎样才能做到这一点?
我尝试在yes意图中创建一个变量,当她回答时设置为'1'。然后我尝试通过添加, variableName
然后在yes intent函数之外创建if
命令来返回它,但变量似乎永远不会出现在yesintent中。我也尝试将变量定义为全局但仍然没有乐趣。我只是想不出其他任何事情来谷歌这样做,我想知道是否有人可以提供帮助?
代码如下:
from flask import Flask
from flask_ask import Ask, statement, question, session
import json
import requests
import time
import unidecode
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
app = Flask(__name__)
ask = Ask(app, "/shocker")
@app.route('/')
def homepage():
welcome = 'hi there, how the fluff is it?'
return statement(welcome)
@ask.launch
def start_skill():
welcome_message = 'Hello there, would you like me to do something?'
return question(welcome_message)
@ask.intent("YesIntent")
def yes_intent():
GPIO.setwarnings(False)
GPIO.setup(7, GPIO.OUT)
GPIO.output(7,1)
time.sleep(1)
GPIO.output(7,0)
yes_message = 'the thing has been done'
return statement(yes_message)
@ask.intent("NoIntent")
def no_intent():
no_message = 'well then why are you wasting my time?'
return statement(no_message)
if __name__ == '__main__':
app.run()