라즈베리 파이 파이썬 토키(TTS) + 크론

라즈베리 파이 파이썬 토키(TTS) + 크론

저는 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

이것이 귀하의 프로젝트를 해결하기를 바랍니다.

관련 정보