使用启动脚本运行Pi无头

时间:2017-04-19 17:24:39

标签: python raspberry-pi raspbian

我正在尝试运行无头Raspberry Pi,作为声控伺服电机移动器。我有一个Python脚本,可以完成我需要的一切(语音和GPIO控制)。我只需要让它在启动时运行我的skimage。我有一个Raspberry Pi 3,运行Raspbian Jessie。

到目前为止我尝试过的事情:

编辑.py如下:

/etc/rc.local

/usr/bin/python /home/pi/myscript.py 行之前。

我已编辑exit 0

crontab

我也试过

@reboot /usr/bin/python3 /home/pi/myscript.py & 

其中@reboot sh /home/launcher.sh 只是启动Python脚本。

我还能做些什么吗?

修改

我现在换了launcher.sh行看起来像这样:

crontab

并且我的cron日志出现了我以前从未见过的错误,这些错误似乎以麦克风的硬件为中心。

@reboot sh /home/pi/launcher.sh > /home/pi/logs/cronlog 2>&1

请注意,当我这样做时,这些不是错误:

 Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048
 Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719
 Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters,  sampleRate, framesPerBuffer, &inputLatency, &outputLatency,  &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line:   2843
Traceback (most recent call last):
   File "/home/pi/voice_pantilt.py", line 30, in <module>
    stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000,       input=True, frames_per_buffer=1024)
 File "/usr/lib/python2.7/dist-packages/pyaudio.py", line 747, in open
   stream = Stream(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pyaudio.py", line 442, in __init__
 self._stream = pa.open(**arguments)
IOError: [Errno Invalid sample rate] -9997`

1 个答案:

答案 0 :(得分:1)

最近我遇到了一个非常相似的问题,经过大量调试,最后似乎是一个问题,即通过crontab运行时,PyAudio被拒绝访问PulseAudio。

我修复该问题的方法是在命令前加上export DISPLAY=:0 &&

export DISPLAY=:0 && /usr/bin/python /home/pi/myscript.py