Spaces:
Sleeping
Sleeping
File size: 2,484 Bytes
9f40d47 50eb5ac 9f40d47 50eb5ac 9f40d47 50eb5ac 9f40d47 50eb5ac 9f40d47 50eb5ac 9f40d47 50eb5ac 9f40d47 50eb5ac 4524afd 50eb5ac |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
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 = f'week_{current_week}_data.json'
with open(filename, 'w') as f:
json.dump(combined_data, f, indent=4)
combined_data = [] # Очищаем список для новой недели
# Пауза на час перед следующей итерацией
time.sleep(60) # 3600 секунд = 60 минут * 60 секунд
# Проверяем, не прошло ли 30 недель
if globs["wek"] > 30:
break # Выходим из цикла после 30 недель |