Как получить входные данные в данный период времени? - PullRequest
0 голосов
/ 15 апреля 2019

Я делаю проект, в котором входные данные берутся из колесного датчика в виде значений с плавающей запятой.Как получать входные данные каждые 60 секунд и подавать входные данные в модель нейронной сети.В коде km_per_hour должен записываться каждые 60 секунд и передаваться в нейронную сеть.

if __name__ == '__main__':
    init_GPIO()
    init_interrupt()
    while True:
        calculate_speed(40)
        print('kmh:{1:.0f}'.format(km_per_hour))
        sleep(0.1)

1 Ответ

0 голосов
/ 15 апреля 2019

Захватите время в начале каждого раунда и проверьте, прошли ли 60 секунд.

if __name__ == '__main__':
    import time
    init_GPIO()
    init_interrupt()
    while True:
        start_time = time.time()  # seconds since unix time
        end_time = start_time + 60
        list_speeds = list()
        while time.time() < end_time:
            km_per_hour = calculate_speed(40)
            list_speeds.append(km_per_hour)
            print('kmh:{1:.0f}'.format(km_per_hour))
            sleep(0.1)
        else:  # while-else
            feed_your_dino(list_speeds)

Если вы не хотите блокировать свои входы, вы можете сделать следующее, чтобы запустить функциюв новой теме, не блокируя вашу программу:

if __name__ == '__main__':
    import time, threading
    init_GPIO()
    init_interrupt()
    while True:
        start_time = time.time()  # seconds since unix time
        end_time = start_time + 60
        list_speeds = list()
        while time.time() < end_time:
            km_per_hour = calculate_speed(40)
            list_speeds.append(km_per_hour)
            print('kmh:{1:.0f}'.format(km_per_hour))
            sleep(0.1)
        else:  # while-else
            th_my_ai = threading.Thread(target=feed_your_dino, args=(list_speeds,))
            th_my_ai.start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...