Использование API для обновления значения в другой программе на python

#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()