#python #flask
#питон #колба
Вопрос:
В настоящее время я создаю проект raspberry pi, чтобы отслеживать температуру окружающей среды и проверять, не слишком ли она высока. Программа проста, она считывает конфигурацию (временную, чтобы жужжать) из файла и использует ее для бесконечного цикла while. Я думал о том, чтобы сделать отдельную программу для сервера колб, которая будет действовать как графический интерфейс, и пользователь сможет изменить значение конфигурации. Я подумал о том, чтобы создать конечную точку, например /обновить, чтобы я мог отправить ей новые данные, и сервер flask запишет их в файл конфигурации.
Проблема в том, что я не уверен, как я могу заставить программу, считывающую температуру и находящуюся в бесконечном цикле, принимать новое значение конфигурации. Я думал о том, чтобы просто использовать код и перезапустить программу, чтобы она могла повторно прочитать файл конфигурации с новым значением и запустить его снова, но я не уверен, что есть лучшее решение. Есть какие-нибудь идеи?
Комментарии:
1. Вы можете вызвать конечную точку /config на сервере, которая возвращает целевую температуру. клиент вызывает /настраивает при запуске, а затем периодически проверяет наличие обновлений.
2. Можете ли вы добавить код, который у вас уже есть, к вашему вопросу?
Ответ №1:
Вы можете использовать функции
#file1 def buzz(config, temp): #code
#file2 (gui) from file1 import buzz while True: buzz("input from gui", "read temperature from raspberry pi")
Ответ №2:
Вы можете получать предупреждающую температуру с сервера при запуске, а затем периодически выполнять ее в своем цикле, например:
update_frequency = 10000 warning_temp = get_config_from_server() last_update_time = now() while(true): if check_temperature() gt; warning_temp: alarm() if now()-last_update_time gt; update_frequency: warning_temp = get_config_from_server() last_update_time = now()