저는 Raspberry Pi에서 BBC RSS Top Stories 피드를 듣기 위해 이 작은 Python 스크립트를 작성했습니다.
먼저 3.5mm 잭에 문제가 있어서(소리가 나지 않음),
sudo raspi-config
그런 다음 고급 옵션 > 오디오에서 "Force 3.5mm('헤드폰') 잭"을 선택합니다.
(이것은 항상 나에게 효과적입니다)
이제 잭 구성을 마치고 스크립트를 살펴보겠습니다.
# morning.py
import feedparser # To scrape the BBC Feed
import talkey # The TTS service I'll be using
d = feedparser.parse("http://feeds.bbci.co.uk/news/rss.xml")
tts = talkey.Talkey(
engine_preference=['espeak'],
espeak={
'deafults': {
'words_per_minute': 100,
'variant': 'f4',
}
}
)
for entry in d.entries:
tts.say(entry.title + ":" + entry.summary)
특정 시간(아침)에 스크립트를 실행하고 싶어서 Cron을 사용합니다. 제가 입력한 내용입니다
crontab -e
0 8 * * * sudo python morning.py >/dev/null 2>&1 # inside crontab
(morning.py 스크립트는 "pi" 디렉터리에 있습니다.)
그러나 어떤 이유로 스크립트가 지정된 시간에 실행되지 않습니다.
(Cron 없이도 완벽하게 작동합니다.)
답변1
crontab에 많은 문제가 있습니다. "crontab -e"를 편집해야 할 때마다 다음과 같이 명시해야 합니다. alias -p #(여기서는 abc 정렬)을 사용하여 바로가기를 확인할 수 있습니다. 이제 홈 디렉터리로 이동하세요.
cd ~/ #or
cd
vim 편집기로 편집하자
vim .bashrc
"G"를 누르면 => 파일 끝에 도달하여 다음과 같이 작성합니다. "i"(삽입 모드) 다음을 입력합니다.
alias e='export EDITOR=vim' # activated at the next Terminal session
완료되면 ":wq"로 저장하는 대신 "ESC"를 누르고 다음을 입력하세요.
이 경우 다음 터미널 세션(Ctrl+Shift+N)에서 이 바로가기에 대해 알게 됩니다. 그냥 "e"를 누르고 Enter 키를 누르고 명령줄에 작성하세요.
whereis python
결과는 다음과 같습니다: /usr/bin/python2.6 "script.py"가 있는 경로로 이동하여 실행 가능하게 만듭니다.
chmod +x myscript.py; # do not need a sudo;
또는
chmod 755 myscript.py; # do not need a sudo; you are the user
그런 다음 "crontab -e"를 편집하십시오(내가 아는 한 "crontab -l"은 sudo용입니다).
"e"를 클릭하세요. (vim 편집기가 활성화됩니다.)
crontab -e
0 8 * * * /usr/bin/python2.6 ~/myfolder/morning.py >/dev/null 2>&1 # inside crontab
이것이 귀하의 프로젝트를 해결하기를 바랍니다.