Spaces:
Sleeping
Sleeping
| import json | |
| import time | |
| # Предполагаем, что глобальные переменные уже обновлены в другом месте кода | |
| # и доступны для использования здесь | |
| globs = { | |
| "dey": 1, # День недели, который должен обновляться с устройства | |
| "wek": 1, # Неделя | |
| "v_hid": 0, # Час | |
| "v_min": 0, # Минута | |
| "ph": 7.0 # pH-значение | |
| } | |
| # Функция для создания JSON-объекта из глобальных переменных | |
| def create_json_from_globals(week, day, hour, ph): | |
| return { | |
| "week": week, | |
| "day": day, | |
| "hour": hour, | |
| "ph": ph | |
| } | |
| # Переменные для отслеживания текущей недели и дня | |
| current_week = globs["wek"] | |
| current_day = globs["dey"] | |
| current_hour = globs["v_hid"] | |
| # Список для хранения данных обеих недель | |
| combined_data = [] | |
| # Бесконечный цикл, который каждый час создает JSON-объект | |
| while True: | |
| # Проверяем, изменилась ли неделя или день | |
| if globs["wek"] != current_week or globs["dey"] != current_day or globs["v_hid"] != current_hour: | |
| current_week = globs["wek"] | |
| current_day = globs["dey"] | |
| current_hour = globs["v_hid"] | |
| # Создание JSON-объекта с текущими значениями глобальных переменных | |
| json_data = create_json_from_globals(current_week, current_day, current_hour, globs["ph"]) | |
| # Добавление данных в общий список | |
| combined_data.append(json_data) | |
| # Если началась новая неделя, создаем новый JSON-файл | |
| if current_hour == 0 and current_day == 1: | |
| filename = 'combined_data.json' | |
| with open(filename, 'w') as f: | |
| json.dump(combined_data, f, indent=4) | |
| combined_data = [] # Очищаем список для новой недели | |
| # Пауза на минуту перед следующей итерацией | |
| time.sleep(60) # 60 секунд = 1 минута | |
| # Проверяем, не прошло ли 30 недель | |
| if globs["wek"] > 30: | |
| break # Выходим из цикла после 30 недель |