리즈베리파이의 이전 버전, 그러니까 B+ 까지는 /etc/rc.local 파일을 열어서 if ~~ fi 가 아닌곳, exit 0 전의 적당한 위치에 명령을 넣어 주면 되었다.
관련된 포스팅은 이것 참조 - 타임랩스 기능 - Python 파일 자동실행하게 만들기 파이선 파일 자동실행되게....
출처: http://fishpoint.tistory.com/1587
아래 코드를 보면 바로 그 위치에 # 표시로 주석 처리가 된 부분 처럼 넣어주면 라즈베리파이가 부팅 되면서 사용자가 지정한 파일이 자동으로 실행되었다. 마치 윈도우의 시작 프로그램 아래에 실행 아이콘을 넣어주는 것처럼 말이다.
아래 명령어로 파일을 열면
pi@raspberrypi:~ $ sudo nano /etc/rc.local
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 27 28 29 30 | #!/bin/bash -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 _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi # #여기에 실행파일을 지정함 #C 언어 실행파일 이름이 dmartfarm 폴더 아래에 smartfam 이라면 #/hoome/pi/smartfarm/smartfarm & #꼭 & 불이기 백그라운드 실행 # #파이썬 파일이 capture1sec.py 파일 이라면 #/home/pi/capture1sec.py & # exit 0 | cs |
그런데 라즈베리 파이3 에서는 rc.local 파일에 넣어주니 이유는 모르지만 실행이 잘 안된다. 더군다나 실행파일이 Database, 네트워크 처리가 들어간 실행파일이라면 더욱 잘 되지 않는다. 그래서 알아보니 라즈베리 파이가 부팅이 완료되는 시점에 실행하는 파일이 찾아보니 /etc/profile.d/bash_completion.sh 파일이 있었다.
따라서 이 파일에 실행파일을 넣어주면 제대로 동작한다. 참고하시기 바란다. 실행파일을 넣는 위치는 아래 코드를 보자.
1 2 3 4 5 6 7 8 | pi@raspberrypi:~ $ cd /etc/ pi@raspberrypi:/etc $ pi@raspberrypi:/etc $ cd profile.d/ pi@raspberrypi:/etc/profile.d $ pi@raspberrypi:/etc/profile.d $ ls bash_completion.sh pi@raspberrypi:/etc/profile.d $ | cs |
위에 보이는 바로 그 파일 되겠다.
아래 명령어로 열어보면
pi@raspberrypi:/etc/profile.d $ sudo nano bash_completion.sh
열어 보면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # Check for interactive bash and that we haven't already been sourced. if [ -n "$BASH_VERSION" -a -n "$PS1" -a -z "$BASH_COMPLETION_COMPAT_DIR" ]; then # Check for recent enough version of bash. bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} if [ $bmajor -gt 4 ] || [ $bmajor -eq 4 -a $bminor -ge 1 ]; then [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \ . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; $ # Source completion code. . /usr/share/bash-completion/bash_completion fi fi unset bash bmajor bminor fi # #여기에 실행 파일을 넣어준다. 형태는 위에서 설명한 rc.local 에 적는 모양과 동일하다. # | cs |
위에 보이는 노란색 # 표시에 #을 지우고 실행파일을 넣어준다.
예) shell 파일
sudo ./s-farm
예) 실행파일
pi@raspberrypi ~/iot_farmserver/output $ sudo ./server_farm &
꼭 뒤에 & 붙이기 - 백그라운드 실행. 터미널에서 프롬프트 나오게 해야 합니다.
예) 스트리밍 서버
export STREAMER_PATH=/home/pi/mjpg-streamer/mjpg-streamer-experimental
export LD_LIBRARY_PATH=$STREAMER_PATH
$STREAMER_PATH/mjpg_streamer -i "input_raspicam.so -d 200" -o "output_http.so -$
즐 개발하시길~ 아래 사진에 위에 설명한 파일이 보입니다~^^
'개발자 > Raspberry Pi3' 카테고리의 다른 글
라즈베리 파이 LCD 사용 파이썬 RASPBERRY PI LCD AND PROGRAM IT WITH PYTHON (0) | 2017.10.24 |
---|---|
Raspberry pi DS18B20 Temperature Sensor 사용 데이터 읽기 Python 소스 (7) | 2017.10.24 |
미세먼지 측정 센서 Nova PM sensor SDS011 공기 품질 센서 사용법 (0) | 2017.10.18 |
Sunfounder Car for Raspberry Pi 라즈베리 카 조립 시험 착수 (0) | 2017.10.17 |
라즈베리파이3 에 Q4OS 설치하고 오피스 설치해서 사용하기 (0) | 2017.09.11 |
라즈베리 파이의 이름을 변경하는 방법 (0) | 2017.09.05 |
라즈베리파이를 Access Point 로 만들기 - AP Mode 사용 (5) | 2017.09.04 |
RHT-05 온도 습도센서를 사용해 Raspberry pi3 에서 데이터 획득하기 (2) | 2017.06.08 |
더욱 좋은 정보를 제공하겠습니다.~ ^^