DmitrMakeev commited on
Commit
50eb5ac
1 Parent(s): 9f40d47

Update graf.py

Browse files
Files changed (1) hide show
  1. graf.py +40 -39
graf.py CHANGED
@@ -4,51 +4,52 @@ import time
4
  # Предполагаем, что глобальные переменные уже обновлены в другом месте кода
5
  # и доступны для использования здесь
6
  globs = {
7
- "dey": None,
8
- "wek": None,
9
- "v_hid": None,
10
- "v_min": None,
11
- "ph": None
12
  }
13
 
14
  # Функция для создания JSON-объекта из глобальных переменных
15
- def create_json_from_globals(week):
16
- data = {
17
  "week": week,
18
- "data": []
 
 
19
  }
20
 
21
- # Для каждого дня недели
22
- for day in range(1, 8): # Предполагаем, что в неделе 7 дней
23
- # Для каждого часа
24
- for hour in range(0, 24):
25
- # Для каждой минуты (0 и 30)
26
- for minute in [0, 30]:
27
- # Используем текущие значения глобальных переменных
28
- data["data"].append({
29
- "day": str(day),
30
- "hour": hour,
31
- "minute": minute,
32
- "ph": globs["ph"]
33
- })
34
-
35
- return json.dumps(data, indent=4)
36
-
37
- # Переменная для отслеживания текущей недели
38
- current_week = None
39
-
40
- # Бесконечный цикл, который каждые 30 минут проверяет, изменилась ли неделя
41
  while True:
42
- # Проверяем, что текущая неделя изменилась
43
- if globs["wek"] is not None and globs["wek"] != current_week:
44
  current_week = globs["wek"]
 
 
45
  # Создание JSON-объекта с текущими значениями глобальных переменных
46
- json_data = create_json_from_globals(current_week)
47
-
48
- # Запись JSON-объекта в файл
49
- filename = f'week_{current_week}.json'
50
- with open(filename, 'w') as f:
51
- f.write(json_data)
52
-
53
- # Пауза на 30 минут перед следующей итерацией
54
- time.sleep(1800) # 1800 секунд = 30 минут * 60 секунд
 
 
 
 
 
 
 
 
 
4
  # Предполагаем, что глобальные переменные уже обновлены в другом месте кода
5
  # и доступны для использования здесь
6
  globs = {
7
+ "dey": 1, # День недели, который должен обновляться с устройства
8
+ "wek": 1, # Неделя
9
+ "v_hid": 0, # Час
10
+ "v_min": 0, # Минута
11
+ "ph": 7.0 # pH-значение
12
  }
13
 
14
  # Функция для создания JSON-объекта из глобальных переменных
15
+ def create_json_from_globals(week, day, hour, ph):
16
+ return {
17
  "week": week,
18
+ "day": day,
19
+ "hour": hour,
20
+ "ph": ph
21
  }
22
 
23
+ # Переменные для отслеживания текущей недели и дня
24
+ current_week = globs["wek"]
25
+ current_day = globs["dey"]
26
+ current_hour = globs["v_hid"]
27
+
28
+ # Список для хранения данных обеих недель
29
+ combined_data = []
30
+
31
+ # Бесконечный цикл, который каждый час создает JSON-объект
 
 
 
 
 
 
 
 
 
 
 
32
  while True:
33
+ # Проверяем, изменилась ли неделя или день
34
+ if globs["wek"] != current_week or globs["dey"] != current_day or globs["v_hid"] != current_hour:
35
  current_week = globs["wek"]
36
+ current_day = globs["dey"]
37
+ current_hour = globs["v_hid"]
38
  # Создание JSON-объекта с текущими значениями глобальных переменных
39
+ json_data = create_json_from_globals(current_week, current_day, current_hour, globs["ph"])
40
+ # Добавление данных в общий список
41
+ combined_data.append(json_data)
42
+
43
+ # Если началась новая неделя, создаем новый JSON-файл
44
+ if current_hour == 0 and current_day == 1:
45
+ filename = f'week_{current_week}_data.json'
46
+ with open(filename, 'w') as f:
47
+ json.dump(combined_data, f, indent=4)
48
+ combined_data = [] # Очищаем список для новой недели
49
+
50
+ # Пауза на час перед следующей итерацией
51
+ time.sleep(3600) # 3600 секунд = 60 минут * 60 секунд
52
+
53
+ # Проверяем, не прошло ли 30 недель
54
+ if globs["wek"] > 30:
55
+ break # Выходим из цикла после 30 недель