python - Raspberry Pi WiFi radio 脚本问题

标签 python raspberry-pi pandora

我有一个问题,因为我对 Python 了解不多,我很感激其他人的帮助,以帮助我理解我的问题所在。

我正在构建可移植 radio 。 Raspberry Pi 利用 Pianobar 连接到 Pandora 服务器,登录我的帐户,获取我的电台,然后开始播放第一个。

我正在关注 Adafruit 官方指南:https://learn.adafruit.com/pi-wifi-radio/overview

我一直按照指南进行操作,直到 Pianobar 开始工作。我可以从命令行运行“pianobar”。它会在 10 秒内连接并开始播放音乐。

但是,当我启动允许 16x2 LCD 键盘与 pianobar 交互的脚本时,它不起作用。

更具体地说,它完成了脚本的前半部分。 LCD 显示 IP 地址并显示“检索站列表...”。 10 秒后,脚本退出并显示所有这些内容。

pi@pandora ~/Python-WiFi-Radio $ sudo python PiPhi.py

Spawning pianobar...
Receiving station list...
Traceback (most recent call last):
  File "PiPhi.py", line 288, in <module>
    stationList, stationIDs = getStations()
  File "PiPhi.py", line 190, in getStations
    pianobar.expect('Select station: ', timeout=10)
  File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1311, in expect
    return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
  File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1325, in expect_list
    return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
  File "/usr/local/lib/python2.7/dist-packages/pexpect.py", line 1409, in expect_loop
    raise TIMEOUT (str(e) + '\n' + str(self))
pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0xb6b305b0>
version: 2.3 ($Revision: 399 $)
command: /usr/bin/sudo
args: ['/usr/bin/sudo', '-u', 'pi', 'pianobar']
searcher: searcher_re:
    0: re.compile("Select station: ")
TIME: -03:35/03:43
TIME: -03:35/03:43
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 2315
child_fd: 5
closed: False
timeout: 30
delimiter: <class 'pexpect.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1

pi@pandora ~/Python-WiFi-Radio $ 

http://pastebin.com/6Lm3dTwx - 这是我要运行的脚本

根据我的基本知识,它看起来比检索电台列表所花费的时间要长。请帮助我,因为我完全迷路了。谢谢!

最佳答案

我遇到了同样的问题,为了解决技术含量低的问题,我只是在启动脚本中对 google 执行了 10 次 ping 操作。这给了系统足够长的时间来稳定网络连接。

关于python - Raspberry Pi WiFi radio 脚本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437595/

相关文章:

python - 如何覆盖 CsvItemExporter 的 join_multivalued 选项

python - 如何使用优化函数复制 scipy.stats.fit?

python - pyserial - 如果串行设备断开连接,我想收到错误消息

android - android 上是否有用于 pandora 的开发者 api?

python - 如何禁用pylint禁止自用警告?

python - pyGTK 应用程序中的 pyGame

ruby-on-rails - 在 Raspberry Pi Raspbian 上运行的引导 Ruby on Rails 服务器启动

python - Trickle 无法调整我的 Python 脚本的上传带宽

json - 对非官方 Pandora API 进行 JSON 调用