質問編集履歴

1

質問を簡潔にしました。

2019/11/26 01:06

投稿

raspypy
raspypy

スコア247

test CHANGED
File without changes
test CHANGED
@@ -6,47 +6,25 @@
6
6
 
7
7
 
8
8
 
9
- 〇:判定(条件を満たしていない)
10
-
11
- ●: 判定(条件を満たした)
12
-
13
- 〇||||||1min||||||〇||||||1min||||||●||||||1min||||||〇||||||1min|||||| 〇
14
-
15
-
16
-
17
-
18
-
19
9
  ##困っていること
20
10
 
21
11
  条件判定するデータの更新は、1分
22
12
 
23
- ⇒ユニットファイルで、.sh(↓)プログラム1min毎に設定
13
+ ⇒ユニットファイルで、時間を設定
24
14
 
25
15
 
26
16
 
27
17
  動画の撮影時間は、
28
18
 
29
- Movie.pyのプログラム内で設定
19
+ プログラム内で設定
30
20
 
31
-
32
-
33
- **動画の撮影を条件判定したタイミングで終了させたい**
34
-
35
- 〇>>>>test.mp4>>>>〇>>>>>>b.mp4>>>>>●>>>>>>a.mp4>>>>>〇>>>>>test.mp4>>>>〇
36
-
37
- のですが、
38
-
39
- **実際は、**
40
-
41
- 〇>>>>test.mp4 〇>>>>>>b.mp4 ●>>>>>>a.mp4 〇>>>>>test.mp4 〇
42
-
43
- このように、条件判定~Movie.pyで指定した時間まで撮影したところで終了してしまうので、
21
+ このように、条件判定で指定した時間まで撮影したところで終了してしまうので、
44
22
 
45
23
  判定直前の動画が撮影されません。
46
24
 
47
25
 
48
26
 
49
- Movie.pyの時間で調整する以外に、なにか良い方法がありませんでしょうか。
27
+ プログラム内の時間で調整する以外に、なにか良い方法がありませんでしょうか。
50
28
 
51
29
 
52
30
 
@@ -59,97 +37,3 @@
59
37
  1分毎にCSVファイルにデータを更新(追加)しています。
60
38
 
61
39
  追加された最新データについて、条件を満たすか判定しています。
62
-
63
- **.shプログラムを1min毎に実施するようにユニットファイルを作成して、動作させています。**
64
-
65
-
66
-
67
- ##現在のプログラムの構成
68
-
69
- ```sh
70
-
71
- #!/bin/sh
72
-
73
- #データ記録(from BME280 to csv)
74
-
75
- /home/pi/dev/./CSV.py
76
-
77
- #csvファイルアップロード
78
-
79
- /home/pi/gdrive update hogehoge /home/pi/test.csv
80
-
81
- #条件判定・動画撮影
82
-
83
- /home/pi/dev/./Movie.py
84
-
85
- #動画ファイルアップロード
86
-
87
- /home/pi/gdrive sync upload /home/pi/Movie hogehoge
88
-
89
- ```
90
-
91
-
92
-
93
- ##動画撮影プログラム
94
-
95
- ```python
96
-
97
- start_time = datetime.now()
98
-
99
- set_time = 60
100
-
101
-
102
-
103
- if judge=22.5:
104
-
105
- #test.mp4のファイル名変更
106
-
107
- os.rename ('/home/pi/test.mp4', b)
108
-
109
- writer1 = cv2.VideoWriter(a, fmt ,25, (width, height))
110
-
111
- while True:
112
-
113
- ret, frame = cap.read()
114
-
115
- writer1.write(frame)
116
-
117
- end_time = datetime.now()
118
-
119
- diff = end_time - start_time
120
-
121
- print (diff)
122
-
123
- delta_t = diff.seconds
124
-
125
- if delta_t >= set_time:
126
-
127
- break
128
-
129
- writer1.release()
130
-
131
- else:
132
-
133
- writer2 = cv2.VideoWriter('/home/pi/test.mp4', fmt ,25, (width, height))
134
-
135
- while True:
136
-
137
- ret, frame = cap.read()
138
-
139
- writer2.write(frame)
140
-
141
- end_time = datetime.now()
142
-
143
- diff = end_time - start_time
144
-
145
- delta_t = diff.seconds
146
-
147
- if delta_t >= set_time:
148
-
149
- break
150
-
151
- writer2.release()
152
-
153
- cap.release()
154
-
155
- ```