#python #raspberry-pi
#python #raspberry-pi
Вопрос:
Я хочу запустить программу в бесконечном цикле, которая обрабатывает GPIO в raspberry PI и получает запросы в бесконечном цикле (как HTTP-сервер). Возможно ли это? Я попробовал фреймворк Flask, но бесконечный цикл ожидает запросов, а затем моя программа выполняется.
Комментарии:
1. Почему бесконечный цикл?
2. Потому что я хочу обрабатывать запросы, а также что-то делать со своим оборудованием.
3. Я не верю, что бесконечный цикл — это то, что вы ищете — вам нужно будет запрограммировать систему, которая простаивает до тех пор, пока ей не будет передана команда или параметр для выполнения какой-либо функции. В качестве альтернативы, если это серверная система, продолжайте вызывать поиск входящих данных для выполнения какой-либо службы. Ни один из них не является фактическим «бесконечным циклом».
4. Есть ли у вас выбор использовать другую платформу или Python — единственный выбор? Я бы посоветовал вам перейти на NodeJS, это облегчит вашу жизнь и эту задачу
Ответ №1:
Если бы я столкнулся с подобной проблемой прямо сейчас, я бы сделал это:
1) Сначала я бы попытался выяснить, могу ли я использовать цикл событий веб-фреймворка для выполнения кода, взаимодействующего с raspberry-pi асинхронно (т. е. Внутри обработчиков событий).
2) Если бы мне не удалось найти веб-фреймворк, достаточно расширяемый, чтобы делать то, что мне нужно, или если бы оказалось, что часть raspberry-pi не может быть выполнена асинхронно (например, выполнение занимает много времени), я бы выяснил, в чем разница между потоками и процессами в python, которые что из двух я могу использовать в моей конкретной ситуации и какие инструменты могут мне в этом помочь?
Этот ответ так же конкретен, как и вопрос (на момент написания).