如何在Pi上使用Flask-ask时延迟GPIO

时间:2016-12-14 22:11:53

标签: python flask gpio

我遵循了一个关于让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()

0 个答案:

没有答案