개발자/Raspberry Pi

타임랩스 기능 - Python 파일 자동실행하게 만들기 파이선 파일 자동실행되게....

지구빵집 2015. 4. 24. 20:07
반응형

 

타임랩스 기능 - Python 파일 자동실행하게 만들기 파이선 파일 자동실행되게....

 

파이선 파일 부팅시 자동 실행되게 만드는 방법입니다.

 

일단 파이선 프로그램을 만들어야죠. 아래 코드는 라즈베리 파이 카메라 모듈을 사용하여

1초 마다 사진을 찍어 /home/pi/camera 폴더 아래에 저장하는 파이선 코드입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python
 
import time as t
from datetime import datetime
import subprocess
 
FRAMES = 3600   #number of frame
TIMEBETWEEN = 6 #second
 
#time = datetime.now()
filepath = "/home/pi/camera"
fileNamePrefix = "image"
 
framecount = 0
#while true:            #if infinitely
while framecount < FRAMES:
        time = datetime.now()
        filename = filepath + "/" + fileNamePrefix + "-%04d%02d%02d-%02d%02d%02d.jpg" % (time.year, time.month, 
 
                                                                 time.day, time.hour, time.minute, time.second)
        command = "raspistill -t 1 -o %s" % (filename)
 
        subprocess.call(command, shell = True)
        print "Captured %s" % filename
 
        t.sleep(3) # 3초마다 한장씩 촬영하게 설정

 

실행이 잘되는것을 확인하고요. 파일의 실행 권한을 권한을 바꿔줍니다. 아래 명령어는 두개가 같은 것입니다. 

 

$ sudo chmod 777 capture1sec.py 이렇게 하든가

 

아니면

 

$ sudo chmod +x capture1sec.py 로 권한을 바꿔줍니다.

 

가장 중요한것이  코드의 맨 윗줄 한 줄입니다. 

 

1
#!/usr/bin/env python  

 

이 한줄이 

 

pi@raspberrypi ~ $ sudo ./capture1sec.py 이렇게 실행되게 만들어 줍니다.

 

다음 부팅 할때마다 서비스로 자동 실행되도록 하기 위해 rc.local 파일을 아래와 같이 편집합니다.

 

편집 명령은 $sudo nano /etc/rc.local 로 하시면 됩니다.

 

혹시 안되시면  python /home/pi/capture1sec.py

 

이렇게 추가해 주세요.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
# Print the IP address
python /home/pi/capture1sec.py &
 
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"  
fi
 
exit 0
 

 

보이시죠 ? 15번 째 줄에 /home/pi/capture1sec.py & 문장이 파이선 코드를 자동으로 실행되게 해줍니다.

 

실행이 안되신다면 다음 문장으로  python /home/pi/capture1sec.py & 적으시면 됩니다.

 

즐개발 하세요~ 

 

 

 

사진 출처 : mnet

 

 

 

 

반응형