#!/usr/bin/env python3 import os import subprocess import multrunchk # 多重起動チェックの後に録画を止める if multrunchk.chekMultipleRun('nph-stop.py', '') == True: rst = subprocess.Popen( ['sudo', 'systemctl', 'stop', 'drive_recorder.service']) print('HTTP/1.1 302 Found') print('Location: ../index.html') print('')
#!/usr/bin/python3 # -*- coding: utf-8 -*- import os import subprocess import multrunchk import time # 多重起動チェック if multrunchk.chekMultipleRun('nph-sys-shutdown.py', '') == False: print('HTTP/1.1 302 Found') print('Location: ../index.html') print('') quit() # nph-sys-reboot.pyと同様visudoに登録が必要 subprocess.Popen(['sudo', '/sbin/shutdown', '-h', 'now']) print('HTTP/1.1 302 Found') print('Location: ../index.html') print('')
#!/usr/bin/env python3 import os import subprocess import multrunchk # 多重起動チェックした後に動画開始を行う if multrunchk.chekMultipleRun('nph-start.py', 'drive_recorder') == True: rst = subprocess.Popen(['sudo', 'systemctl', 'start', 'drive_recorder.service']) # HTTPレスポンスヘッダ print('HTTP/1.1 302 Found') print('Location: ../index.html') print('')
#!/usr/bin/python3 # -*- coding: utf-8 -*- import os import subprocess import multrunchk import time # 多重起動チェック if multrunchk.chekMultipleRun('nph-sys-reboot.py', '') == False: print('HTTP/1.1 302 Found') print('Location: ../index.html') print('') quit() # 再起動コマンド発行。事前にvisudoに登録しておく必要がある subprocess.Popen(['sudo', '/sbin/reboot']) # 処理結果を返すほうが親切か? print('HTTP/1.1 302 Found') print('Location: ../index.html') print('')
これ呼ぶと終了。jsonで結果をクライアントに返す """ result = {'result': rst} print("Content-type: application/json") print("\n\n") print(json.JSONEncoder().encode(result)) print('\n') # ここに置くとわかりづらいか? quit() # 多重起動チェック if multrunchk.chekMultipleRun('motion-camera-move.py', '') == False: responce('ng:作動中') # 起動引数を取得 # httpでリクエストを受けcgiとして起動する想定。コンソールで起動するとここで入力待ちとなってしまう # 値存在チェックは本来は必要である。 # 改善は必要 data = sys.stdin.read() params = json.loads(data) move = int(params['move']) # パラメータの初期化 pin1 = 0 pin2 = 0 pin1i = GPIO.LOW pin2i = GPIO.LOW
os.remove(file[0]) i -= 1 # motionのurl取得 同じことを他でもやってるから共通化したほうがいいか?そもそもこの値は使用していない。いつか削除する url = '' if 'HTTP_HOST' in os.environ: url = os.environ['HTTP_HOST'] else: url = 'no Key HTTP_HOST' #url = 'http://' + url + ':8081/' url = '../../motion.html' # 多重起動チェックmotionが既に動いていたら何もしない if multrunchk.chekMultipleRun('nph-start-motion.py', 'sudo motion -b') == False: # HTTPレスポンスヘッダ print('HTTP/1.1 302 Found') print('Location: ' + url) print('') quit() # 録画停止。motionと録画は同時に実行しない。多分できない。できてもパフォーマンスはひどく悪くなる rst = subprocess.Popen(['sudo', 'systemctl', 'stop', 'drive_recorder.service']) # 古いmotion動画を削除 oldmotionDel() # motion多重起動チェック。上のやつは自身のスクリプト、これはmotionのプロセス cmd = 'ps aux | grep motion' proc = subprocess.Popen(cmd, shell=True,