올해 초 저는 3D 프린터를 제어하기 위해 Raspberry Pi에 octoprint를 설치했습니다.
저는 octoprint를 사용하여 동시에 pi 제어 2 프린터를 가질 수 있었습니다. 두 번째 프린터를 보기 위해 두 번째 카메라(USB)도 추가했습니다. 나는 두 번째 카메라를 실행하고 옥토프린트를 편집하여 둘 사이의 차이점을 확인하는 방법을 찾았습니다.
내 유일한 문제는 라즈베리 파이를 다시 부팅할 때마다 다른 작업 디렉터리로 변경해야 한다는 것입니다.
cd ~/mjpg-streamer
그런 다음 두 번째 카메라를 시작합니다.
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"&
부팅 시 카메라를 시작하는 스크립트를 작성하여 매일 Raspberry Pi에 SSH로 로그인하고 명령을 보낼 필요가 없도록 하고 싶습니다. 시작 스크립트 작성에 대한 많은 정보를 찾았지만 그 안에 있는 작업 디렉터리를 변경하는 방법에 대해서는 찾지 못했습니다.
나는 이것을 사용하여 시작 스크립트를 작성했습니다(실패):
sudo nano /etc/init.d/startsecondcamera
답변1
수동으로 수행하는 것처럼 시작 스크립트에서 cd
실행 전 작업을 수행하도록 합니다.mjpg_streamer
#!/bin/sh
cd /home/geilisa/mjpg-streamer
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"
이는 홈 디렉토리가 이라고 가정합니다 /home/geilisa
.
~
루트로 실행될 수 있으므로 스크립트에서는 사용할 수 없습니다 . 유틸리티를 루트로 실행하는 데 문제가 있는 경우 sudo -u gelisia ./mjpg_streamer ...
스크립트에서 사용자로 실행을 사용하십시오 gelisia
.
또 다른 접근 방식은 시작 시 실행되는 크론 작업을 추가하는 것입니다.
@reboot cd /home/geilisa/mjpg-streamer && ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"
명령을 사용하여 crontab에 추가하세요 crontab -e
. 그러면 crontab(아마도 빈 파일)이 있는 편집기가 열립니다. 위의 줄을 추가하고 저장하고 종료하십시오.
내가 아는 한, 대부분의 크론은 일반적으로 실제 명령 앞에 오는 5개의 작업 일정 열 대신 @reboot
( 및 @hourly
etc ) 사용을 허용합니다.@daily