Raspberry Pi Python Talkey (TTS) + Cron

Raspberry Pi Python Talkey (TTS) + Cron

我编写了这个 Python 小脚本,用于在 Raspberry Pi 上收听 BBC RSS 热门故事提要

首先,因为我对 3.5 毫米插孔有问题(没有声音),所以我进入

sudo raspi-config

然后在“高级选项”>“音频”中选择“强制 3.5 毫米(‘耳机’)插孔”

(这对我来说总是有效)

所以杰克配置不碍事,让我们看看脚本:

# 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”时我应该声明:export EDITOR=vim 这就是为什么我把它放在我的 ~/.bashrc 文件 vim ~/.bashrc 这包含你的快捷方式可以使用 alias -p #(here in abc sort) 检查现在进入你的主目录

cd ~/ #or
cd

让它用 vim 编辑器编辑

vim .bashrc

按“G”=>您将到达该文件的末尾,然后将其写入如下:“i”(插入模式);比输入这个

alias e='export EDITOR=vim' # activated at the next Terminal session

如果完成,请按“ESC”而不是使用“:wq”保存,输入

在这种情况下,下一个终端会话 (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

希望这能解决你的项目

相关内容