리즈베리파이의 이전 버전, 그러니까 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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.
귀사가 성공하기까지의 긴 고난의 시간을 캐어랩과 함께 하세요.
캐어랩