관리 메뉴

지나가는 이야기

[스마트미러] 라즈베리파이를 활용한 스마트미러 만들기 : 스마트미러 자동실행 본문

Event & Project : 이벤트 & 프로젝트/Project : 프로젝트

[스마트미러] 라즈베리파이를 활용한 스마트미러 만들기 : 스마트미러 자동실행

지나가는 이야기 2022. 8. 18. 12:58
728x90
반응형

 

2022.08.15 - [Project & Event : 프로젝트 & 이벤트/Project : 프로젝트] - [스마트미러] 라즈베리파이를 활용한 스마트미러 만들기 : 제작 계기 및 준비물

2022.08.16 - [Project & Event : 프로젝트 & 이벤트/Project : 프로젝트] - [스마트미러] 라즈베리파이를 활용한 스마트미러 만들기 : 라즈베리파이 기본 세팅 및 Magic mirror 다운로드

2022.08.17 - [Project & Event : 프로젝트 & 이벤트/Project : 프로젝트] - [스마트미러] 라즈베리파이를 활용한 스마트미러 만들기 : 화면 커스텀

 

이번 글은 스마트미러 프로젝트의 마지막으로 완성된 스마트미러를 자동 실행하게 만드는 것입니다. 이전 글을 안 보신 분들은 이전 글을 참고 바랍니다.

 

이제 남은 것은 자동실행입니다. 자동실행을 만들기 위해서는 아래 2가지 조건을 만족해야 합니다.

  • 라즈베리파이를 부팅 시 자동으로 스마트미러가 켜지는 기능
  • 실수로 스마트미러를 종료했을 때 자동으로 다시 실행되는 기능

 


 

먼저 실수로 종료를 했을 때 자동으로 다시 실행하는 기능을 만들어 보겠습니다. 자동 실행하기 위한 모듈로 pm2를 설치합니다.

install pm2

sudo npm install -g pm2

위 사진은 자동실행을 위한 pm2를 설치한 모습입니다. 이제 pm2와 쉘 스크립트를 통해 자동실행을 만들어 보겠습니다.


 

pm2를 실행한 모습

pm2 startup

먼저 명령어를 입력하여 pm2를  실행합니다. 실행을 하면 위 사진과 같은 모습이 됩니다.

 

 

 

 


 

 

쉘 스크립트

cd ~
vi auto-start.sh
# auto-start.sh 파일 내용		<= 이줄은 작성X
cd ./MagicMirror
DISPLAY=:0 npm start

그 후 명령어를 이용하여 홈 디렉터리로 이동한 뒤 위 사진과 같이 쉘 스크립트를 작성한다.

 

실행 기능 추가

chmod +x auto-start.sh

chmod +x 명령어를 이용하여 위 사진에서 보이는 것과 같이 작성한 쉘 스크립트에 실행 권한을 줍니다.

 


 

 

pm2에 쉘 스크립트 실행

pm2 start auto-start.sh

위 사진은 해당 명령어를 입력한 모습으로 정상적으로 작성한 쉡 스크립트가 pm2에 등록된 모습을 볼 수 있다.

 

pm2 save

pm2 save

그 후  명령어를 사용하여 위 사진과 같이 해당 내용을 저장한다. 이렇게 설정을 하게 되면 스마트미러를 종료를 해도 자동으로 다시 켜지는 모습을 볼 수 있다.

 

 

 

 


 

그다음으로 설정할 것으로는 라즈베리파이를 부팅 시 자동으로 실행되는 것을 설정하겠습니다.

 

boot-start.sh

cd ~
vi boot-start.sh
# boot-start.sh 파일 내용		<= 이줄은 작성X
pm2 start auto-start.sh

먼저 위 사진과 같이 홈 디렉터리에 boot-start.sh 파일을 만든 pm2를 실행하는 쉘 스크립트를 작성한 후 저장한 후 auto-start.sh 와 동일하게 쉘 스크립트 실행 권한을 준다.

 

chmod +x boot-start.sh

 

/etc/xdg/lxsession/LXDE-pi/autostart

sudo vi /etc/xdg/lxsession/LXDE-pi/autostart
# /etc/xdg/lxsession/LXDE-pi/autostart 하단에 추가해야할 내용 	<= 이줄은 작성 X
@xset s off
@xset -dpms
@xset s noblank

/home/mirror-project/boot-start.sh &

그다음  sudo vi /etc/xdg/lxsession/LXDE-pi/autostart 사용하여 라즈베리파이가 부팅이 되었을 경우 바로 실행이 되도록 위 사진과 같이 파일 내용을 추가한다.

 

지금까지의 설정을 모두 마쳤으면, 제작한 스마트 미러는 라즈베리파이를 부팅 시 자동으로 실행이 되며, 실수로 종료를 했을 때 자동으로 다시 실행되는 것을 볼 수 있다.

 

728x90
반응형
Comments