2017-07-03 10 views
0

私は、ボタンをオフにすると、画像に毎分と睡眠を取ることを許可次のスクリプトでタイムラプスカウントダウンシステムのように、RPI W(Rbianジェシー)を実行します。プログラムは、5秒ごとにボタンをチェックします。のpython - os.systemをジャンプする方法()プロセス

# This Python file uses the following encoding: utf-8 

from time import sleep 
from picamera import PiCamera 
import os 
import time 
import RPi.GPIO as GPIO 
import picamera 
import datetime as dt 


GPIO.setmode(GPIO.BCM) 
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) 
os.system('sudo python /home/pi/log.py') 
check = GPIO.input(17) 

while check == 0: #si l'état initial du bouton = 0 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 

while check == 1: #si l'état initial = 1 

     with picamera.PiCamera() as camera: 
       camera.resolution = (1280, 720) 
       sleep(1) 
       t1 = dt.datetime.now().strftime('-%d_%m_%Y-%H_%M_%S') 
       t2 = 'IMG'+ t1 
       camera.capture('/home/pi/Pictures/%s.jpg' % t2) 
       print('Captured %s' % t2) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(5) 
     check = GPIO.input(17) 
     print(check) 
     sleep(4) 
     check = GPIO.input(17) 
     print(check) 


    while check == 0: #si l'état initial du bouton = 0 
      check = GPIO.input(17) 
      print(check) 
      sleep(5) 

私は...

スクリプトが醜態であると確信している。しかし、私がやりたいことは、次のとおりです。log.pyという名前の別のスクリプトを(T°および時間/分を監視)を呼び出します。しかし、メインスクリプトは行の後ストーピングあります。#os.system(「sudoのパイソン/home/pi/log.py」)...スクリプトはこの行せずに[OK]を実行しています。

誰かがについて何かを知っていることはできますか?

+0

あなたはlog.py' 'ためのコードを提供することはできますか? – MLavrentyev

+0

ちょうど 'os.system(「sudoのパイソン/home/pi/log.py」)'呼び出すPythonスクリプトを作成してみてください - あなたはそれをデバッグ簡単に時間を持っています。 – dimo414

+0

"*メインスクリプトは停止しています*"とはどういう意味ですか?それはクラッシュですか?ハンギング?エラー出力はありますか? 'log.py'スクリプトは動いていますか(' ps aux'を実行して実行中のすべてのプログラムを見てください)? – dimo414

答えて

0

用途:

os.system('sudo python /home/pi/log.py &') 

&フォークプロセス。

+0

のためのみんなに感謝素晴らしいです、それが動作する多くのありがとう、私はこのヒントを知らなかった! – Pimyside

関連する問題