Определение Python и аргументы с намерением Flask-Ask - PullRequest
0 голосов
/ 25 июня 2018

Я написал программу на python, используя flask-ask, чтобы создать собственный навык alexa, который управляет шаговым двигателем. Когда Алекса запускает навык, он запускается и спрашивает, какую позицию я хочу, со значением от одного до семи. Однако я не уверен, правильно ли я определяю свою функцию и аргументы. Приведенный ниже код содержит намерение, которое есть в моем навыке Alexa, и первую позицию, на которую можно установить мотор. Любая обратная связь с тем, как я определил свою функцию, включила аргументы, и я связываю их с моими утверждениями if, и если это нужно сделать по-другому, будет принята с благодарностью.

#Position intent, this is our answer to the welcome message
@ask.intent("PositionIntent", convert ={'one': int, 'two': int, 'three': int,
                                        'four': int, 'five': int, 'six': int,
                                        'seven': int})


def position(one, two, three, four, five, six, seven):

    if [one] == 1:
            if (pos1 < previous_position):  
                step_count = abs(pos1 - previous_position)
                turn_motor()
                previous_position = pos1
            else:
                GPIO.output(DIR, CCW)
                step_count = abs(pos1 - previous_position)
                turn_motor()
                previous_position = pos1
            GPIO.cleanup()

1 Ответ

0 голосов
/ 26 июня 2018

Вместо хранения нескольких слотов, просто оставьте один слот типа AMAZON.NUMBER.Реализуйте логику в веб-приложении соответственно.

    @ask.intent("PositionIntent", convert = {'pos': int})
    def position(pos)
        if pos == 1:
            if (pos1 < previous_position):  
                step_count = abs(pos1 - previous_position)
                turn_motor()
                previous_position = pos1
            else:
                GPIO.output(DIR, CCW)
                step_count = abs(pos1 - previous_position)
                turn_motor()
                previous_position = pos1
            GPIO.cleanup()
...