Example #1
0
#!/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('')
Example #2
0
#!/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('')
Example #3
0
#!/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('')


Example #4
0
#!/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('')
Example #5
0
  これ呼ぶと終了。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
Example #6
0
        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,